/*--------------------------------------------------------------
  >> : Section Badge
--------------------------------------------------------------*/
  /* append .admin-bar to each before launch */
  #AppMain {
    counter-reset: section;
    overflow-x: hidden;
/*    padding-top: 2em;*/
  }

  #AppMain section[data-section] {
    position: relative;
    margin-top: -1px;
  }

  .admin-bar #AppMain section[data-section]:after {
    counter-increment: section;
    content: 'Section: 'counter(section) ' ' attr(data-name);
    position: absolute;
    top: 0;
    left: 0;
    padding: 12px 16px;
    background: #000000;
    color: #ffffff;
    z-index: 98;
    text-transform: capitalize;
    letter-spacing: 0;
    font-size: 14px;
    font-family: system-ui;
    opacity: 0.3;
  }

  #AppMain section[data-section]:hover:after {
/*    opacity: 1;*/
  }

/*--------------------------------------------------------------
  >> : Section Open & Close
--------------------------------------------------------------*/
  section[data-section] {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

/*--------------------------------------------------------------
  >> : Hero
--------------------------------------------------------------*/
  [data-section="video-hero"],
  [data-section="video-hero-single"]  {
    position:relative;
    overflow:hidden;
    padding:0 !important;
  }
  
  .hero-background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index:1;
  }
  
  .hero-background-video video {
    height:100%;
    -o-object-fit:cover;
       object-fit:cover;
  }
  
  [data-section="video-hero"] .row,
  [data-section="video-hero-single"] .row {
    position:relative;
    z-index:2;
  }
  
  [data-section="video-hero"] .row .col,
  [data-section="video-hero-single"] .row .col {
    min-height:80vh;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
    text-align:center;
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
    background: #00000015;
    border-right: 1px solid #ffffff30;
    -webkit-transition:all 500ms ease;
    -o-transition:all 500ms ease;
    transition:all 500ms ease;
  }

  [data-section="video-hero"] .row .col:hover {
    background: #0000001d;
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    -webkit-transition:all 500ms ease;
    -o-transition:all 500ms ease;
    transition:all 500ms ease;
  }

  [data-section="video-hero-single"] .row .col:hover {
    background: #00000015;
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
  }

  [data-section="video-hero-single"] .row .col {
    border-right: 0;
  }

  [data-section="video-hero"] p,
  [data-section="video-hero-single"] p {
    color:#fff; 
  }
  
  [data-section="video-hero"] strong,
  [data-section="video-hero-single"] h1 { 
    font-family:var(--heading-font-family);
    line-height: 1.2em;
    font-size: 4.2em;
    letter-spacing: -0.03em;
    font-weight:400;
    color:#fff; 
    text-rendering: geometricPrecision;
}
[data-section="video-hero-single"] h1 { 
  margin-bottom:20px;
}

[data-section="video-hero"] .col-wrapper,
[data-section="video-hero-single"] .col-wrapper {
  max-height:6em;
  overflow:hidden;
  -webkit-transition:all 800ms ease;
  -o-transition:all 800ms ease;
  transition:all 800ms ease;
}

[data-section="video-hero"] .col:hover .col-wrapper,
[data-section="video-hero-single"] .col:hover .col-wrapper {
  max-height:26em;
  overflow:hidden;
  -webkit-transition:all 800ms ease;
  -o-transition:all 800ms ease;
  transition:all 800ms ease;
}

[data-section="video-hero"] .hero-scroll-down,
[data-section="video-hero-single"] .hero-scroll-down {
  position: absolute;
  left: 50%;
  bottom: 24px;
  z-index: 3;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 0.95em;
  cursor: pointer;
}

[data-section="video-hero"] .hero-scroll-down svg,
[data-section="video-hero-single"] .hero-scroll-down svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

/*--------------------------------------------------------------
  >> : Flexible Gallery
--------------------------------------------------------------*/

[data-section="flexible-gallery"] .flexible-gallery-image {
  aspect-ratio: 4 / 3;
}

[data-section="flexible-gallery"] .flexible-gallery-grid {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

[data-section="flexible-gallery"] .flexible-gallery-image picture,
[data-section="flexible-gallery"] .flexible-gallery-image img {
  width: 100%;
  height: 100%;
}

[data-section="flexible-gallery"] .flexible-gallery-image a {
  display: block;
  width: 100%;
  height: 100%;
}

[data-section="flexible-gallery"] .flexible-gallery-image img {
  -o-object-fit: cover;
     object-fit: cover;
}

[data-section="flexible-gallery"] .slider-flexible-gallery {
  position: relative;
}

[data-section="flexible-gallery"] .slider-flexible-gallery-items {
  margin-bottom: 1.5rem;
}

[data-section="flexible-gallery"] .slider-flexible-gallery-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 44px;
  width: 44px;
  border-radius: 22px;
  border: none;
  background: #fff;
  cursor: pointer;
  -webkit-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

[data-section="flexible-gallery"] .slider-flexible-gallery-arrow.prev {
  left: 20px;
}

[data-section="flexible-gallery"] .slider-flexible-gallery-arrow.next {
  right: 20px;
}

[data-section="flexible-gallery"] .slider-flexible-gallery-arrow:hover {
  background: #000;
}

[data-section="flexible-gallery"] .slider-flexible-gallery-arrow:hover svg {
  fill: #fff;
}

[data-section="flexible-gallery"] .flexible-gallery-dots {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
}

/*--------------------------------------------------------------
  >> : Product Slider
--------------------------------------------------------------*/

ul.products-carousel-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 0;
  list-style: none;
}

ul.products-carousel-dots li button {
  display:block;
  background:#000;
  border:none;
  padding:0px;
  height:8px;
  width:8px;
  font-size:0px;
  border-radius:10px;
  opacity:0.3;
}

ul.products-carousel-dots li button:hover,
ul.products-carousel-dots li.slick-active button {
  opacity:1;
}

.products-carousel-arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  gap: 30px;
  margin-top: 15px;
}

.products-carousel-arrow {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  height:40px;
  width:40px;
  border-radius:20px;
  border:1px solid black;
  cursor:pointer;
  -webkit-transition:all 500ms ease;
  -o-transition:all 500ms ease;
  transition:all 500ms ease;
}

.products-carousel-arrow svg {
  height:20px;
  width:20px;
  -webkit-transition:all 500ms ease;
  -o-transition:all 500ms ease;
  transition:all 500ms ease;
}

.products-carousel-items .slick-list.draggable {
  margin-bottom: 1em;
}

.products-carousel-arrow:hover {
  background:#000;
  -webkit-transition:all 500ms ease;
  -o-transition:all 500ms ease;
  transition:all 500ms ease;
}

.products-carousel-arrow:hover svg {
  fill:#fff;
  -webkit-transition:all 500ms ease;
  -o-transition:all 500ms ease;
  transition:all 500ms ease;
}

/*--------------------------------------------------------------
  >> : Cards
--------------------------------------------------------------*/

.standard-card h3 {
  margin-top:1rem;
  margin-bottom:1rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
  padding-right:10px;
  -webkit-transition:padding 300ms ease;
  -o-transition:padding 300ms ease;
  transition:padding 300ms ease;
}

.standard-card-body {
  padding:0 1rem;
}

.standard-card-body p {
  font-size:1em;
}

.standard-card:hover h3 {
  padding-right:0;
  -webkit-transition:padding 300ms ease;
  -o-transition:padding 300ms ease;
  transition:padding 300ms ease;
}


.standard-card img {
  -webkit-transition:-webkit-transform 300ms ease;
  transition:-webkit-transform 300ms ease;
  -o-transition:transform 300ms ease;
  transition:transform 300ms ease;
  transition:transform 300ms ease, -webkit-transform 300ms ease;
}

.standard-card:hover img {
  -webkit-transform:scale(1.05);
      -ms-transform:scale(1.05);
          transform:scale(1.05);
  -webkit-transition:-webkit-transform 300ms ease;
  transition:-webkit-transform 300ms ease;
  -o-transition:transform 300ms ease;
  transition:transform 300ms ease;
  transition:transform 300ms ease, -webkit-transform 300ms ease;
}

.standard-card > picture {
    aspect-ratio: 1/1;
}

.standard-card > picture img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

@media (max-width: 991.98px) {
  .standard-card-body {
    padding: 0;
  }

}


/*--------------------------------------------------------------
  >> : Logo Carousel
--------------------------------------------------------------*/


[data-section="logos-carousel"] {
  background:#f7f7f7;
}

[data-section="logos-carousel"] .slick-slide img {
  max-height: 50px;
  max-width: 70%;
  height: 50px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  margin: auto;
}

/*--------------------------------------------------------------
  >> : Text Image
--------------------------------------------------------------*/



/*--------------------------------------------------------------
  >> : Lead Text
--------------------------------------------------------------*/

[data-section="lead-text"] p {
  font-family:var(--heading-font-family);
  font-size:1.7em;
}

/*--------------------------------------------------------------
  >> : Timeline
--------------------------------------------------------------*/

.timeline-items {
  padding-left:50px;
  border-left:1px dashed #b8b8b866;
}

.timeline-item {
  margin-bottom:4em;
}

.timeline-item h3 {
  position:relative;
  margin-bottom:15px;
}

.timeline-item h3:before {
  content:'';
  position:absolute;
  display:block;
  height:10px;
  width:10px;
  border-radius:5px;
  background:#000000;
  left:-50px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  top:10px;
}

.timeline-item .sub-title {
  color:#000;
  margin-bottom:5px;
  letter-spacing:0.3em;
  font-variation-settings: "slnt" 0, "wght" 200;
}

[data-bg-color="color-black"] .timeline-item .sub-title {
  color:#fff;
}

[data-bg-color="color-black"] .timeline-item h3:before {
  background:#fff;
}

/*--------------------------------------------------------------
  >> : Project Card
--------------------------------------------------------------*/

.project-loop-info a {
  text-decoration:none; 
}

.project-loop-info a:hover {
  color:#000;
}

.project-loop-info a:hover h3 {
  text-decoration:underline;
}

.project-loop-image img {
  -webkit-transition:all 400ms ease;
  -o-transition:all 400ms ease;
  transition:all 400ms ease;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}

.project-loop-image:hover img {
  -webkit-transform:scale(1.05);
      -ms-transform:scale(1.05);
          transform:scale(1.05);
  -webkit-transition:all 400ms ease;
  -o-transition:all 400ms ease;
  transition:all 400ms ease;
}

.project-loop-info ul.post-terms {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  padding-left:0;
  list-style:none;
  gap:20px;
  margin-bottom:20px;
}

.project-loop-info ul.post-terms a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 6px 8px 4px 8px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background:#EEE;
  border-radius:5px;
  font-variation-settings: "wght" 500;
  -webkit-transition:background 300ms ease;
  -o-transition:background 300ms ease;
  transition:background 300ms ease;
}

.project-loop-info ul.post-terms a:hover {
  background:#e7e7e7;
  -webkit-transition:background 300ms ease;
  -o-transition:background 300ms ease;
  transition:background 300ms ease;
}

.project-loop-info p {
  margin-bottom: 12px;
}


.project-loop-info p {
    display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.project-loop-info h3 {
  margin-bottom:10px;
}

/*--------------------------------------------------------------
  >> : Slim Header
--------------------------------------------------------------*/

[data-section="image-header-slim"] .col-lg-6 {
  position:relative;
}

[data-section="image-header-slim"] .col-lg-6 picture {
  position:absolute;
  top:0;
  left:0;
  border-radius: 0px;
  width: 60vw;
  height:100%;
}

[data-section="image-header-slim"] .col-lg-6 img {
  height:100%;
  width:100%;
  -o-object-fit:cover;
     object-fit:cover;
  -o-object-position:center;
     object-position:center;
}

[data-section="image-header-slim"] .col-lg-5 {
  min-height:600px;
}

/*--------------------------------------------------------------
  >> : Contact Form
--------------------------------------------------------------*/

[data-section="contact-form"] .col-lg-6:nth-child(1) {
  position:relative;
  margin-right:-4rem;
}

[data-section="contact-form"] .col-lg-6:nth-child(1) form {
  position:relative;
  margin:30px 0;
  padding:4rem;
  background:#fff;
  border-radius:5px;
  overflow:hidden;
  -webkit-box-shadow:var(--small-shadow);
          box-shadow:var(--small-shadow);
}

[data-section="contact-form"] .col-lg-6:nth-child(1) form:before {
  content:'';
  height:7px;
  width:100%;
  position:absolute;
  display:block;
  top:0;
  left:0;
  background: -webkit-gradient(linear, left top, right top, from(var(--brand-blue)), to(var(--brand-red)));
  background: -o-linear-gradient(left, var(--brand-blue), var(--brand-red));
  background: linear-gradient(to right, var(--brand-blue), var(--brand-red));
}

[data-section="contact-form"] .col-lg-6:nth-child(2) {
  width:calc(50% + 4rem);
}

[data-section="contact-form"] .col-lg-6:nth-child(2) iframe {
  height:100%;
  width:100%;
}

[data-section="contact-columns"] .col-lg-4 .col-inner {
  height:100%;
  padding:2rem;
  -webkit-box-shadow:var(--small-shadow);
          box-shadow:var(--small-shadow);
  margin:unset !important;
  position:relative;
  overflow:hidden;
  border-radius:5px;
  background: #fff
}


[data-section="contact-columns"] .col-lg-4 .col-inner:before {
  content:'';
  height:7px;
  width:100%;
  position:absolute;
  display:block;
  top:0;
  left:0;
  background: -webkit-gradient(linear, left top, right top, from(var(--brand-blue)), to(var(--brand-red)));
  background: -o-linear-gradient(left, var(--brand-blue), var(--brand-red));
  background: linear-gradient(to right, var(--brand-blue), var(--brand-red));
}

[data-section="contact-columns"] ul.social-icons svg {
  fill: #000;
}

[data-section="contact-form"] #message {
  display:block;
  padding:10px;
  background:#009bd826;
  width:-webkit-fit-content;
  width:-moz-fit-content;
  width:fit-content;
  border:1px solid #009bd861;
  border-radius:10px;
}

/*--------------------------------------------------------------
  >> : Icon Text
--------------------------------------------------------------*/

[data-section="image-text-icons"] .pic-col picture,
[data-section="text-image-icons"] .pic-col picture {
  height:100%;
}

[data-section="image-text-icons"] .pic-col picture img,
[data-section="text-image-icons"] .pic-col picture img{
  height:100%;
  width:100%;
  -o-object-fit:cover;
     object-fit:cover;
  -o-object-position:center;
     object-position:center;
}

.icon-col {
  margin:20px 0;
}
.icon-col picture {
  height:30px;
  width:30px;
  margin-bottom:20px;
}

.icon-col p {
  font-size:1em;
}

.icon-col p strong {
  font-size:1.5em;
  font-family:var(--heading-font-family);
  font-weight:unset;
}

/*--------------------------------------------------------------
  >> : Content List
--------------------------------------------------------------*/

.content-item {
  margin-bottom:3em;
}

.content-item p {
  font-size:1em;
  color:#666;
}

/*--------------------------------------------------------------
  >> : Call to actions
--------------------------------------------------------------*/

[data-section="cta-slim"] .row,
[data-section="cta"] .row {
  padding: 3em;
  border-radius: var(--xsmall-radius);
  background-size: cover;
  background-position: center;
}

[data-section="cta"] .row .col-lg-12 {
  margin-top:1rem
}

/*--------------------------------------------------------------
  >> Logo Grid
--------------------------------------------------------------*/

[data-section="logos-grid"] {
  margin-top:4rem !important;
}

.logos-grid-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.logos-grid-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.logos-grid-item picture {
  width: 150px;
  padding: 10px;
  aspect-ratio: 4 / 2;
}


.logos-grid-item picture img {
  height:100%;
  width:100%;
  -o-object-fit:contain;
     object-fit:contain;
}

/*--------------------------------------------------------------
  >> Reviews
--------------------------------------------------------------*/

.review-content p {
  font-size:1.8em;
  font-family:var(--heading-font-family);
}

.review-meta {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  margin-top:2em;
}

.review-avatar {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  height:80px;
  width:80px;
  border-radius:50px;
  background:#f0f0f0;
  margin-right:30px;
  padding:20px;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  font-size:2em;
  line-height:1em;
  font-family:var(--heading-font-family);
  color:var(--brand-red)
}

.review-author p {
  margin-bottom:0px;
}


/*--------------------------------------------------------------
  >> Team Members
--------------------------------------------------------------*/

[data-section="team-cards"] {
  padding-top: 0px !important;
}

.team-loop-card {
  margin-bottom: 30px;
}

p.team-card-name {
  margin-top: 20px;
  font-size: 1.3em;
  font-family: var(--heading-font-family);
}

.team-loop-card p:not(.team-card-name) {
  font-size:1em;
}