/**
* Template Name: Brutstrap - v1.0 by Visual Craftsman
*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  font-family: "Poppins", sans-serif;
  color: #202122;
  background: #202122;
}
a {
  color: #149ddd;
  text-decoration: none;
}
a:hover {
  color: #37b3ed;
  text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Poppins", sans-serif;
}
.container, .container-lg, .container-md, .container-sm {
  max-width: 100% !important;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/*--------------------------------------------------------------
# Reload or scroll to top
--------------------------------------------------------------*/
.logo {
  text-align: center;
}
.logo a {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'%0Awidth='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpolygon fill='%237f888f' points='208.086,216.046 223.336,204.102 223.336,201.561 208.086,213.506 '/%3E%3Cpolygon fill='%237f888f' points='205.086,218.396 205.086,215.855 192.833,225.454 160.754,215.048 160.754,217.15 193.228,227.686 '/%3E%3Cpolygon fill='%237f888f' points='226.336,201.751 239.076,191.771 239.076,189.231 226.336,199.211 '/%3E%3Cpolygon fill='%237f888f' points='224.337,193.771 209.087,205.717 209.087,208.256 224.337,196.312 '/%3E%3Cpolygon fill='%237f888f' points='227.337,193.961 239.076,184.766 239.076,182.226 227.337,191.421 '/%3E%3Cpolygon fill='%237f888f' points='206.087,210.605 206.087,208.066 192.833,218.448 160.754,208.043 160.754,210.146 193.228,220.68 '/%3E%3Cpolygon fill='%237f888f' points='180.964,192.445 189.494,195.306 191.432,193.794 185.115,191.732 196.025,183.181 202.299,185.269 204.158,183.812 195.628,180.951 '/%3E%3Cpolygon fill='%237f888f' points='160.754,222.055 160.754,224.156 193.228,234.689 239.076,198.777 239.076,196.236 192.833,232.46 '/%3E%3Cpath fill='%237f888f' d='M239.076,176.107l-0.797-0.264l-31.668-10.51l-45.447,35.836l-0.41,0.323v1.634l0.012,0.017l0.797,0.258%0Al31.665,10.271l45.441-35.593l0.407-0.319V176.107L239.076,176.107z M192.833,211.441l-10.602-3.438l24.772-19.417l10.586,3.464%0AL192.833,211.441z M232.082,180.699l-25.471-8.357l-8.156,6.394l2.271,0.761l6.277-4.921l23.186,7.607l-4.401,3.446l-19.177-6.281%0Al-1.896,1.486l2.271,0.762l0.02-0.015l16.889,5.532l-4.408,3.453l-12.873-4.213l-26.672,20.906l-4.028-1.307l10.757-8.432%0Al-2.271-0.761l-10.779,8.448l-4.027-1.307l10.818-8.479l-2.271-0.762l-10.841,8.498l-3.844-1.247l43.552-34.341l29.388,9.753%0AL232.082,180.699z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 225px;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  float: right;
  height: 75px;
  width: 75px;
  margin-top: -10px;
  cursor: pointer;
  outline: none;
}
.logo a:hover {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'%0Awidth='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpolygon fill='%23ffffff' points='208.086,216.046 223.336,204.102 223.336,201.561 208.086,213.506 '/%3E%3Cpolygon fill='%23ffffff' points='205.086,218.396 205.086,215.855 192.833,225.454 160.754,215.048 160.754,217.15 193.228,227.686 '/%3E%3Cpolygon fill='%23ffffff' points='226.336,201.751 239.076,191.771 239.076,189.231 226.336,199.211 '/%3E%3Cpolygon fill='%23ffffff' points='224.337,193.771 209.087,205.717 209.087,208.256 224.337,196.312 '/%3E%3Cpolygon fill='%23ffffff' points='227.337,193.961 239.076,184.766 239.076,182.226 227.337,191.421 '/%3E%3Cpolygon fill='%23ffffff' points='206.087,210.605 206.087,208.066 192.833,218.448 160.754,208.043 160.754,210.146 193.228,220.68 '/%3E%3Cpolygon fill='%23ffffff' points='180.964,192.445 189.494,195.306 191.432,193.794 185.115,191.732 196.025,183.181 202.299,185.269 204.158,183.812 195.628,180.951 '/%3E%3Cpolygon fill='%23ffffff' points='160.754,222.055 160.754,224.156 193.228,234.689 239.076,198.777 239.076,196.236 192.833,232.46 '/%3E%3Cpath fill='%23ffffff' d='M239.076,176.107l-0.797-0.264l-31.668-10.51l-45.447,35.836l-0.41,0.323v1.634l0.012,0.017l0.797,0.258%0Al31.665,10.271l45.441-35.593l0.407-0.319V176.107L239.076,176.107z M192.833,211.441l-10.602-3.438l24.772-19.417l10.586,3.464%0AL192.833,211.441z M232.082,180.699l-25.471-8.357l-8.156,6.394l2.271,0.761l6.277-4.921l23.186,7.607l-4.401,3.446l-19.177-6.281%0Al-1.896,1.486l2.271,0.762l0.02-0.015l16.889,5.532l-4.408,3.453l-12.873-4.213l-26.672,20.906l-4.028-1.307l10.757-8.432%0Al-2.271-0.761l-10.779,8.448l-4.027-1.307l10.818-8.479l-2.271-0.762l-10.841,8.498l-3.844-1.247l43.552-34.341l29.388,9.753%0AL232.082,180.699z'/%3E%3C/g%3E%3C/svg%3E");
}
.reload-or-scroll {
  visibility: visible !important;
  position: relative;
  transition: all 0.4s;
  z-index: 0;
}

/*--------------------------------------------------------------
# General Layout
--------------------------------------------------------------*/
html, body {
  height: 100%;
  margin: 0;
}
body:has(.lightbox:target) {
  overflow-y: hidden; /* disables scrolling beneath lightbox when targeted */
}
body {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px'%0Awidth='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpolygon fill='%23ffffff' points='192.696,193.079 186.378,191.018 196.482,183.097 202.756,185.186 205.415,183.101 195.919,179.917 180.455,192.039 189.95,195.222 '/%3E%3Cpolygon fill='%23ffffff' points='160.703,220.91 160.703,223.906 193.686,234.605 239.713,198.553 239.876,198.426 239.876,194.805 193.123,231.427 '/%3E%3Cpath fill='%23ffffff' d='M160.89,202.951l32.796,10.637l46.19-36.179l-0.001-2.167L206.902,164.3l-46.2,36.429v1.84l0.013,0.166%0AL160.89,202.951z M193.123,210.41l-9.627-3.123l23.966-18.784l9.613,3.146L193.123,210.41z M207.461,167.488l28.419,9.431%0Al-3.507,2.748l-25.471-8.357l-8.957,7.02l3.236,1.084l6.278-4.921l22.213,7.288l-3.595,2.816l-19.178-6.282l-2.695,2.113%0Al3.02,1.012l0.235,0.059l0.001-0.001l15.917,5.214l-3.604,2.822l-12.873-4.213l-26.673,20.906l-3.053-0.99l10.75-8.425%0Al-3.237-1.084l-10.781,8.45l-3.053-0.989l10.81-8.474l-3.235-1.086l-10.843,8.499l-2.872-0.932L207.461,167.488z'/%3E%3Cpolygon fill='%23ffffff' points='224.92,192.509 209.251,204.783 209.251,208.402 224.92,196.128 '/%3E%3Cpolygon fill='%23ffffff' points='227.501,194.107 239.876,184.414 239.876,180.794 227.501,190.487 '/%3E%3Cpolygon fill='%23ffffff' points='206.67,210.423 206.67,206.805 193.123,217.416 160.703,206.9 160.703,209.896 193.686,220.596%0A'/%3E%3Cpolygon fill='%23ffffff' points='208.25,216.191 223.919,203.918 223.919,200.298 208.25,212.572 '/%3E%3Cpolygon fill='%23ffffff' points='205.669,218.213 205.669,214.594 193.123,224.422 160.703,213.904 160.703,216.9 193.686,227.6%0A'/%3E%3Cpolygon fill='%23ffffff' points='226.5,201.896 239.876,191.42 239.876,187.8 226.5,198.277 '/%3E%3C/g%3E%3C/svg%3E");
  background-color: #202122;
  background-size: 7000px;
  background-repeat: no-repeat;
  background-position: -2850px -3250px;
  min-width: 350px;
}
.accordion .card:nth-child(2) .accordion-button, .accordion .card:nth-child(3) .accordion-button {
  margin-top: -.3em;
}
.accordion .card.active:nth-child(2) .accordion-button, .accordion .card.active:nth-child(3) .accordion-button {
  margin-top: 0;
}
.accordion .card .accordion-button strong:first-child {
  text-decoration: underline;
  text-decoration-color: #555a5d;
  transition: .3s;
}
.accordion .card.active .accordion-button strong:first-child {
  text-decoration: underline;
  text-decoration-color: #202122;
  transition: .3s;
}
.accordion .card.active .accordion-button:hover strong:first-child {
  color: #7f888f;
  text-decoration-color: #7f888f;
  transition: .3s;
}
.accordion .card:not(.active) .accordion-button:hover strong:first-child {
  color: #7f888f;
  transition: .3s;
}
.accordion .card {
  background: #fff;
  border-radius: 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}
.accordion .card.active {
  padding-bottom: 1em;
}
.accordion-button, .accordion-button:hover {
  z-index: 0 !important;
}
.accordion .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23202122;stroke:%23202122;stroke-width:0.75;stroke-miterlimit:10;%7D%0A%3C/style%3E%3Cpath class='st0' d='M8.5,4.5v3h3v1h-3v3h-1v-3h-3v-1h3v-3H8.5z'/%3E%3C/svg%3E");
  background-size: 70px;
  background-position: 0 -13px;
  position: absolute;
  right: 0;
  top: 15px;
  width: 70px;
  height: 45px;
  transition: 0.2s cubic-bezier(0, 0, 0, 0);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 100%, 0% 100%, 0% 100%);
}
.accordion .active .accordion-button::after {
  background-size: 70px;
  background-position: 0 -13px;
  position: absolute;
  right: 0;
  top: 15px;
  width: 70px;
  height: 45px;
  clip-path: polygon(0% 41%, 100% 41%, 100% 100%, 100% 57%, 0% 57%, 0% 100%, 0% 100%);
  transform: none !important;
}
@media (-moz-device-pixel-ratio) {
  .accordion .active .accordion-button::after {
    background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' style='enable-background:new 0 0 16 16;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23202122;stroke:%23202122;stroke-width:0.75;stroke-miterlimit:10;%7D%0A%3C/style%3E%3Cpath class='st0' d='M11.5,7.5v1h-7v-1H11.5z'/%3E%3C/svg%3E");
  }
}
.accordion .active .accordion-button {
  background-color: #fff;
  box-shadow: inset 0 .3em 0 0 #fff, inset 0 -.3em 0 0 #fff;
}
.accordion .accordion-button {
  font-family: "Poppins", sans-serif;
  background-color: #555a5d;
  color: #202122;
  font-size: 2em;
  font-weight: bold;
  padding-top: .05em;
  padding-right: 0 !important;
  padding-bottom: .05em;
  padding-left: 15px !important;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: -.02em;
  box-shadow: inset 0 .3em 0 0 #202122, inset 0 -.3em 0 0 #202122;
  transition: none;
}
.accordion .active .accordion-button span::after {
  background-color: #fff;
}
.accordion .accordion-button span::after {
  background-color: #555a5d;
  content: "";
  position: absolute;
  right: 0;
  top: 15px;
  width: 70px;
  height: 45px;
}
.accordion .accordion-button span {
  overflow: hidden;
  white-space: nowrap;
  width: 100%
}
.accordion .accordion-button span, .accordion .accordion-button strong {
  font-weight: bold;
}
.accordion-body {
  background: #fff;
  font-size: .9em;
  height: 100%;
  width: 100vw;
  overflow-y: auto;
}
.accordion:has(.card.active:nth-child(1) > button + div > .accordion-body.scrolled) > .card:not(.active), .accordion:has(button:not(.collapsed) + div > .accordion-body.scrolled) > .card:not(.active) {
  height: 0 !important;
  visibility: hidden;
}
.accordion:has(.card.active:nth-child(3) > button:not(.collapsed) + div > .accordion-body.scrolled) > .card:not(.active), .accordion:has(button.collapsed + div:not(.collapse) > .accordion-body.scrolled) > .card {
  height: 100% !important;
  visibility: visible;
}
.accordion:has(.active .accordion-body.scrolled) .push, .accordion:has(.active .accordion-body.scrolled) + #footer {
  height: 0 !important;
  visibility: hidden;
}
.accordion:has(.active .accordion-body.scrolled) + #footer, .accordion:has(.active .accordion-body.scrolled) + #footer .logo a {
  opacity: 0 !important;
}
.accordion + #footer .logo a {
  opacity: 1;
  transition-duration: .3s;
}
.accordion:has(.active) .push, .accordion + #footer {
  background: #202122;
  opacity: 1;
  transition: all .1s ease;
}

/* Adjust sizes across mobile */
@media screen and (min-width: 1900px) {
  .accordion .accordion-button {
    letter-spacing: calc(1px + (6 - 1) * ((100vw - 300px) / (1900 - 360)));
    -webkit-text-stroke: .03em;
  }
}
@media screen and (min-width: 900px) {
  .accordion .accordion-button {
    font-size: 3em;
  }
}
@media screen and (max-width: 900px) {
  .accordion .accordion-button {
    font-size: 2em;
  }
.accordion .accordion-button span::after {
    top: 10px;
    width: 50px;
    height: 30px;
  }
.accordion .accordion-button::after {
    background-size: 50px;
    background-position: 0 -11px;
    top: 10px;
    width: 50px;
    height: 30px;
  }
.accordion .active .accordion-button::after {
    background-size: 50px;
    background-position: 0 -11px;
    top: 10px;
    width: 50px;
    height: 30px;
    clip-path: polygon(0% 38%, 100% 38%, 100% 100%, 100% 55%, 0% 55%, 0% 100%, 0% 100%);
  }
}
@media screen and (max-width: 400px) {
  .accordion-body {
    padding: 1rem 1rem 0 1rem;
  }
}
/* Remove snap to viewport for small screens */
@media screen and (max-width: 400px), screen and (max-height: 700px) {
  #flush-collapseOne, #flush-collapseTwo, #flush-collapseThree, div.portfolio-container[style] {
    height: auto !important;
  }
}

/* Snap to viewport */
.accordion {
  min-height: 100%;
  display: flex;
  flex-flow: column nowrap;
  margin-bottom: -75px; /* matches footer and push height */
  padding-top: .8em;
  overflow: hidden !important;
}
.card {
  flex: 0 0 auto;
}
.card.active {
  flex: 1 1 100%;
  height: 50vh;
  transition: all .2s ease;
}
.collapse {
  flex: 0 0 auto;
}
.collapse.show {
  flex: 1 0 auto;
}
.collapsing {
  height: 0vh !important; /* remove height of 50vh for smooth collapse */
  transition: all .2s ease-out !important;
}
#flush-collapseOne, #flush-collapseTwo, #flush-collapseThree {
  overflow-y: hidden; /* for accordion-body */
  overflow-x: hidden;
  -webkit-overflow-scrolling: auto;
  height: 50vh;
  padding-top: .5em;
  padding-bottom: .5em;
}

/* Section headers */
section {
  padding-top: 1.2em;
  padding-bottom: 1.2em;
  min-height: 100%;
}
.section-bg {
  background: #f5f8fd;
}
.section-title {
  padding-bottom: 30px;
}
.section-title h2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
  color: #202122;
}
.section-title h2::after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background: #149ddd;
  bottom: 0;
  left: 0;
}
.section-title p {
  margin-bottom: 0;
}

/* Simple-scrollbar - disabled
.ss-wrapper {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 1;
  float: left;
}
.ss-content {
  height: 100%;
  width: calc(100% + 20px);
  padding: 0 0 0 0;
  position: relative;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior-y: auto;
  box-sizing: border-box;
}
.ss-content.rtl {
  width: calc(100% + 18px);
  right: auto;
}
.ss-scroll {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  width: 3px;
  border-radius: 0;
  top: 0;
  z-index: 2;
  cursor: pointer;
  opacity: 0.75;
  transition: opacity 0.25s linear;
}
.ss-hidden {
  display: none;
}
.ss-container:hover .ss-scroll,
.ss-container:active .ss-scroll {
  opacity: 1;
}
.ss-grabbed {
  -o-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
} */

/*--------------------------------------------------------------
# Resume
--------------------------------------------------------------*/
.resume .resume-title {
  font-size: 20px;
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 2em;
  color: #202122;
}
.resume .resume-item {
  padding: 0 0 20px 20px;
  margin-top: -2px;
  border-left: 2px solid #ddd;
  position: relative;
}
.resume .resume-item h4 {
  line-height: 18px;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  color: #202122;
  margin-bottom: 10px;
}
.resume .resume-item h5 {
  font-size: 13px;
  background: #eee;
  padding: 5px 7px;
  display: inline-block;
  font-weight: 600;
  margin-bottom: 10px;
  margin-left: -7px;
  position: relative;
}
.resume .resume-item > span {
  font-size: 13px;
  font-weight: 600;
  margin-left: .3em;
}
.resume .resume-item p {
  margin-bottom: 0;
}
.resume .resume-item ul.techexp {
  padding-top: 0;
}
.resume .resume-item ul {
  padding-left: 0;
  padding-top: 1em;
  list-style: none;
}
.resume .resume-item ul li {
  padding-bottom: 15px;
  line-height: 1.35em;
}
.resume .resume-item ul li span {
  display: inline-block;
  font-weight: 600;
  padding-top: 1em;
}
.resume .resume-item:last-child {
  padding-bottom: 0;
}
.resume .resume-item h5 span::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50px;
  left: -21px;
  top: 6px;
  background: #202122;
  border: 4px solid #fff;
}
.resume .btn.download, .btn.buy {
  background: #149ddd;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  position: relative;
  z-index: 100;
  font-size: 14px;
  font-weight: 600;
  margin-top: 1em;
  padding: 10px 18px;
  transition: 0.4s;
  vertical-align: baseline;
}
.resume .btn.download:hover, .btn.buy:hover {
  background: #37b3ed;
}
.resume .btn.download i, .btn.buy i {
  font-size: 1.1em;
  font-weight: 600;
  vertical-align: baseline;
}
.resume .btn.download:hover i, .btn.buy:hover i {
  animation: fade-down 1.5s infinite linear;
}
.btn.buy {
  margin: 1em auto 1em 1em !important;
}
.btn.buy i {
  margin-top: -2px;
  rotate: -90deg;
  vertical-align: middle;
}
.jottin {
  width: 100%;
}
.jottin span {
  background-image: url("data:image/svg+xml,%3Csvg enable-background='new 0 0 360 360' version='1.1' viewBox='0 0 360 360' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23212121'%3E%3Cpath d='m70.001 280c0-5.414 4.876-12.165 4.542-15.722-0.511-5.441 11.962-6.67 11.962-12.784-4.124-2.419 4.359-15.66-1.501-19.503 0 5.277-0.824 4.262-3 7.504-5.936 0-1.177-6.817 2.436-7.401 0.549-0.088 0.619-15.228-0.75-18.58-0.341-0.836-3.468-6.005-3.915-5.833-0.459 0.176-1.284-13.59-0.875-16.44 0.341-2.379 2.614-0.358 3.046-3.787 0.272-2.154 3.597-0.222 3.288-4.759-0.247-3.625-0.884-4.704 2.774-4.704 0-4.198-1.075-6 3-6v-8.998c6.222 0 0.194-8.49 3.457-9.145 4.559-0.916 0.485-5.146 4.765-5.799-1.672 0.255 3.709-8.796 3.827-6.781-0.467-7.992 14.336 3.719 14.949 3.719 0 4.419 7.127 9.001 11.999 9.001 0.179 4.254 5.427 6.003 9.503 6.003 2.966 0 8.347 4.751 8.497 0.726-0.104 2.822 19.29-2.614 11.308-6.731-5.335-2.752-16.843 3.69-20.305-1.494 1.551-2.692 5.597-1.504 9-1.504 0-5.391 9.201-3.748 12-5.999 2.671-2.182 8.999-4.828 8.999-8.998 3.869 0 6 1.291 6-3 3.144 0 3 0.142 3-3.002 1.261 0 5.587-3.38 6-4.502-0.119 0.301-1.253-0.208-1.499 0 2.138-3.207 2.514-9.165 4.5-10.5 0-3.143-0.143-2.999 3-2.999 1.449-2.501 4.268-1.501 7.503-1.501-1.124-1.291-7.625-4.037-7.552-5.219-0.212-0.769 0.055-1.029 0.8-0.779 1.683 0 0.136-0.59 0.751-1.5 3.841 0 4.393 0.874 6.001-1.499 3.973 0 6.336-1.501 10.498-1.501 1.459-2.204 3.062-0.86 4.499-2.999 4.896 0 5.673 1.237 7.5-1.498 3.854 0 4.395 0.875 6.002-1.502 7.769 0 11.406-1.499 19.498-1.499 1.613-2.807 7.487-1.5 11-1.5 2.048 0.072 4.092 0.018 6.131-0.164 2.979-0.157 1.402 3.495 3.209 3.318 3.45-0.338 1.01 2.081 4.523 3.007 4.596 1.211-2.626 7.333-2.626 7.337-1e-3 2.524 4.088 2.195 3.244 6.77 0.087-0.474 2.861 1.947 3.171 3.228 0.688 2.846 5.847-7.756 5.847 0.501 6.741 0 4.116-2.703 8.927-3.085 4.476-0.356 4.383 6.348 7.575 6.349 1.319 0 4.5-10.049 4.5-11.514 0-7.278 3.001-9.435 3.001-15.75 3.499 1.949 0.708 0.208 2.999 3.001 1.651 2.051 2.963-6.001 5.998-6.001 0-7.272-1.013-8.999 5.999-8.999 0-1.857-1.28-9.007-2.701-9.007 5.226 0 0.147-5.906 4.008-5.975-26.094-31.854-62.935-54.21-103.31-62.405 0 4.989-0.153 9.979 4e-3 14.967 0.132 4.19 3.204 1.949 3.033 8.406-0.145 5.429 0.546 3.584 2.961 6.024 3.793 3.812-3.766 7.527 2.549 8.862 1.632 0.345-5.549 3.88-5.549 6.138 0 6.621 3.099 4.311 3.083 9.41-0.013 4.204 0.799 5.665 3.105 8.409-0.85-1.011 5.484 3.237 3.204 3.237 6.565 0-0.368 9.31-5.077 9.31-8.694 0-16.961 1.028-23.813 5.637-1.332 0-7.505-1.447-7.505 1.5 0 2.608 1.79 7.578-2.731 7.578 0.654 0-2.905-9.078-6.268-9.078-0.098 2.277-6.574 6.001-2e-3 6.001 0 4.729 1.161 4.97-2.999 6v-6c-3.569 0-3.137 0.561-4.499-1.498-2.825 1.413-6.05 0.83-7.499 2.999-1.546-0.752-1.239-1.168-3-1.5 0.281 0.861-0.041 1.478-0.966 1.852-0.346-0.704-0.702-1.402-1.067-2.096-0.901 0.326-1.223 0.906-0.967 1.74-1.583 1.583-1.188-1.554-1.965-1.554-2.459 0-9.024 1.554-13.033 1.554-2.974-5.109-12.394-3-18.001-3-1.381 2.416-4.503 2.249-6.001 4.501-4.079 0-4.749 2.928-7.257 2.928 1.484 0-2.107 2.456-1.742 1.572-1.75 4.322-2.986 9.43-4.503 13.502 0.109-0.297 1.263 0.215 1.5-1e-3 0 6.859-5.171 11.999-11.998 11.999-0.327-0.489-3.166-2.934-3.024-3.729 0.923-5.212-7.108-8.445-8.98-11.27-3.631 0-2.229 0.123-2.847-2.53-0.664-2.853-3.153 1.578-3.153 2.53-8.412 0-9.973 3.001-18 3.001 0-5.165-0.157-10.332 5e-3 -15.497 0.149-4.752 3.979-0.526 3.054-7.088 0.084 0.595-7.318-7.961-1.724-7.495 2.989 0.249 3.104-5.92-1.335-5.92-0.257-6.112-1.5-12.387-1.5-19.502 1.859-2.792 1.499-7.347 1.499-12.293-82.658 70.768-82.656 202.82 0 273.58v-9.293c3.341-1.908 0.077-12.014 2.903-14.76-0.114 0.111 3.1-11.803 3.1-10.74v0zm10.5-63v-1.499c1.889 1.259 2.42 2.848 0 4.502v-3.003 0zm0 7.501c-0.568-2.106 0.084-3.112 1.958-3.02 2.646 1.404 0.112 3.662-0.458 4.521-1.372-0.923-1.018 0.42-1.5-1.501-0.91-3.63 0.067 0.267 0 0zm163.5-160.5c10.692 0 0 13.455 0 0 0.886 0 0 2.189 0 0 2.001 0 0 2.001 0 0zm-105 36.001c5.944 0 8.688-3.001 15.001-3.001 4.222-5.212 11.433 3e-3 14.6 1.496 4.347 2.048-8.257 3.003-8.599 3.003-4.054 0-14.177-2.034-16.501 1.497-2.934 0-3.966-1.59-4.501-2.995 3.819 0 0.16 0.421 0 0zm-27.001 21c-0.846 0.846 6.017-3.06 3.401-3.06 4.441 0 1.49-6.001 3.005-6.001 2.81 0 4.374 7.491 7.095 9.062 1.486-2.584 3.755-1.103 5.997-4.501 6.363 0 1.305 5.766 1.482 6.732 0.553 3.008 7.667 0.169 9.021-0.732 4.124 0.171 3.035 1.94 6.001-2e-3h4.5c0.109-2.594 0.297-10.259 1.412-12.658 1.519-3.269 15.355-4.254 18.089-2.343 2.115 1.484 4.274 6.211 3.676 9.312-0.696 3.615-2.376 14.621-7.935 14.621 1.515 0-2.15 1.982-1.742 1.574-1.573 1.573-2.975 3-5.999 3 0 5.291-5.719 0.953-6.173 3.511-0.187 1.047-5.999 5.613-6.6 5.501-4.894-0.895-3.392 2.512-5.973 3.052-5.191 1.088-11.914-0.062-17.255-0.062 0-4.174-3.001-1.829-3.001-6-4.17 0-1.83-2.998-6-2.998v-6.001c0.597 0 8.937 8.681 9.039 9.776 0.676 7.255 10.639-3.775-0.038-3.775 0-2.815-0.528-2.941 2.622-2.941 4.244 0-3.648-4.073-2.62-3.063-0.971-0.975 1.312-3.176-1.054-3.028-3.379 0.209-3.447 0.326-3.447-2.975-1.486 1e-3 -13.038-0.429-7.503-6.001 0.741-0.741-0.132 0.133 0 0zm-40.499 114c-3.104-0.238-0.239-3.099 0 0zm0-38.999c-2.242 0.131-1.42-1.096-1.5-3.001 1.043 0.702 3.207 1.254 1.5 3.001-2.242 0.131 0.123-0.126 0 0zm4.499 34.502c-3.105-0.239-0.239-3.108 0 0zm1.237-2.924c-0.333 0-0.927-0.284-1.237-0.076 0-0.946-3.986-4.5-1e-3 -4.5 0.299-0.534 0.076-2.927 1.5-1.503-0.018-0.018-2.463 6.079-0.262 6.079-0.334 0 0.113 0 0 0zm-1.237-34.579c0.463 0.312 3.395 3.002 0.75 3.002-1.023-0.754-1.273-1.755-0.75-3.002 1.338 0.899 0.021 0.501 0 0zm0 16.501c1.982 1.962-0.691 3.961-1.501 4.501v-4.5c0.5-0.048 1-0.048 1.501-1e-3 0.484 0.479-0.057-0.059 0 0zm3.001 42c-2.242 0.131-1.42-1.096-1.5-3 1.037 0.68 3.225 1.288 1.5 3-2.242 0.131 0.123-0.122 0 0zm0-7.5c1.25-1.279 1.885-1.325 3-3.002 3.863 2.206-1.499 2.548-1.499 6.002-1.031-0.692-3.228-1.273-1.501-3 0.254-0.26-0.133 0.133 0 0zm0-23.999c-2.242 0.131-1.42-1.097-1.5-3.001 1.04 0.698 3.214 1.26 1.5 3.001-2.242 0.131 0.123-0.125 0 0zm0-10.501c1.134 1.122-1.253 5.88-1.5 0 0.5-0.047 1-0.047 1.5 0 1.134 1.122-0.058-0.059 0 0zm-13.501-76.499c0 2.696-3.119 6.001-5.999 6.001 0-0.197-10.212 15.05-5.75 15.05 0.841 0 2.726 5.975 2.751 5.949-0.084-0.393-3.365 1.429-0.246 1.429-0.641 0 1.797 2.389 1.802 2.304-0.129 2.091 0.424 3.723 1.445 5.268 0 3.143 0.142 2.999-3 2.999v-5.999c-2.83 0-3-0.172-3-3.001 0-5.291-1.25-3.279-2.987-6.423-3.246-5.877 2.987-10.721 2.987-14.578 5.435 0 1.328-5.999 9-5.999 0-3.141-0.145-3 2.997-3 0.758-1.54 0.578-1.602 1.5-3.003 3.352 0 8.807-0.438 10.501-3 12.237 0 0 4.025 0 9.004-7.776 0 0.017 7.062-0.054 8.272-0.073 1.256 3.447 0.467 3.444 3.697-1e-3 1.103-3.408 5.727-4.891 4.535-0.108-1-0.108-2.001 0-3.001-5.903-3.461 0.501-16.504-10.5-16.504 0 0.428 2.373 0 0 0 0 0.064 2 0 0 0zm3.001 95.999c0.239-3.103 3.104-0.238 0 0z'/%3E%3Cpath d='m322 85c1.412 1.41 4.999 3.608 7.989 2.757 3.954-1.125-1.05-17.757-4.99-17.757 0 3.231-6.319 11.667-2.999 15 0.292 0.292-0.196-0.197 0 0z'/%3E%3Cpath d='m319 85c0-6.619-6.617 0 0 0 0-1-0.999 0 0 0z'/%3E%3Cpath d='m323.5 97c-2.777 0-1.566 5.406-1.505 6.987 0.147 3.756 9.724 2.012 12.007 2.012 0 4.291 2.132 3 6.001 3 0 3.142-0.144 3 2.998 3v2.999c4.044 0 1.812-3.039 5.533-2.949-1.565-3.976-3.372-8.113-5.267-12.051-0.25 0-1.913-3.859-1.479-3-5.44 0-15.781 2e-3 -18.288 2e-3 -2.504 0 2.001 0 0 0z'/%3E%3Cpath d='m301 121c-4.29 0-3 2.13-3 5.999 4.241 0 3-3.057 3-5.999-0.884 0 0 2.19 0 0-4.29 0 0 2.001 0 0z'/%3E%3Cpath d='m316 145c-4.153 0-3-2.362-3-5.996-8.763 0-3.616 6.113-3.338 6.08-3.934 0.461-5.66 4.252-5.66 8.916 4.975 0 5.406-5.999 11.999-5.999-0.013-12.612-1e-3 -0.395-1e-3 -3.001-2.456 0 0 1 0 0z'/%3E%3Cpath d='m358.42 150.93c1.105 0-0.221-4.742-0.421-5.825 0 4.107-3 1.712-3 5.89-4.594 0-4.404 6.002-8.998 6.002 0 6.599-12.856 2.154-17.253 2.869-5.369 0.873 2.251 11.174 2.251 12.131h5.998c0 3.166-0.355 2.801 3.004 3.001 0-4.01 2.276-3.492 6.002-3.002 0-4.393 2.998-1.705 2.998-5.999 3.744 0 6-8.494 6-12.003-0.293 0.157 6.125-3.064 3.419-3.064 1.105 0-0.193 0 0 0z'/%3E%3Cpath d='m349 226c-2.047 0-5.934 7.473-5.999 8.997-9.203 0-3.062-5.999-8.999-5.999 0-2.939 1.687-3.575 2.998-5.998-5.736 0-0.32-5.774-5.999-6.003 0-1.069 4.49-8.916 5.029-8.853 3.012 0.355-5.03-7.585-5.03-7.649 0-8.494-6.736-9.841-5.873-3.614 0.71 5.116-8.081-3.889-0.127-3.889 0-5.679 3.345-2.13 0.057-8.498-0.74-1.435-3.748 0.048-3.395-3.002 0.088-0.596-0.3-0.764-1.162-0.504-2.984-0.156-1.503-8.171-1.503-9h-11.997c0-9.045-6-7.107-6-1e-3 -7.485 0-0.366 2.635 1e-3 3.002 4.079 4.066-10.643 2.999-9.001 2.999v-6c5.552 0 3.001-13.517 3.001-18.002 7.264 0 0-10.25 0-3h-6.001c0 5.782 2.868 5.036 3.194 10.692 0.314 5.46-3.678 7.301-3.391 11.812 0.543 8.555-6.077 0.209-8.804-1.503 0 3.922 3.285 6.106 2.952 8.324-0.702 4.687 3.048 2.252 3.048 5.181-0.499 1.498 1e-3 1.997 1.5 1.497 7.966 0-7.501 13.386-7.501 10.502 0.5 1.5 0 2-1.5 1.5-2.725 0-1.009-6.001-7.5-6.001 0-6.997 1.213-4.97-2.997-6.001 0 7.595-3.002 10.445-3.002 18.004 5.06 0 3.437 2.295 1e-3 2.998 0-3.141 0.143-2.998-2.998-2.998 0-2.357-0.525-12.19-4.544-12.263-2.919-0.052 0.057 3.261-2.958 3.261-1.501-0.5-2.001 0-1.501 1.5 0 2.35-0.998 1.5-2.998 1.5 0-3.142-0.144-3 2.998-3 0-3.143 0.145-3.001-2.998-3.001 0-3.144 0.143-3-3.001-3 0-11.773-5.999 1.424-5.999-5.998-3.109 0.535-4.329-0.14-6.001 1.501h-1.498c-1.259-1.61 0.573-0.793-1.5-1.5 0 2.876-0.228 2.997-2.998 2.997-5.348 0-0.985 6.265-4.499 6.265-2.976 0-0.37-4.112-4.5-3.265-3.464 0.711-2.485-2.76-6.002-3.001v12.002c-1.545 0-8.998-1.563-8.998 1.499 0 3.454 3.943 0.305 5.447 1.739 5.355 5.107 0.555 3.964 0.555 8.765 2.479 0 8.998 6.354 8.998 9-2.745 0.113-3.093 3.064-3.369 3.064-3.98 0-2.395-3.22-7.498-2.939-2.555 0.14-2.147-18.125-7.137-18.125 0-6.632-12.455-11.094-17.249-11.872-3.364-0.545 2.241-3.498-3.168-3.011-4.647 0.419-2.678-3.571-6.659-3.317-3.848 0.245-11.923-2.433-11.923-5.802-3.098 0-11.999-2.76-11.999-6-4.482 0-1.219-2.706-6-2.999 0 4.581 3.466 6.211 2.685 9.683-0.945 4.196 3.313 0.737 3.313 5.32-6.416 0-0.367 6.258-3.665 8.682-4.143 3.046-18.913 0.264-24.02 0.249-8.311-0.023-4.847 3.579-11.314 0.064 0 2.248-3.858 6.002-6.001 6.002 0 4.625-13.991 3.643-17.054 3.643-3.8 0-4.25-2.183-6.946-3.645 0 1.228 3.26 12.063 3.382 12.063 7.308 0-1.371 19.385 4.17 19.385 0.028 0.519 0.011 1.037-0.052 1.554 3.291 2.213 1.5 8.09 1.5 12.002 5.702 0 0.459 5.999 4.5 5.999 0.013 0 7.5-4.899 7.5-4.499 0-2.68 8.455-7.502 12.002-7.502 0-1.71 3.859-6.3 5.998-6.117 0.513 0.044 12.203-4.299 12.027-3.659 1.051-3.819 9.507-0.754 8.667-3.857-0.999-3.691 13.385-1.364 15.31-1.364 0-2.713-1.281-14.85-4.5-15.253-1.545-0.193-0.774 5.851-4.612 6.312-2.22 0.267-5.889-3.899-5.889-6.062 4.209 0 3-3.097 3-6 0-3.855 3.476-1.929 2.807-4.729-0.51-2.131 1.812-1.267 2.901-1.267 0.669 0 0.291-8.112 0.291-9.008 4.491 0 9.589 0.228 11.999 3.001 1.201 1.405 2.342 5.78 5.265 5.922 2.825 0.138 9.734 13.257 9.734 15.084h-15v5.999h6v6.002c3.869 0 12-2.39 12 3-2.113 0-18-2.046-18 1.999 0 2.819 0.892 6.052-0.112 8.799-1.188 3.25-2.887-0.165-2.887 4.2-3.143 0-3-0.143-3 3-8.188 0-23.696 4.418-24.001 12.001-2.732 0-8.98-1.83-8.899 2.441 0.065 3.443-12.103-3.38-12.103 3.561 9.38 0 18.533 1.643 25.5-3.001h37.499c0-4.531-3.076-1.264-2.923-5.254 0.064-1.68-4.456-0.5-5.582-1.284-1.407-0.98-0.495-8.797-0.495-9.465 0-10.444 1.64-8.002 12.333-8.002 4.983 0 11.417 2.388 11.668-2.999 4.199 0 5.999-1.075 5.999 3 2.735 0 7.907 3.598 8.985 5.532 1.201 2.156 8.396 7.569 5.913 11.587-2.385 3.861-7.011 3.029-6.026 9.134 0.132 0.818 8.314 6.752 9.13 6.752 0 1.285 1.002 9.133 4e-3 11.07-1.186 2.305-4.195-0.345-5.559 1.018-1.427 1.425 0.76 4.174-0.534 5.468-1.911 1.91-11.477 0.444-13.911 0.444h-32c-3.23 0-1.008 3.268-2.85 3.027-5.701-0.676-11.438-0.028-17.149-0.028-3.824 0-18.056-2.87-14.77 5.287 1.119 2.777 22.359 0.723 25.519 0.722 3.263-1e-3 25.251-1.689 25.251 1.493 0 4.9 12.001-2.601 12.001 4.501h8.999c0 5.313 6.287 3.07 10.498 2.804 4.825-0.307 3.487 3.196 7.505 3.196 0 4.169 2.998 1.83 2.998 6-5.613 0-0.24 5.326-5.606 5.913-1.245 0.137 0.555 2.817-0.792 3.045-4.184 0.708-9.1 0.039-13.334 0.039-6.486 0-8.525 2.172-12.764 2.911-2.641 0.46 1.413 3.091-3.506 3.091-3.28 0-2.866-0.166-3.001 2.999-2.283 0-15.049 4.168-15.006 4.504 0.408 3.178-9.578 1.448-11.921 1.3-4.032-0.257-1.703 3.754-5.858 3.197-4.193-0.562-1.542 1.472-3.96 2.903-2.289 1.354-5.365-1.261-7.605 0.172-3.841 2.456-6.91 5.925-12.007 5.925 50.046 16.483 106.63 9.711 151.38-18.104 22.195-13.796 41.314-32.513 55.636-54.368 7.61-11.613 14.139-24.237 18.696-37.374 2.406-6.936 7.631-16.154-1.357-16.154 0.011 9.728 2e-3 0.748 2e-3 3.001-3.952 0 0-1 0 0zm-102-27.002c-6.619 0 0-6.619 0 0-1 0 0-1.001 0 0zm24 15c-6.615 0 0-6.617 0 0-1 0 0-0.999 0 0zm9-8.998c0 5.545 0.183 5.999-6 5.999 0-3.461 3.218-2.145 3.234-4.5 0.024-3.23-6.234 0.37-6.234-5.503-0.666-1.832-0.167-2.499 1.499-1.999 2.351 0 1.501 0.999 1.501 3 4.245 0 6 1.126 6 3.003v0zm9.001-3.002c-6.619 0 0-6.619 0 0-1.001 0 0-1.001 0 0zm6.001-9.001c-6.622 0 0-6.619 0 0-1.004 0 0-0.998 0 0zm6 3.001c-4.291 0-3-2.132-3-6.001 4.242 0 3 3.059 3 6.001-0.884 0 0-2.188 0 0-4.291 0 0-2 0 0zm0-11.999c-6.619 0 0-6.622 0 0-1.001 0 0-0.999 0 0z'/%3E%3Cpath d='m313 157c0-6.614-12.166 0 0 0 0-0.428-2.371 0 0 0 0-3.226-1.999 0 0 0z'/%3E%3Cpath d='m301 160c3.869 0 6 1.291 6-3-2.942 0-6-1.242-6 3 2.187 0 0-0.883 0 0 3.869 0 0-1.001 0 0z'/%3E%3Cpath d='m310 163c0-2.095 0.717-3.002-1.501-3.002-1.498-0.499-1.997 1e-3 -1.497 1.5 0 2.611 2.882 1.502 2.998 1.502 0-2.095-0.998 0 0 0z'/%3E%3Cpath d='m313 169c0-2.433 3.393-3.369 3.251-4.5-0.754-5.987-12.691 4.5-3.251 4.5 0-2-1 0 0 0z'/%3E%3Cpath d='m241 181c6.619 0 0-6.619 0 0 1.001 0 0-1 0 0z'/%3E%3Cpath d='m256.4 181.06c3.725 0 5.604 1.04 5.604-3.057h-6.002c-0.304 1.083-0.171 2.103 0.398 3.057 3.725 0-0.2 0 0 0z'/%3E%3Cpath d='m253 181c-6.615 0 0 6.621 0 0-0.999 0 0 1 0 0z'/%3E%3Cpath d='m256 187c-6.621 0 0 6.621 0 0-1 0 0 1.002 0 0z'/%3E%3Cpath d='m265 190c-6.615 0 0 6.619 0 0-0.999 0 0 1.002 0 0z'/%3E%3Cpath d='m107.96 261.94c0.109 0-8.083 4.989-7.984 3.856-0.411 4.721-5.706-0.621-5.977 5.2-7.195 0 0.896 11.575-4.499 12.253-2.316 0.291 0.184-8.632-4.5-9.254 0 5.209 3.497 24.054-5.606 24.054-0.256 0-1.082-2.976-3.393-3.053 0-4.742 0.784-0.785 3-3.001 2.462-2.479-4.296-4.224-5.684-2.336-3.651 4.968 2.684 8.139 2.684 11.337 3.869 0 6-1.291 6 3h-3c0-0.209-0.074 2.982 0 3-1.328-0.303-4.585-3.725-4.651-3.699-3.246 1.235-4.35 7.017-4.35 9.7h3c-0.805 1.783-0.305 2.782 1.5 2.999 3.174 0 0.941 3.55 1.341 5.061 0.806 3.044 4.462-5.061 6.159-5.061v-8.999c4.291 0 3-2.131 3-6 4.004 0 4.911-6 9-6 0-4.161-2.437-1.617-3.017-5.278-0.123-0.774 3.251-0.528 3.096-3.761-0.103-2.148 3.917-6.974 5.922-8.964 0.496-0.1 0.996-0.1 1.5 0 2.185 0 2.561-9.746 6.737-8.989-0.388-0.071 8.488-6.065-0.278-6.065-0.887 0 0.361 0 0 0z'/%3E%3Cpath d='m113.96 325.06c-2.514 0-1.854-0.569-1.959-3.062-4.56 3.528-10.562 3.002-18.002 3.002 0 4.08-3.43 5.829-2.992 8.208 0.685 3.729 9.141 5.686 11.992 7.06 0-2.174 3.086-6.197 5.22-6.169 2.098 0.027-0.45-3.044 3.379-3.044 0.458-0.974 0.591-1.993 0.402-3.059 2-0.32 4-0.32 6 0 0-3.469-1.104-2.936-4.04-2.936-2.514 0 0.361 0 0 0z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 90px;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  float: left;
  height: 90px;
  width: 90px;
  margin-right: 15px;
}
.jottin p {
  float: left;
  margin-top: 15px;
  max-width: 60%;
}
@media screen and (min-width: 1745px) {
  #resume {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
  }
  #resume .section-title {
    margin: 0 auto;
    width: 59%;
  }
  #resume .section-title .jottin p {
    max-width: 85%;
  }
  #resume .section-title + .row {
    justify-content: center;
    margin: 0 auto;
    width: 100%;
  }
  #resume .section-title + .row div.col-lg-6 {
    flex: 0;
    min-width: 30%;
  }
  #resume .btn.download {
    font-size: 1.3em;
    margin: 3em auto 0;
  }
}
@media screen and (max-width: 900px) {
  #resume .section-title .jottin p {
    max-width: 100%;
  }
}

/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/
.portfolio .portfolio-container {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  grid-auto-rows: 125px;
  grid-gap: 0.5rem;
  height: auto !important;
  margin: 0 auto;
  padding: 0;
}
.portfolio .portfolio-item {
  box-sizing: border-box;
  margin: 0 !important;
  position: initial !important;
  transform: none !important;
  opacity: 0;
}
.portfolio:has(#portfolio-flters li.filter-active) .portfolio-item {
  opacity: 1;
}
.portfolio:has(#portfolio-flters li:nth-child(4).filter-active) .portfolio-container {
  grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
  grid-auto-rows: 115px;
}
.portfolio:has(#portfolio-flters li:nth-child(4).filter-active) .portfolio-wrap {
  min-width: 115px;
  min-height: 115px;
}
.portfolio > .row {
  margin: 0;
  padding: 0;
  width: 100%;
}
.portfolio > .row > div {
  display: flex;
  margin: 0 auto 35px auto;
  padding: 0;
  max-width: 550px;
}
.portfolio #portfolio-flters {
  background: #fff;
  border-radius: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
.portfolio #portfolio-flters li {
  cursor: pointer;
  display: inline-block;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-transform: uppercase;
  color: #202122;
  transition: all 0.3s ease-in-out;
}
.portfolio #portfolio-flters li:hover, .portfolio #portfolio-flters li.filter-active {
  background: #eee;
  color: #149ddd;
}
.portfolio #portfolio-flters li:nth-child(3) {
  margin-right: 20px;
}
#searchbar .form-inline {
  display: flex;
  align-items: center;
  height: max-content;
}
.portfolio:has(#portfolio-flters li:nth-child(4).filter-active) #searchbar .form-inline input {
  opacity: 1;
  visibility: visible;
  width: 200px;
}
#searchbar .form-inline input  {
  border: 3px solid #ced4da;
  border-radius: 0;
  font-size: 1em;
  height: 34px;
  margin: 0;
  padding-right: 30px;
  padding-left: 8px;
  opacity: 0;
  transition: all .3s ease;
  visibility: hidden;
  width: 0;
}
#searchbar .form-inline input:focus {
  border-color: #7f888f;
  box-shadow: none;
}
#searchbar .form-inline .bi-search::before {
  background-color: #fff;
  display: inline-block;
  font-weight: bold !important;
  margin-left: -32px;
  position: relative;
  text-align: center;
  -webkit-text-stroke: .05em;
  width: 25px;
  z-index: 1;
}
#searchbar .dropdown-menu {
  border-radius: 0;
  font-size: .9em;
  width: 100%;
}
#searchbar .dropdown-menu a {
  font-size: 1.1em;
  line-height: 1.3em;
  padding-top: .6em;
  padding-bottom: .6em;
  white-space: normal !important;
}
#searchbar .dropdown-menu a:hover {
  background: #eee;
}
#searchbar:has(.form-inline input:not(:focus)) .dropdown-menu {
    opacity: 0; /* hides dropdown when not focused in iOS */
}
#searchbar .dropdown-menu span.text-primary {
    color: #1882ce !important;
    text-decoration: underline;
}
#searchbar .dropdown-menu, #searchbar .dropdown-menu a:active, #searchbar .dropdown-menu a:focus {
    background-color: #fff !important;
    color: #202122 !important;
}
.portfolio:has(#portfolio-flters li:not(:last-child).filter-active) #searchbar .form-inline input {
    margin-left: -15px;
}

.portfolio:has(#portfolio-flters li:not(:last-child).filter-active) #searchbar .form-inline input ~ i::before {
    background: transparent !important;
}
.portfolio .portfolio-wrap {
  transition: 0.3s;
  position: relative;
  overflow: hidden;
  min-width: 125px;
  min-height: 125px;
  z-index: auto;
}
.portfolio .portfolio-wrap > a::before {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 8 8' style='enable-background:new 0 0 8 8;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M1,3.1H0.1v-3h3V1H1V3.1z M3.1,7.9h-3v-3H1V7h2.2V7.9z M7,1H4.9V0.1h3v3H7V1z M7.9,7.9h-3V7H7V4.9h0.9V7.9z'/%3E%3C/g%3E%3C/svg%3E");
  background-color: rgba(20, 157, 221, 0.75);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0;
  content: "";
  display: flex;
  justify-content: center;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  transition: all ease-in-out 0.3s;
}
.portfolio .portfolio-wrap > a:hover::before {
  background-size: 25px;
  height: 100%;
  opacity: 1;
  transition: all ease-in-out 0.3s;
}
.portfolio .portfolio-wrap img.thumb {
  width: 200%;
  position: absolute;
}
.portfolio-wrap img.crop-cc {
  top: -33%;
  left: -50%;
}
.portfolio .portfolio-cta-rb {
  background-color: #149ddd;
  height: 100%;
  width: 100%;
  transition: 0.2s all ease;
}
.portfolio .portfolio-cta-rb:hover {
  background-color: #37b3ed;
}
.portfolio .portfolio-cta-rb a {
  background-color: transparent;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  padding: 10px 18px;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-transform: capitalize;
  transition: 0.2s all ease;
}
.portfolio .portfolio-cta-rb a:hover {
  scale: 1.1;
  text-decoration-color: #fff;
}
@media screen and (min-width: 900px) {
  .portfolio .portfolio-container {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-auto-rows: 200px;
  }
  .portfolio .portfolio-wrap {
    min-width: 200px;
    min-height: 200px;
  }
}
@media screen and (max-width: 600px) {
  .portfolio > .row > div {
    flex-direction: column;
  }
  .portfolio #portfolio-flters li:nth-child(4) {
    display: flex;
    flex-direction: row;
    margin-top: .5em;
    width: max-content;
  }
  #searchbar {
    display: flex;
    margin-top: -34px;
    margin-right: 1em;
    margin-left: 54px;
  }
  #searchbar .form-inline {
    width: 100%;
  }
  .portfolio:has(#portfolio-flters li:nth-child(4).filter-active) #searchbar .form-inline input {
     width: 100% !important;
  }
}
/* Hide search cancel button */
input[type="search"]::-webkit-search-cancel-button {
	display: none;
}
/* Prevent zooming on touch devices */
@supports (-webkit-overflow-scrolling: touch) {
  input, select, textarea, .dropdown-item {
    font-size: 16px !important;
  }
}

/* Lightbox */
.lightbox {
  background: rgba(0, 0, 0, 0.8);
  display: none; /* sets the default display to hide the lightbox until it's the :target */
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  touch-action: none; /* disables scrolling beneath lightbox in iOS */
  z-index: 999;
}
.lightbox picture {
  display: flex;
  margin: 0;
  padding: 0;
}
.lightbox img {
  max-width: 100%;
  max-height: 100%;
  text-align: center;
}
.lightbox:target {
  outline: none;
  display: flex; /* display lightbox when link target */
  flex-direction: column;
  justify-content: center;
}
.portfolio-item:has(.lightbox > a.viewed) .portfolio-wrap > a::before {
  background-color: rgba(255, 255, 255, 0.75);
  background-size: 0;
  height: 100%;
  opacity: 1; /* highlight thumb when lightbox is closed */
  transition: all ease-in-out 0.3s;
}
.portfolio-item:has(.lightbox > a.viewed) .portfolio-wrap > a:hover::before {
  background-color: rgba(20, 157, 221, 0.75);
  background-size: 25px;
  transition: all ease-in-out 0.3s;
}
.portfolio-item:has(.lightbox > a.viewed) .portfolio-wrap > a::after {
  background-color: #fff;
  background-image: url('data:image/svg+xml,<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"><polygon points="0,0 100,100 0,100" fill="%23555a5d"/></svg>');
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 30px;
  width: 30px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  transition: all ease-in-out 0.3s;
}
.lightbox-close.border {
  border: none !important;
}
.previous {
  left: 5px;
  top: 45%;
}
.next {
  right: 5px;
  top: 45%;
}
.exit {
  top: 5px;
  right: 5px;
}
.previous, .next, .exit {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  display: flex;
  font-size: 40px;
  justify-content: center;
  align-items: center;
  padding: 5px;
  position: fixed;
  text-decoration: none;
  height: 47px;
  width: 47px;
}
.previous:hover, .next:hover, .exit:hover {
  background-color: rgba(0, 0, 0, 0.4);
}
.previous::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' class='bi bi-chevron-left' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}
.next::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
.exit::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' class='bi bi-x' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
}
.previous::before, .next::before, .exit::before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
}
.exit::before {
  background-size: 27px;
  width: 75px;
  height: 75px;
}
.previous::before, .next::before {
  background-size: 25px;
  width: 75px;
  height: 75px;
}
.description {
  background-color: #202122;
  color: #fff;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  font-family: "Poppins", sans-serif;
  padding: 2em 1.6em;
}
.description h2, .description p, .description a {
  font-weight: normal;
  font-size: 1em;
  margin: 0;
  padding: 0;
}
.description a {
  color: #149ddd;
}
.description:has(span + span) span:first-of-type {
  margin-right: 1.6em;
  margin-left: auto;
}
@media screen and (min-width: 800px) {
  .lightbox img {
    max-width: 800px;
    max-height: 800px;
    margin: 0 auto;
  }
  .description {
    box-sizing: border-box;
    width: 800px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 799.5px) {
  .description {
    flex-direction: column;
  }
  .description .btn.buy {
    margin-left: auto !important;
  }
  .description:has(span + span) span:first-of-type {
    margin-right: auto !important;
  }
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact {
  padding-bottom: 5em;
}
.contact .php-email-form {
  width: 100%;
  padding: 0;
}
.contact .php-email-form .form-control {
  border: 3px solid #ced4da;
}
.contact .php-email-form .form-group {
  padding-bottom: 8px;
}
.contact .php-email-form .validate {
  display: none;
  color: red;
  margin: 0 0 15px 0;
  font-weight: 400;
  font-size: 13px;
}
.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  font-weight: 600;
}
.contact .php-email-form .error-message br + br {
  margin-top: 25px;
}
.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}
.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}
.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}
.contact .php-email-form .form-group {
  margin-bottom: 15px;
}
.contact .php-email-form label {
  padding-bottom: 8px;
}
.contact .php-email-form .form-group input {
  height: 38px;
}
.contact .php-email-form .form-group textarea {
  height: 238px;
}
.contact .php-email-form input:focus, .contact .php-email-form textarea:focus {
  border-color: #7f888f;
}
.contact .php-email-form input, .contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
}
.contact .php-email-form textarea {
  padding: 10px 15px;
}
.contact .php-email-form input[type=submit] {
  background: #149ddd;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 18px;
  transition: 0.4s;
  vertical-align: baseline;
}
.contact .php-email-form input[type=submit]:hover {
  background: #37b3ed;
}
.grecaptcha-badge { 
  visibility: hidden !important;
}
@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media screen and (min-width: 992px) {
  #contact .section-title + .row div.col-lg-7 {
    width: 70%;
  }
}
@media screen and (min-width: 1745px) {
  #contact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
  }
  #contact .section-title {
    margin: 0 auto;
    width: 59%;
  }
  #contact .section-title + .row {
    justify-content: center;
    margin: 0 auto;
    width: 100%;
  }
  #contact .section-title + .row div.col-lg-7 {
    flex: 0;
    min-width: 60%;
  }
  #contact form > div:last-child {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
  }
  #contact form > div:last-child input {
    font-size: 1.3em;
    margin: 1em auto 0;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer, .push {
  height: 75px;
  width: 100%;
}
#footer {
  color: #7f888f;
  font-size: 12px;
  padding-top: 10px;
  padding-left: 18px;
}
#footer .copyright {
  text-align: left;
}
#footer .copyright strong {
  font-weight: normal;
}
#footer .copyright span {
  border-bottom: 2px solid #555a5d;
  padding-bottom: 4px;
  display: inline-block;
  margin-bottom: 4px;
}
#footer .social-links {
  padding-top: 0;
  text-align: left;
}
#footer .social-links span {
  font-size: 12px;
}
#footer .social-links a {
  margin-right: 2px;
  margin-left: 5px;
  font-size: 15px;
  outline: none;
  vertical-align: middle;
}

/*--------------------------------------------------------------
# Page Load Animations
--------------------------------------------------------------*/
/* Preloader */
body:has(#loader) {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}
body:has(#loader.loaded) {
  overflow: unset !important;
  overscroll-behavior: unset !important;
  touch-action: unset !important;
}
#loader.loaded, #overlay.loaded {
  display: none;
}
#loader {
  background-color: #202122;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 115vh; /* for safari mobile */
  width: 100%;
}
#loader .wrapper {
  width: 125px;
  height: 125px;
  margin-top: -15vh; /* for safari mobile */
  position: relative;
}
#loader .wrapper div {
  background-color: transparent;
  background-size: 275px;
  background-repeat: no-repeat;
  background-position: center;
  height: 125px;
  width: 125px;
  position: absolute;
}
#loader div:nth-child(1) {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M237.946,186.783l-31.668-10.51l-45.447,35.836l-0.41,0.323v1.634l0.013,0.017l0.797,0.258l31.664,10.271 l45.441-35.593l0.407-0.319v-1.653L237.946,186.783z M231.749,191.64l-14.493,11.352L192.5,222.382l-10.602-3.438l-2.291-0.745 l-4.027-1.307l-2.293-0.745l-4.027-1.307l-2.294-0.743l-3.844-1.247l43.552-34.341l29.388,9.753L231.749,191.64z'/%3E%3Cpolygon fill='%23FFFFFF' points='180.631,203.385 189.161,206.246 191.1,204.734 184.782,202.672 195.691,194.122 201.966,196.209 203.825,194.752 195.295,191.892 '/%3E%3C/g%3E%3C/svg%3E");
  top: -7px;
  animation: one-up 1.4s ease infinite;
}
#loader div:nth-child(2) {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpolygon fill='%23FFFFFF' points='180.078,199.396 177.807,198.634 166.966,207.132 169.26,207.875 '/%3E%3Cpolygon fill='%23FFFFFF' points='231.749,184.674 206.278,176.316 198.122,182.71 200.394,183.472 206.671,178.551 229.856,186.158 '/%3E%3Cpolygon fill='%23FFFFFF' points='208.754,212.23 224.004,200.287 224.004,197.746 208.754,209.691 '/%3E%3Cpolygon fill='%23FFFFFF' points='227.004,195.396 227.004,197.936 238.743,188.741 238.743,186.201 '/%3E%3Cpolygon fill='%23FFFFFF' points='160.421,212.018 160.421,214.121 192.895,224.654 205.754,214.58 205.754,212.041 192.5,222.423 '/%3E%3C/g%3E%3C/svg%3E");
  top: -2px;
  animation: two-up 1.4s ease infinite;
}
#loader div:nth-child(3) {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpolygon fill='%23FFFFFF' points='186.337,194.53 184.066,193.769 173.287,202.217 175.58,202.962 '/%3E%3Cpolygon fill='%23FFFFFF' points='204.383,177.844 206.653,178.605 206.673,178.591 223.562,184.123 225.455,182.639 206.278,176.358 '/%3E%3Cpolygon fill='%23FFFFFF' points='207.753,213.056 223.003,201.111 223.003,198.57 207.753,210.516 '/%3E%3Cpolygon fill='%23FFFFFF' points='160.421,212.058 160.421,214.16 192.895,224.695 204.753,215.406 204.753,212.865 192.5,222.464 '/%3E%3Cpolygon fill='%23FFFFFF' points='226.003,196.221 226.003,198.761 238.743,188.781 238.743,186.241 '/%3E%3C/g%3E%3C/svg%3E");
  bottom: -3px;
  animation: three-down 1.4s ease infinite;
}
#loader div:nth-child(4) {
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='400px' height='400px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cpolygon fill='%23FFFFFF' points='206.67,178.631 217.256,182.095 219.153,180.61 206.28,176.397 179.607,197.303 181.898,198.048 '/%3E%3Cpolygon fill='%23FFFFFF' points='192.5,222.504 160.421,212.099 160.421,214.2 192.895,224.733 238.743,188.82 238.743,186.279 '/%3E%3C/g%3E%3C/svg%3E%0A");
  bottom: -8px;
  animation: four-down 1.4s ease infinite;
}
@keyframes one-up {
  0%, 40% {
    opacity: 1;
    transform: translateY(0px);
  }
  80% {
    opacity: .2;
    transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes two-up {
  0%, 40% {
    opacity: 1;
    transform: translateY(0px);
  }
  80% {
    opacity: .6;
    transform: translateY(0px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes three-down {
  0%, 40% {
    opacity: 1;
    transform: translateY(0px);
  }
  80% {
    opacity: .6;
    transform: translateY(5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes four-down {
  0%, 40% {
    opacity: 1;
    transform: translateY(0px);
  }
  80% {
    opacity: .2;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

/* Transition overlay after page load */
#overlay {
  background-color: #202122;
  position: absolute;
  top: -100%;
  left: 0;
  overflow: hidden;
  height: 100%;
  width: 100%;
  z-index: 200;
  animation: down-up .5s ease;
}
@keyframes down-up {
  0% {
    opacity: 1;
    transform: translateY(100%);
  }
  50% {
    opacity: 1;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
#overlay.reload {
  animation: reload .5s ease !important;
}
@keyframes reload {
  0% {
    opacity: 1;
    transform: translateY(100%);
  }
  50% {
    opacity: 1;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
.accordion {
  animation: fade-in 2s ease-in;
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}