/*Theme Name: Black Optix Theme V1
Theme URI: Starter Theme - www.215marketing.com
Author: 215 Marketing
Author URI: webmaster@215marketing.com
Version: 1.2
Description: 215 Marketing Base custom coded theme.
*/

/* COLOR VARS FROM THEME OPTIONS
--color_1:  #000;  DEFAULT
--color_2:  #fff;
--color_3: color 1
.
.
.
*/

@font-face {
    font-family: 'Jakarta';
    src: url('fonts/JakartaSans-VariableFont.ttf') format('truetype');
    font-style: normal;
}

@font-face {
    font-family: 'Jakarta Italic';
    src: url('fonts/JakartaSans-italic-VariableFont.ttf') format('truetype');
    font-style: italic;
}

@font-face {
    font-family: 'Gunterz';
    src: url('fonts/Gunterz-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}

.grecaptcha-badge {
  width: 70px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  left: 4px !important;
}
.grecaptcha-badge:hover {
  width: 256px !important;
}


/* Setup from acf variables */
* {
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    box-sizing: border-box;
    /* Opera/IE 8+ */
}

::-moz-selection {
    color: #fff;
    background: #004FA3;
}

::selection {
    color: #fff;
    background: #004FA3;
}

.anchor{display: block; position: relative; top: -190px; visibility: hidden;}


body {
    background: #2D2D2D;
    font-family: "Jakarta", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 26px !important;
    color: #fff;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

body p,
body li {
    font-family: "Jakarta", sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    color: #2D2D2D;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Gunterz", sans-serif;
    line-height: 1.25;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    word-wrap: normal;
    transition: .3s all ease-in-out;
}

h1,
.h1 {
    font-size: 3.25rem;
}

h2,
.h2 {
    font-size: 2.25rem;
}

h3,
.h3 {
    font-size: 1.75rem;
}

h4,
.h4 {
    font-size: 1.5rem;
}

h5,
.h5{
    font-size: 1.25rem;
}

h6,
.h6 {
    font-size: 1rem;
}

.highlight {
    color: #E62525;
}

blockquote{
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: 600;
    padding-left: 1rem;
    border-left: 2px solid #FFCE51;
}


img.lazy {
    opacity: 0;
  }
  img:not(.initial) {
    transition: opacity 1s;
  }
  img.initial,
  img.loaded,
  img.error {
    opacity: 1;
  }

  img:not([src]) {
    visibility: hidden;
  }

@media (min-width: 1200px){
    .col-xl-2\.4{
        flex: 0 0 auto;
        width: 20%;
    }
}

@media (min-width: 992px) {
    .col-lg-2\.4{
        flex: 0 0 auto;
        width: 20%;
    }
}

.flex-wrap-custom{
    display: flex;
    flex-wrap: wrap;
}

.flex-wrap-custom > * {
  flex: 0 0 calc(33.333%);
}

.flex-wrap-custom > *:nth-last-child(1),
.flex-wrap-custom > *:nth-last-child(2) {
  flex: 1 1 auto; /* grow to fill remaining space */
}
.auto-columns .card{
    max-height: 300px;
}

@media (max-width: 575.98px) {
    .auto-columns{
         flex: 0 0 auto;
        width: 100%!important;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .auto-columns{
        flex: 0 0 auto;
        width: 100%!important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .auto-columns{
        flex: 0 0 auto;
        width: 50%!important;
    }
}

/* Hero */

.homepage-hero{
}
.homepage-video-container{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: -1;
}


.homepage-video-container video{
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
}

.hero {
    min-height: 380px;
    padding-top: 90px;
    padding-bottom: 90px;
    position: relative;
}

.hero-basic{
    position: relative;
    min-height: 200px;
    padding-top: 90px;
}
.hero-overlay{
    position: relative;
}

body.home .hero {
    padding-bottom: 150px;
    padding-top: 160px;
    min-height: 650px;
}

.hero:before,
.hero-overlay:before{
    content: '';
    background: rgba(0, 0, 0, .6);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.hero.bg-hero-gradient:before{
    content: '';
    background: linear-gradient( 90deg, rgba(0,0,0,.7) 50%, rgba(0,0,0,0));
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

body.home .hero.homepage:before{
    background: rgba(0,0,0,.60);
}

body.home .hero.homepage h1{
    font-weight: 300;
}
body.home .hero.homepage h1 > span{
    font-weight: 600;
    font-style: italic;
    display: block;
    clear: both;
}
body.home .hero.homepage h1:after{
    display: none;
}

.hero-form{
    background: rgba(83,83,83,.40);
    backdrop-filter: blur(30px);
    color: #fff;
}
.hero-form h2{
    font-size: 1.5rem;
}
.hero-form .notice{ font-size: .9rem;
}

.hero-form .ufg-backed{
    background: #262626;
    font-size: .9rem;
    padding: .5rem;
    margin-top: 8px;
    border-radius: 8px;
}

.hero-form .ufg-backed img{
    padding-right: 10px;
    border-right: 1px solid #fff;
    margin-right: 10px;
}

/* cta forms */
.cta-form{
    background: rgba(83,83,83,.10);
    backdrop-filter: blur(30px);
    color: #fff;
}
.cta-form h2{
    font-size: 1.5rem;
}
.cta-form .notice{ font-size: .9rem;
    color: #fff!important;
}

.cta-form .ufg-backed{
    background: #262626;
    font-size: .9rem;
    padding: .5rem;
    margin-top: 8px;
    border-radius: 8px;
}

.cta-form .ufg-backed img{
    padding-right: 10px;
    border-right: 1px solid #fff;
    margin-right: 10px;
}


.down-triangle {
    position: relative;
    z-index: 10;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%);
    padding-bottom: 100px!important;
}

.up-triangle {
    position: relative;
    z-index: 10;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 90%, 0% 100%);
    padding-bottom: 100px!important;
}

.has-triangle-up,
.has-triangle-down{
    z-index: 0;
    margin-top: -100px;
    padding-top: 140px !important;
    transition: padding .3s ease;
}


.embed-responsive {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* VIDEOS */

.video-cover{
    z-index: 10;
}

.embed-container .play-button {
    width: 100px;
    position: absolute;
    height: 100px;
    left: 50%;
    top: 50%;
    z-index: 100;
    transform: translate(-50%, -50%);
    background: url(/wp-content/themes/black-optix/images/play-btn.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.sub {
    color: #ffce51!important;
    font-weight: 500;
    font-size: 12px !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: transparent;
    padding: 5px 15px 5px 10px;
    border-radius: 0;
    position: relative;
    padding-left: 85px; /*change if width of before is different */
}

.text-dark .sub{
    color: #000!important;
}

.sub:before{
    content: '';
    height: 1px;
    width: 80px;
    background: #FFCE51;
    display: block;
    position: absolute;
    top: 50%;
}

.text-center .sub:before{
    left: 0;
}

.text-dark .sub:before{
    background: #000;
}


.subtitle {
    color: #FFCE51;
    font-weight: 500;
    font-size: 16px !important;
    letter-spacing: 1px;
    background: transparent;
    padding: 5px 15px 5px 0;
    position: relative;
}


select {
    cursor: pointer;
}

.position-md-absolute {
    position: absolute;
}

.subheader{
    background:#F4F4F4;
    padding-top: 10px;
    padding-bottom: 10px;
}

.subheader .nav-item{
    color: #5A5A5A;
    text-decoration: none;
    padding: 0 10px;
    transition: .3s all ease-in-out;
}
.subheader .nav-item:hover{
    color: #000;
}

.header {
    display: block;
    width: 100%;
    margin: 0 auto;
    z-index: 1000;
    background: transparent;
}

body.home .header {
    width: 100%;
    position: absolute;
    display: block;
    margin: 0 auto;
    z-index: 1000;
    transition: .3s all ease-in-out;
}

.header.scrolled {
    background: #525252 !important;
    box-shadow: 0 4px 12px -4px rgba(0, 0, 0, .2);
}

.cta_buttons {

}

.row {
    z-index: 10;
}

/* TEXT COLORS */
.text-white *,
.text-white p {
    color: #fff;
}

.text-yellow *,
.text-yellow p {
    color: #FFCE51;
}

.text-muted *{
    color: #6D6D6D!important;
}

h1 > span,
h2 > span,
h3 > span,
h4 > span{
    color: #E62525!important;
}

.disclaimer p{
    font-size: .8rem;
}

.w-80{
    width: 80%;
    max-width: 700px;
}

/* BACKGROUND COLORS */
.bg-light {
    background: #F4F4F4 !important;
}

.bg-white {
    background: #fff;
}

.bg-dark {
    background: #000;
}

.bg-black {
    background: #282828;
}

.bg-opaque {
    background: rgba(255,255,255,.10) !important;
}

.bg-light-gray {
    background: rgba(0,0,0,.02) !important;
}

.bg-light-yellow {
    background: #feecbe !important;
}

.bg-yellow {
    background: #FFCE51 !important;
}



.bg-blue {
    background: #0577A8 !important;
}

.bg-dark-blue {
    background: #09425E !important;
}


/* BUTTONS */

.btn{
    padding: .5rem 1rem;
}

.btn-yellow {
    background-color: #FFCE51;
    border: 1px solid #FFCE51;
    color: #222222!important;
    border-radius: 8px;
    font-weight: 700;
}

.btn-yellow:hover {
    background: #000;
    color: #fff!important;
    border: 1px solid #000;
}

.btn-yellow-gradient {
    background: linear-gradient(253.58deg, #FFCE51 1.55%, #B58711 66.84%);
      position: relative;
      z-index: 10;
    border: 1px solid #FFDD7A;
    color: #222222!important;
    border-radius: 8px;
    font-weight: 700;
    overflow: hidden;
}

.btn-yellow-gradient:after {
    background: linear-gradient(253.58deg, #B58711 1.55%, #FFCE51 66.84%);
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    z-index: -10;
    transition: opacity 0.5s;
  }

.btn-yellow-gradient:hover:after {
  opacity: 1;
}



.btn-red {
    background-color: #E62525;
    border: 1px solid #E62525;
    color: #fff!important;
    border-radius: 8px;
    font-weight: 700;
}

.btn-red:hover {
    background: #000;
    color: #fff!important;
    border: 2px solid #000;
}

.btn-black {
    background-color: #000;
    border: 1px solid #000;
    color: #fff!important;
    border-radius: 8px;
    font-weight: 700;
}

.btn-black:hover {
    background: #FFCE51;
    color: #222222!important;
    border: 1px solid #FFCE51;
}

.btn-white-outline {
    background-color: transparent;
    border: 1px solid #fff;
    color: #fff!important;
    border-radius: 8px;
    font-weight: 700;
}

.btn-white-outline:hover {
    background: #fff;
    color: #222222!important;
}

.btn-black-outline {
    background-color: #fff;
    border: 2px solid #000;
    color: #222222!important;
    border-radius: 8px;
    font-weight: 700;
}

.btn-black-outline:hover {
    background: #000;
    color: #fff!important;
    border: 2px solid #000;
}

.btn-contact{
    background: #fff;
    position: relative;
    border: 1px solid #fff;
    color: #222222;
    font-weight: 700;
    padding: 1rem 1rem;
    transition: .3s all ease-in-out;
}

.btn-contact:after {
    content: '';
    position: absolute;
    right: 20px;
    top: 27px;
    width: 25px;
    height: 25px;
    display: block;
    background: url('/wp-content/themes/black-optix/images/contact-arrow.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transition: .3s all ease-in-out;
}

.btn-contact:hover{
    background: #FFCE51;
    border: 1px solid #FFCE51;
    color: #222222;
}

.btn-contact:hover:after {
    right: 10px;
    filter: brightness(0);
}

.btn-text {
    color: #222222;
    position: relative;
    text-decoration: none;
    transition: .3s all ease-in-out;
}

.btn-text:after {
    content: '';
    position: absolute;
    right: -15px;
    top: 8px;
    width: 18px;
    height: 18px;
    display: block;
    background: url('/wp-content/themes/black-optix/images/circle-arrow.svg');
    filter: invert(1) brightness(0);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: .3s all ease-in-out;
}

.btn-text:hover{
    color: #222222;
    font-weight: 700;
}

.btn-text:hover:after {
    right: -25px;
    filter: none;
}

.btn-read-more{
    color: #222222;
    position: relative;
    text-decoration: none;
    transition: .3s all ease-in-out;
}

.btn-read-more:hover{
    color: #222222;
    font-weight: 700;
}

.btn-read-more:after {
    content: '';
    position: absolute;
    right: -15px;
    top: 8px;
    width: 18px;
    height: 18px;
    display: block;
    background: url('/wp-content/themes/black-optix/images/circle-arrow.svg');
    filter: invert(1) brightness(0);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: .3s all ease-in-out;
}

.btn-read-more:hover:after {
    right: -25px;
    filter: none;
}

/* Nav */

.logo-header{
    transition: .1s all ease-in-out;
}

.header.scrolled .logo-header{
    height: 30px!important;
}

.nav-link,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: #fff;
    font-weight: 500;
}


.dropdown-item.active, .dropdown-item:active{
    background: transparent;
    color: #000;
}


body.home .header:not(.scrolled) .btn-gather-navy-outline{
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff;
    border-radius: 200px;
}

body.home .header:not(.scrolled) .btn-gather-navy-outline:hover {
    background: #FFCE51;
    color: #fff;
    border: 2px solid #FFCE51;
}

body.home .header .offcanvas .btn-gather-navy-outline{
    background-color: transparent;
    border: 2px solid #000;
    color: #000;
    border-radius: 200px;
}

body.home .header .offcanvas .btn-gather-navy-outline:hover {
    background: #FFCE51;
    color: #fff;
    border: 2px solid #FFCE51;
}


#menu-main > li{
    position: relative;
}

#menu-main > li.menu-item-1536{
    position: unset;
}

.nav-link:hover {
    color: #FFCE51;
}

.offcanvas-logo{
    height: 50px;
    width: auto;
}

.offcanvas #bs4navbar nav{
    width: 100%;
}

#bs4navbar.desktop,
#menu-main.desktop{display: flex;}
#bs4navbar.mobile,
#menu-main.mobile,
.offcanvas{display: none;}
.mobile-menu{display: none;}

.mega-menu .dropdown-menu.depth_0.show{
    display: flex;
}

.mega-menu .dropdown-menu.depth_0.show > .menu-item{
    padding: 0 10px;
    border-right: 1px solid #ddd;
}

.mega-menu .dropdown-menu.depth_0.show > .menu-item:last-child{
    border: 0;
}

.mega-menu .dropdown-menu.depth_0 > .menu-item > .dropdown-item{
    font-weight: 700;
}

.mega-menu .dropdown-menu.depth_0 .dropdown-item:after{
    display: none;
}
.mega-menu .dropdown-menu.depth_0 .dropdown-menu.dropdown-submenu.depth_1{
    position: relative;
    display: block;
    border: 0;
    top: 0;
    margin-top: 0;
}


.dropdown-item.active, .dropdown-item:active{
    background: #000033;
    color: #fff;
}

.at_depth_1 .dropdown-toggle::after{
    display: inline-block;
    margin-left: .55em;
    vertical-align: .055em;
    content: "";
    border-top: .33em solid transparent;
    border-right: 0;
    border-bottom: .33em solid transparent;
    border-left: .33em solid;
}

.menu-item{
    position: relative;
    margin: 0 1rem;
}
.submenu {
    position: absolute;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transform: translatex(-50%);
    background: #fff;
    transition: opacity 0.3s ease-in-out;
    box-shadow: 0 0 20px rgba(0,0,0,.2);
}

.submenu.show{
    opacity: 1;
    visibility: visible;
}

.subgrid{
    display: grid;
    grid-auto-flow: column;
    grid-gap: 1rem; /* spacing between columns */
    width: max-content; /* makes the width fit the content */
    min-width: 100%; /* optional: so it doesn't get smaller than the menu */
}

.submenu.three-column-grid {
    max-height: 75vh;
    padding: 35px;
}

.submenu.four-grid{
    width: 90vw;
}

.submenu-link img{
    transform: scale(1);
    transition: 1s all ease-in-out;
}

.submenu-link .card-img-overlay{
    transition: .3s all ease-in-out;
    background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .9));
}

.submenu-link:hover img{
    transform: scale(1.1);
}

.sub-cards{
    width: 100%;
    max-width: 300px;
    padding: 0 20px ;
    border-right: 1px solid #E3E3E3;
}

.sub-cards:first-child{
    padding-left: 0;
}

.sub-cards:last-child{
    border-right: 0;
    padding-right: 0;
}

.btn-menu{
    width: 100%;
    border: 0;
    text-align: left;
    padding: 0;
}
.btn-menu.dropdown-toggle:after{display: none;}

.sub-cards .h5{
    font-size: 15px;
}



.dropdown-menu.mega-menu-links{
    border: 0;
    position: relative!important;
    display: block!important;
}

.mega-menu-links .link-item{
    margin-bottom: 16px;
}


.mega-menu-links .submenu-link.dropdown-item:focus,
.mega-menu-links .submenu-link.dropdown-item:hover{
    background: transparent!important;
}

.mega-menu-links .link-item:last-child{
    margin-bottom: 0;
}

.mega-menu-links .link-item a{
    font-size: 14px;
    padding: 0;
    cursor: pointer;
    transition: .3s all ease-in-out;
}

.submenu-link{
    color: #000;
}

.submenu-link .link{
    font-weight: 600;
    font-size: 14px;
}

.mega-menu-links .link-item:hover .submenu-link .link{
    color: #C89E44;
}

.cta_buttons .btn{
    transition: .3s all ease-in-out;
}

/* ============ desktop view ============ */
@media all and (min-width: 992px) {
    .navbar .nav-item .dropdown-menu{ display: none; }
    .navbar .nav-item:hover .nav-link{   }
    .navbar .nav-item:hover > .dropdown-menu{ display: block; }
    .navbar .nav-item .dropdown-menu{ margin-top:0; }
}
/* ============ desktop view .end// ============ */

@media screen and (max-width:1200px) {
    .mobile-menu{display: flex!important;}
    .desktop-menu{
        display: none!important;
    }

    .cta_buttons .btn{
        padding: 0.25rem 0.5rem;
        font-size: .875rem;
    }

    #bs4navbar.desktop,
    #menu-main.desktop{display: none!important;}

    #bs4navbar.mobile,
    #menu-main.mobile,
    .offcanvas{display: flex!important;
        background: #000;
    }

    .navbar-collapse {
        position: absolute;
        padding: 20px;
        width: 100%;
        background: rgb(255, 255, 255);
        left: 0px;
        top: 80px;
        text-align: left;
    }

    .navbar-toggler{
        background-color: transparent;
        border: 0;
    }
    .navbar-toggler:focus{
        box-shadow: none;
    }
    #nav-icon {
        width: 30px;
        height: 22px;
        position: relative;
        margin: 0 auto;
        transform: rotate(0deg);
        cursor: pointer;
    }

    #nav-icon span {
        display: block;
        position: absolute;
        height: 3px;
        width: 50%;
        background: #fff;
        opacity: 1;
        transform: rotate(0deg);
        transition: 0.25s ease-in-out;

    }

    .navbar-toggler[aria-expanded="false"] {
        box-shadow: none;
    }

    .navbar-toggler[aria-expanded="false"] #nav-icon {
        transition: .3s all ease-in-out;
        position: relative;
    }

    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(even) {
        left: 50%;
    }

    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(odd) {
        left: 0px;
    }

    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(1),
    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(2) {
        top: 0px;
    }

    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(3),
    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(4) {
        top: 9px;
    }

    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(5),
    .navbar-toggler[aria-expanded="false"] #nav-icon span:nth-child(6) {
        top: 18px;
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon {
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(1),
    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(6) {
        transform: rotate(45deg);
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(2),
    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(5) {
        transform: rotate(-45deg);
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(1) {
        left: 5px;
        top: 7px;
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(2) {
        left: calc(50% - 5px);
        top: 7px;
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(3) {
        left: -50%;
        opacity: 0;
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(4) {
        left: 100%;
        opacity: 0;
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(5) {
        left: 5px;
        top: 12px;
    }

    .navbar-toggler[aria-expanded="true"] #nav-icon span:nth-child(6) {
        left: calc(50% - 5px);
        top: 12px;
    }

    .navbar-nav .nav-item{
        width: 100%;
        text-align: left;
    }

    .navbar-nav .nav-item .nav-link{
        padding-right: 3rem;
        padding-left: 1rem;
    }

    .navbar-nav .nav-item span{
        width: 100%;
        display: block;
        padding: 5px;
    }

    body.home .header:not(.scrolled) .nav-link:hover{
        color: ##0577a8;
    }

    .navbar-nav .nav-item:focus,
    .navbar-nav .nav-item:hover{
        background: #f0f0f0;
    }

    .menu-item{width: 100%}
    .submenu {
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .sub-cards {
        width: 100%;
        max-width: unset;
        padding: 0 20px;
        border-right: 1px solid #E3E3E3;
    }

    /* Show on mobile when class added */
    .menu-item.open > .submenu,
    .submenu.show {
      opacity: 1;
      visibility: visible;
      position: relative;
      transform: translateX(0);
      top: 0!important;
      left: 0!important;
    }
    .submenu.four-grid{
        width: 100%;
        padding: 15px 0;
        box-shadow: none;

        overflow-y: scroll;
        max-height: 40vh;
        overflow-x: hidden;

    }

    .submenu.three-column-grid{
        padding: 15px 0;
        box-shadow: none;
    }

    .mega-menu-links .link-item a{
        border: 1px solid #DCDCDC;
        border-radius: 4px;
        padding: 10px;
        transition: .3s all ease-in-out;
    }

    .submenu-link .link{
        font-size: 16px;
        font-weight: 400;
    }
    .mega-menu-links .submenu-link.dropdown-item:focus, .mega-menu-links .submenu-link.dropdown-item:hover{
        background: #F4F4F4!important;

    }

}

.contained {
    background: #fff;
    border-radius: 0;
    /*overflow: hidden;*/
}

.contained-transparent {
    border-radius: 2.5rem;
}

.contact-contained{
    max-width: 800px;
    margin: 0 auto;
}


/* 50/50 image overlay */
.content-image{position: relative; }


.content-image.clip-image  {
    position: relative;
    display: block;
    overflow: visible; /* let the pseudo-element show if it's slightly larger */
}

.clip-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 2;
    -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}

.clip-image::before {
    content: "";
    position: absolute;
    inset: 0;                /* fill the container */
    z-index: 1;              /* behind the image */
    pointer-events: none;
    -webkit-clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    background: #FFCE51;        /* border color */
    transform-origin: center;
    transform: scale(1.05);  /* slightly bigger so it peeks out as the border */
}


@media (max-width: 991px){
    .clip-image img {
        clip-path: none;
        border-top: 10px solid #FFCE51
    }

    .clip-image::before {
        display: none;
        clip-path: none;
    }
}


/* HOW IT WORKS */
.how-it-works{}
.how-it-works .icon{
    font-size: 14px;
    font-weight: 300;
    background: #FED915;
    text-align: center;
    padding: 5px;
    width: 36px;
    height: 36px;
    aspect-ratio: 1 / 1;
    margin-right: 16px;
}

.card-how-it-works p{
    margin-bottom: 0;
}

/* CARDS */
.card {
    height: 100%;
    background: #fff;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
}

.card-title {
    font-size: 16px;
    font-weight: 600 !important;
    font-style: normal;
    text-transform: capitalize;
    line-height: 1.25;
}

.partner-card img{
    width: 100%;
    max-width: 100px;
}

.meet-staff{}

.meet-staff img{
   min-height: 260px;
   width: 100%;
   object-fit: cover;
}
.basic-card{}

.icon-img{
    width: 50px;
    height: 50px;
}

.icon-stacked-stat{

}

.icon-stacked-stat .card-title {
    font-size: 1.5rem;
    font-family: 'Gunterz', sans-serif;
    line-height: 1.25;
    border-color: rgba(0,0,0,.5)!important;
}

.icon-stacked-stat .card-title small{
    display: block;
    font-size: 16px;
    font-family: 'Jakarta', sans-serif;
}


.sidebyside-card{
    background: #ffffff05;
}

.sidebyside-card.two-column{
    height: auto;
    margin-bottom: 12px;
}
.sidebyside-card.two-column .icon{
    width: 30px;
    height: 30px;
}


.card.text-only .card-content p{
    font-family: 'Gunterz';
    color: #000;
    font-size: 1.5rem;
}

.card-img-overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .4);
}
.card.policy{
    transition: .3s all ease-in-out;
}
.card.policy .icon-img{
    background: #F3F4F6;
    width: 48px;
    height: 48px;
    position: relative;
    margin-bottom: 20px;
    transition: .3s all ease-in-out;

}
.card.policy .icon-img img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
    display: block;
}
.card.policy:hover .icon-img{
    background: #FFCE51;
}

.card.policy:hover{
    box-shadow: 0 0 20px rgba(0,0,0,.1);
}

.card.hover-boxes{
    transition: .3s all ease-in-out;
}

.card.hover-boxes img{
    width: 50px;
    transition: .3s all ease-in-out;
}

.card.hover-boxes h3{
    font-family: "Gunterz", sans-serif;
}

.card.hover-boxes:hover{
    background: #FFCE51!important;
}

.card.hover-boxes:hover h3,
.card.hover-boxes:hover p{
    color: #000!important;
}

.card.hover-boxes:not(.services-hover):hover img{
    filter: invert(1) brightness(0);
}

.hover-boxes {
  position: relative;
  overflow: hidden;
  display: block; /* ensures min-height works */
}

.hover-boxes .card-text-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 15px;
}

.hover-boxes .card-body {
  overflow: hidden;
  display: none;
  opacity: 0;

}

.hover-boxes:hover .card-body {
  flex: unset;
  opacity: 1;
  display: block;

}

.card.hover-boxes.services-hover img{
    width: 100%;
    height: auto;
    object-fit: cover;
}

.card.hover-boxes.services-hover .card-text-wrapper{
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.9));
    transition: .3s background ease-in-out;
}

.card.hover-boxes.services-hover .card-text-wrapper h3{
    color: #fff;
}

.card.hover-boxes.services-hover:hover .card-text-wrapper{
    background: linear-gradient(rgba(255,206,81,0.1), rgba(255,206,81,1) 80%);
}


.card.hover-boxes.services-hover a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.card.hover-boxes.services-hover .hover-more{
    background: #FFCE51;
    padding: 10px;
    border-radius: .5rem;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 1rem;
    right: 1rem;
    opacity: 0;
    transition: .3s all ease-in-out;
}

.card.hover-boxes.services-hover .hover-more:after{
    content: '';
    background: url(/wp-content/themes/black-optix/images/icon-double-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

.card.hover-boxes.services-hover:hover .hover-more{
    opacity: 1;
}

/* CARD SLIDER */
.card-slider{
}
.card-slider .title-area{
    padding-left: 20px;
    border-left: 2px solid #FFCE51;
    min-width: 300px;
}

.card-slider-navigation{
    position: relative;
    display: flex;
    gap: 20px;

}

.card-slider-navigation .swiper-button-next,
.card-slider-navigation .swiper-button-prev {
  opacity: 1;
  transition: opacity 0.5s ease-in-out; /* Add transition */
}

.card-slider-navigation .swiper-button-disabled {
  visibility: hidden; /* Helps prevent interactions when invisible */
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.card-slider-navigation .swiper-button-next,
.card-slider-navigation .swiper-button-prev{
    background: #09425e;
    border-radius: 50px;
    width: 50px;
    height: 50px;
    margin-top: 0;
    /* display: block; */
    left: unset;
    right: unset;
    position: relative;
}

.card-slider .swiper-container:before{
    content: '';
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,1));
    position: absolute;
    top: 0;
    right: 0;
    width: 30%;
    height: 100%;
    display: block;
    z-index: 10;
}
@media (max-width: 768px){
    .card-slider .swiper-container:before{
        background: transparent;
    }
}


.text-only .card h3.card-title{
    font-size: 1.2rem;
    font-weight: 500!important;
}

/* Accordion */

.accordion-item{
    background-color: #272727;
    margin-bottom: 10px;
    border: 0;
    border-radius: 1rem!important;
    overflow: hidden
}
.accordion-button {
    background-color: #272727;
    border: 0;
    color: #fff;
}

.accordion-button .openclose{
    display: inline-block;
    position: relative;
    width: 30px;
    height: 30px;
    border-radius: 0px;
    background: transparent;
}

.accordion-button .openclose:after {
    transition: transform .5s;
    content: '';
    display: block;
    color: #09425E;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url('/wp-content/themes/black-optix/images/chevron-down.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

 .accordion-button[aria-expanded="true"] .openclose{
 }

.accordion-button[aria-expanded="true"] .openclose:after{
    transform: translate(-50%, -50%) rotate(180deg);
    filter: invert(1) brightness(0);
}

.accordion-button::after{
    display: none;
}

.accordion-item h3 .accordion-button {
    font-size: 1rem;
    font-weight: 700;
    color: #000;
}

.location-accordion .accordion-item h3 .accordion-button {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.location-accordion .accordion-item a{
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
}

.accordion-button:hover,
.accordion-button:not(.collapsed) {
    color: #fff!important;
    background-color: #000000;
    box-shadow: none;
}

.accordion-button:hover .openclose{
}


.accordion-button[aria-expanded="true"],
.accordion-collapse{
    background-color: #000;
}

.accordion-collapse .accordion-body p{
    color: #fff;
}

#twoColumnAccordion .accordion-button{
    font-weight: 700;
    display: flex;
    flex-direction: row;
    justify-content: start;
}
#twoColumnAccordion .accordion-button .openclose{
    margin-left: auto;
}
#twoColumnAccordion .accordion-button,
#twoColumnAccordion .accordion-collapse{
    color: #fff;
    transition: .3s all ease-in-out;
}

#twoColumnAccordion .accordion-button[aria-expanded="true"],
#twoColumnAccordion .accordion-collapse{
    background: #FFCE51;
    color: #000;
}

#twoColumnAccordion .accordion-button[aria-expanded="true"] img{
    filter: invert(1) brightness(0);
}

#twoColumnAccordion .accordion-button[aria-expanded="true"],
#twoColumnAccordion .accordion-collapse,
#twoColumnAccordion .accordion-collapse .accordion-body p{
    color: #000!important;
    background: #FFCE51;
}


/* AMENITIES */
.amenity-card{
    background: transparent;
    border: 0;
}

.amenity-card h3{
    width: 80%;
}

.amenity-icon {
    position: relative;
    width: 45px;
    height: 45px;
    padding: 5px;
    border-radius: 30px;
    margin-left: 2px;
    background: tramsparent;
}

.amenity-icon img{
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 30px;
    height: auto;
    transform: translate(-50%, -50%);
}

.amenity-icon img.small{
    width: 20px;
}



/* Testimonials */

.gorilladash-review-carousel-section{
    background: transparent;
}

/* ===== SECTION WRAPPER ===== */
    .gorilladash-review-carousel-section {
        background: #222222;
    }

    /* ===== REVIEW CARD ===== */
    .gorilladash-review-card {
        background: linear-gradient(-74deg, rgba(60, 60, 60, 0.5) 0%, rgba(34, 34, 34, 0.5) 100%);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid #393939;
        opacity: 0.4;
    }

    .gorilladash-review-card.active {
        opacity: 1;
    }

    /* ===== REVIEW TEXT ===== */
    .gorilladash-review-text {
        color: #FFFFFF;
    }

    /* ===== READ MORE LINK ===== */
    .gorilladash-review-read-more {
        color: #99948F;
    }

    .gorilladash-review-read-more:hover {
        color: #E62525;
    }

    /* ===== AUTHOR SECTION ===== */
    .gorilladash-review-avatar {
        border: 1px solid #E62525;
    }

    .gorilladash-review-author-name {
        color: #FFFFFF;
    }

    .gorilladash-review-service-type {
        color: #5A5A5A;
    }

    .gorilladash-carousel-btn {
        border: 1px solid #FFCE51;
        color: #FFCE51;
    }

    /* ===== LOADING STATE ===== */
    .gorilladash-spinner {
        border-top-color: #E62525;
    }

    .gorilladash-review-carousel-loading p {
        color: #CCCCCC;
    }

    /* Tablet (768px - 1024px) */
    @media (max-width: 1024px) {
        .gorilladash-review-author-name {
            color: #FFFFFF;
        }
    }

    /* Mobile (< 768px) */
    @media (max-width: 768px) {
        .gorilladash-review-author-name {
            color: #FFFFFF;
        }
    }

    /* Small Mobile (< 480px) */
    @media (max-width: 480px) {
        .gorilladash-review-author-name {
            color: #FFFFFF;
        }
    }

    /* ===== PRINT STYLES ===== */
    @media print {
        .gorilladash-review-carousel-section {
            background: white;
        }

        .gorilladash-review-carousel-title,
        .gorilladash-review-text,
        .gorilladash-review-author-name {
            color: black;
        }

        .gorilladash-review-card {
            background: #f5f5f5;
            border: 1px solid #ddd;
        }
    }

.testimonial_image{
    width: 64px;
    height: 64px;
    overflow: hidden;
    border-radius: 100px;
    margin-bottom: 20px;
}

.swiper-testimonials{
    padding: 0 0 50px;
}
.swiper-testimonials .swiper-navigation{
    width: 100%;
    display: flex;
    flex-direction: row;
}


.swiper-testimonials .swiper-pagination{}

.swiper-testimonials .swiper-pagination .swiper-pagination-bullet{
    width: 30px;
    height: 5px;
    opacity: 1;
    background: #B7B7B7;
    border-radius: 4px;
}

.swiper-testimonials .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background: #F8DD4A;
    width: 60px;
}

.star-ratings svg {
    width: 20px;
}

.rating-star {
    fill: #F05323
}

.testimonial-card {
    border: 0;
    background: linear-gradient(#333333 40%, #101010);
}

.testimonial-card .card-overlay {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    right: 0;
}

.testimonial-card .card-overlay .play-button {
    position: relative;
    margin: 0 auto;
    margin-bottom: 20px;
    top: 0;
    left: 0;
    transform: none;
}

.testimonials-image img {}

.testimonial-card p{
    font-size: 32px;
    color: #09425E;
    line-height: 1.25;
    font-weight: 500;
}

.swiper-testimonials .testimonial-card p {
    font-size: 16px;

}

.testimonial-navigation{
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.testimonial-navigation .swiper-button-next,
.testimonial-navigation .swiper-button-prev{
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    margin-top: 0;
    width: 40px;
    height: 40px;
    background: #FFCE51;
    border-radius: 50px;
    transition: .3s all ease-in-out;
}

.testimonial-navigation .swiper-button-next:hover,
.testimonial-navigation .swiper-button-prev:hover{
    background: #0577A8;
}

.testimonial-navigation .swiper-button-prev{
    margin-right: 10px;
}

.swiper-button-next:after, .swiper-button-prev:after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
}

.swiper-button-next:after{
    background: url(/wp-content/themes/black-optix/images/arrow-next-white.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.swiper-button-prev:after{
    background: url(/wp-content/themes/black-optix/images/arrow-prev-white.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}


/*TESTIMONIAL SPOTLIGHT */

.spotlight_image{
    border-bottom: 1px solid #D0D0D0;
}
.spotlight-card{
    border: 0;
    background: linear-gradient(#333333 40%, #101010);
}
.spotlight-card .card-text{
    font-size: 2rem;
    line-height: 1.25;
    font-weight: 500;
}

/* Contact form */

.card .card-body .financing-price {
    font-size: 18px;
}

.card .card-body .financing-text {
    font-size: 16px;
}

.card .card-body .financing-price span {
    font-size: 14px;
    font-weight: 400;
    display: block;
}

/* CTA SECTION */
.cta-section{}

.cta-section .contained{
    position: relative;
    min-height: 420px;
}

.cta-section .content-text{
    background: rgba(0,0,0,.8);
    border-left: 7px solid #FFCE51;
}

.cta-section .content-text h2{

}

.cta-form-section .content-text {
    background: #fff;
    color: #000!important;
    border-top: 7px solid #FFCE51;

}

/* blog */
.blog-item-box .blog_img_container{
    width: 100%;
    /*height: 250px;*/
    overflow: hidden;
}
.blog-item-box .card-img-top.lazy{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.blog-category{
    padding:0.375rem 1.25rem;
    color: #fff;
    background: #2C2C2C;
    text-decoration: none;
    margin-right: 8px;
    width: auto;

}
.blog-category.active,
.blog-category:hover{
    color: #000;
    background: #FFCE51;
}

.category-name, .post-date{
    background: transparent;
    padding: 5px 0;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

.featured .category-name,
.featured .post-date{
    padding: 5px 15px;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

.featured .card .card-body h3{
    font-size: 2rem;
}

.single:not(.single-location):not(.single-use-case) img{
    width: auto;
    max-width: 100%;
}

.single img.alignright {float:right; margin:0 0 1em 1em}
.single img.alignleft {float:left; margin:0 1em 1em 0}
.single img.aligncenter {display: block; margin-left: auto; margin-right: auto}

/*USE CASES*/
.case-card{
}

.case-card .card-img{
    width: 30px;
}

.spotlight{
    min-width:200px; max-width:250px; width:100%;
}

/* PAGINATION */
.pagination li a,
.pagination li a:hover,
.pagination li.active a,
.pagination li.disabled {
    color: #5A5A5A;
    text-decoration:none;
}

.pagination li {
    display: inline;
    margin-right: 5px;
}

.pagination li a,
.pagination li a:hover,
.pagination li.active a,
.pagination li.disabled {
    background-color: #F4F4F4;
    border-radius: 3px;
    cursor: pointer;
    padding: 12px;
    padding: 0.75rem;
}

.pagination li.disabled{
    background: transparent;
}

.pagination li a:hover,
.pagination li.active a {
    background-color: #FFCE51;
    color: #000;
    font-weight: 500;
}

.pagination li a:first-child,
.pagination li a:last-child{
    position: relative;
    display: block;
    font-size: 1rem;
    border: 1px solid #dee2e6;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}


/* Footer */

#footer {
    position: relative;
    background-color: #222222;

}

.copyright-group {
    display: flex;
    padding: 1em;
    background: transparent;
    justify-content: space-between;
    border-radius: 8px;
}

#footer .copyright-text.light p {
    color: #fff !important;
}

#footer .social-media-section h3 {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

#footer .footer-quick-links h3{
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

#footer .footer-quick-links ul{
    width: 100%;
}

#footer .footer-quick-links li{
    padding: 0 0 12px 0;
}
#footer .footer-quick-links a {
    color: #fff;

    text-decoration: none;
    font-weight:400;
    transition: .3s all ease-in-out;
}

#footer .footer-quick-links a:hover {
    color: #FFCE51;
}

#footer .copyright-link a {
    color: #FFCE51;
    font-size: 0.875em;
}

#footer .accreditations{}
#footer .accreditations img{
    opacity: .5;
}

.hl-1 {
    content: ' ';
    width: 1px;
    height: 0.875em;
    background: #000;
}

.social-media{
    background: #ffffff05;
    border-radius: 10px;
    padding: 1rem;
    margin: 0 10px 0 0;
}
.social-media:hover{
    background: #ffffff10;
}

.social-media a{
    width: 100%;
    height: 100%;
}

.social-media svg {
    height: 24px;
    margin:0 auto;
    color: #FFCE51;
    fill: #FFCE51;
}

.social-media a:hover svg {
    color: #E62525;
    fill: #E62525;
}

.footer-quick-links {}

.no-shadow {
    box-shadow: unset !important;
}

img.img-rounded {
    border-radius: 1.5em;
}

.gfield_required{margin-left: 5px!important;}

.gform_wrapper .gform_fields {
    row-gap: 20px !important;
    column-gap: 12px !important;
}

.gform_wrapper .gfield input,
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
    border: 0!important;
    background-color: #f0f0f0;
}

select option,
.gform_wrapper .gform_fields .gfield select option{

    color:#000!important;
}

.gform_wrapper .gform_fields .gfield input::-webkit-input-placeholder {
    color: #ffffff !important;
}

input[type=submit]{
    background: linear-gradient(90deg, #FFCE51, #B58711)!important;
    border: 2px solid #FFDD7A!important;
    width: 100%!important;
    color: #000 !important;
    transition: .3s all ease-in-out;
}

input[type=submit]:hover {
    background: linear-gradient(90deg, #333, #000)!important;
    color: #fff !important;
}

.hero-form .gform_wrapper .gfield input,
.hero-form .gform_wrapper .gfield select,
.hero-form .gform_wrapper .gfield textarea {
    border: 0!important;
    background-color: rgba(255,255,255,.1);
    color: #fff;
}

.gfield_consent_description,
.hero-form .gform_wrapper legend,
.hero-form .gform_wrapper label{color: #fff!important;}

.cta-form .gform_wrapper .gfield_required,
.cta-form .gform_wrapper legend,
.cta-form .gform_wrapper label{color: #fff!important;}

.cta-form .gform_wrapper .gfield input,
.cta-form .gform_wrapper .gfield select,
.cta-form .gform_wrapper .gfield textarea {
    border: 0!important;
    background-color: rgba(255,255,255,.1);
    color: #fff;
}

.gform-theme--foundation .ginput_address_city,
.gform-theme--foundation .ginput_address_country,
.gform-theme--foundation .ginput_address_state,
.gform-theme--foundation .ginput_address_zip{
    inline-size: 100%!important;
}

@media (min-width: 1200px){
    .gform-theme--foundation .ginput_address_city,
    .gform-theme--foundation .ginput_address_country,
    .gform-theme--foundation .ginput_address_state,
    .gform-theme--foundation .ginput_address_zip{
        inline-size: 33%!important;
    }
}

/* solution tabs */
.nav-pills .nav-item{
    margin-right: 10px;
}
.nav-pills .nav-link{
    background: #F8F8F8;
    border: 2px solid #F8F8F8;
    color: #000!important;
    font-weight: 400;
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
    background: #FFCE51;
    border: 2px solid #F8F8F8;
    font-weight: 700;
}


/* PRICING TABLE */

.swiper-pricing .swiper-slide {
  height: auto;
}

.price-table{
    box-shadow: 0 0 20px rgba(0,0,0,.1);
    border: 1px solid #fff;
    position: relative;
}

.price-table.popular{
    border: 2px solid #FFCE51;
    background: linear-gradient(45deg, rgba(36, 182, 224, 0) 80%, rgba(36, 182, 224, .3) 100%)
}

.popular-tag{
    position: absolute;
    left: 50%;
    top: -20px;
    transform: translatex(-50%);
    background: #FFCE51;
    color: #fff;
    font-size: 14px;
    border-radius: 50px;
    padding: 5px 20px;
}

.price-table h4{
    font-size: 24px;
}

.price-table .price{
    font-size: 50px;
    font-weight: 600;
}
.price-table .price > span{
    font-size: 20px;
}

.price-table .list-group{
    border: 0;
}

.price-table .list-group .list-group-item{
    border: 0;
    position: relative;
    padding-left: 25px;
}

.price-table .list-group .list-group-item:before{
    content: '';
    position: absolute;
    background: url(/wp-content/themes/black-optix/images/checkmark-green.svg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    left: 0;
    top: 15px;
    width: 15px;
    height: 15px;
    display: block;
}

/* EVENTS */

/* REGIONAL */
.regional_gallery{}
.regional_gallery .image-container{
    overflow: hidden;
    height: 100%;
    width: 100%;
    max-height: 330px;
}

.regional_gallery .image-container img{
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;

}

/* LOCATIONS GENERAL*/

.location-card-phone a, a.gorilladash-store-card-phone{
    color: #ffce51!important;
}

.badge.comingsoon{
    font-size: 14px;
    color: #000!important;
}

.badge.closed{
    font-size: 14px;
    color: #fff!important;
}


.location-overview .location-cards .col-12:last-child{
    margin-bottom: 0!important;
}

.location-cards .location-card h3.card-title{
    font-size: 3rem;
}

.location-cards .location-card h3.card-title span{
    font-size: 1.1rem;
    color: #000!important;
}

/* LOCATION PAGE */
input#locationSearch {
    background: #fff;
    border: none;
    padding: 1em !important;
    color: #000;
    font-weight: 600;
    padding-left: 2.5em !important;
    border-radius: 50px;
}
.search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    width: 30px;
    border-radius: 50px;
    background: translate;
}

/* form only for solutions */
#locationsFormList{
    overflow-y: hidden;
    opacity: 0;
    height: 0;
    transition: all .3s ease-in-out;
}


#locationsFormList.visible {
  opacity: 1;
  overflow-y: scroll;
  height: 50vh; /* or 400px if you prefer */
}
/* end form only for solutions */

#locationsList{
    height: 50vh !important;
    min-height: 500px;
    overflow-y: scroll;
}

.location-list-card{
    background: transparent!important;
}

.location-list-card .location_image {
    overflow: hidden;
    display: block;
    height: 100%;
    max-height: 230px;
}

.location-list-card .location_image img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 0;
}

#MapAreaLocations {
    width: 100%;
    height: 50vh !important;
    min-height: 500px;
}


.locationPin {
  align-items: center;
  background-color: transparent;
  border-radius: 50%;
  color: #263238;
  display: flex;
  font-size: 14px;
  gap: 15px;
  height: 60px;
  justify-content: center;
  padding: 4px;
  position: relative;
  transition: all 0.3s ease-out;
  width: 30px;
}

.locationPin .icon {
  align-items: center;
  display: flex;
  justify-content: center;
  color: #FFFFFF;
}

.locationPin .icon img {
  height: 50px;
  width: auto;
}

.locationPin .details {
  display: none;
  flex-direction: column;
  flex: 1;
}

.locationPin .address {
  color: #9E9E9E;
  font-size: 10px;
  margin-bottom: 10px;
  margin-top: 5px;
}


/*
 * Property styles in highlighted state.
 */
.locationPin.highlight {
  background-color: #FFFFFF;
  border-radius: 8px;
  height: 200px;
  padding: 8px 15px;
  width: auto;
}

.locationPin.highlight::after {
  border-top: 9px solid #FFFFFF;
}

.locationPin.highlight .details {
  display: flex;
}

.locationPin.highlight .icon{
    display: none;
}

.locationPin.highlight .icon img {
  width: 50px;
  height: 50px;
}




body.single-location #MapAreaLocations{
    height: 300px!important;
}

#locationsList .content-image{
    overflow: hidden;
}

#locationsList .content-image a{
    display: block;
    width: 100%;
    height: 100%;
}

#locationsList a{
    text-decoration: none;
}
#locationsList a h3{
    text-decoration: none;
    color: #fff;
    font-size: 22px;
}

#locationsList .content-image a img{
    object-fit: cover;
    height: 100%;
    width: 100%;
}

#AllLocationsList{
}

h1.gorilladash-all-locations-title,
#AllLocationsList h1{
    font-size: 40px!important;
    transform: none!important;
}

#locationContent h2{
    font-size: 30px;
    padding-left: 10px;
    border-left: 2px solid #FFCE51;
}

#locationContent .location-card .content-image{
    overflow: hidden;
}

#locationContent .location-card .content-image img{
    transition: 1s all ease-in-out;
    max-height: 220px;
    width: 100%;
    object-fit: cover;
}

#locationContent .location-card:hover .content-image img{
    transform: scale(1.1);
}

#locationContent .location-card h3{
    font-size: 18px;
    line-height: 1;
}
#locationContent .location-card h3 a{
    color: #000;
    text-decoration: none;
    transition: .3s all ease-in-out;
}

#locationContent .location-card h3 a:hover{
    color: #09425E;
}

/* LOCATION MICROSITES */

.breadcrumbs-area,
.breadcrumbs-area a{
    font-size: 16px;
    color: #454545;
    text-decoration: none;
}

.location-meta{}

.location-meta > div{
    border-right: 1px solid #f0f0f0;
}

.location-meta > div:last-child{
    border: 0;
}

.location-contact-info .contact-text a{
    color: #fff;
}

.location-contact-buttons .phone{
    position: relative;
    padding-left: 30px;
    transition: .3s all ease-in-out;
    color: #fff;
}

@media screen and (max-width: 1390px){
    .location-contact-buttons .phone{
        position: relative;
        padding-left: 25px;
    }
    .location-contact-buttons .phone span{
        display: none;
    }
}

.location-contact-buttons .phone:before{
    content: '';
    background: url(/wp-content/themes/black-optix/images/icon-phone.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: .1s all ease-in-out;
}

.location-contact-buttons .phone:hover:before{
    filter: brightness(1000);
}

.location-gallery{
    position: relative;
}

.location-gallery .view-photos{
    /*position: absolute;
    bottom: 70px;
    right: 40px;
    width: 170px;*/
    position: relative;
    width: 170px;

}

.swiperGallery .swiper-button-next,
.swiperGallery .swiper-button-prev{
    background: rgba(255, 255, 255, .3);
    padding: 20px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    border: 1px solid #fff;
}

.swiperGalleryThumb .swiper-slide{
    overflow: hidden;
    height: 100px;
}
.gallery-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiperGallery .swiper-slide{
    overflow: hidden;
    height: 600px;
}

.gallery-image-thumb{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper.gallery .swiper-button-next,
.swiper.gallery .swiper-button-prev{
    background: #FFCE51;
    border-radius: 50px;
    width: 50px;
    height: 50px;
}

.location-gallery,
.location-gallery-small{
    max-height: 460px;
    overflow: hidden;
    height: 100%;
}
.location-gallery .content-image{
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 0;
}

.location-gallery .content-image img{
    object-fit: cover;
    object-position: center;
    width: 100%!important;
    height: 100%;
}

.location-gallery-small > .col-12{
    height: calc(100% / 2);
    overflow: hidden;
}
.location-gallery-small .content-image{
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.location-meet-team .content-image{
    width: 100%;
    height: 110px;
    overflow: hidden;
    border-radius: 1rem;
    max-width: 150px;
}

.location-meet-team .content-image img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}


.location-about{
    background: url(/wp-content/uploads/2025/12/textured-bg1.png) #E62525;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.location-cta-form{
    background: url(/wp-content/uploads/2025/12/textured-bg2.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.location-cta-form .cta-form{
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(15px);
    color: #fff;
}


.location-section{}

.location-pin{
    display: block;
    width: 20px;
    height: 20px;
    background: url(/wp-content/themes/black-optix/images/location-pin.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
}

#MapAreaLocations{
    height: 300px;
}


.benefits .card img{
    width: 48px;
    height: 48px;
}

.focus{}
.focus .card-focus{
    border: 0;
    border-left: 3px solid #FED915;
}

.quick-amenity {
    background-color: #F0FCFF;
    padding: 4px 10px;
    font-size: 14px;
}


.location-link{
    color: #5A5A5A;
    text-decoration: none;
}
.location-link:hover{
    color: #0577A8;
}

#ContactFormArea .floating-contact{
    border: 1px solid #dee2e6;
    border-radius: 0;
    background: #F9F9F9;
}

#ContactFormArea .floating-contact.sticky-top{
    top: 12em;
    z-index: 10;


}


/* EVENTS */

.event-card{}

.event-card .card-body h3{
    line-height: 1;
}
.event-card .card-body h3 a{
    font-size: 1.1rem;
    font-weight: 700;
    color: #000;
    text-decoration: none;
}


/* SOLUTIONS */
@media (min-width: 1200px){
    .service-grid .col-xl-auto{
        flex: 1 1 auto;
        width: 50%;
    }

    .service-grid .col-xl-auto:nth-child(3),
    .service-grid .col-xl-auto:nth-child(4),
    .service-grid .col-xl-auto:nth-child(5){
        flex: 1 1 auto;
        width: 33%;
    }
}

@media (min-width: 768px) and (max-width: 1200px){
    .service-grid .col-lg-auto{
        flex: 1 1 auto;
        width: 50%;
    }

    .service-grid .col-lg-auto:nth-child(3),
    .service-grid .col-lg-auto:nth-child(4),
    .service-grid .col-lg-auto:nth-child(5){
        flex: 1 1 auto;
        width: 33%;
    }
}

.solution-nav{}

.solution-nav.solution-nav.nav-pills .nav-link{
    background: transparent;
}
.solution-nav.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
    background: #FFCE51;
    color: #000;
}

.service-gallery-swiper{}

.service-gallery-swiper .swiper-slide{
    height: 200px;
    overflow: hidden;
}

.solution-card{}

.solution-card .content-image{
    overflow: hidden;
    position: relative;
    height: 50%;
    max-height: 160px;
}

.solution-card .content-image img{
    width: 100%!important;
    height: 100%;
    object-fit: cover;
}

.solution-card h3.card-title{
    font-size: 24px;
}

.solution-card .pricing{
    font-size: 14px;
}
.solution-card .pricing > div{
    font-size: 18px;
    font-weight: 700;
    color: #09425E;
}

.solution-card .solution-buttons{}
.solution-card .solution-buttons .btn{
    margin-bottom: 10px;
}



/*THANK YOU */
.process-numbered-list {
    position: relative;
    padding-left: 40px
}

.process-numbered-list h3 {
    font-size: 18px
}

.process-numbered-list:before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(255,228,174,1);
    position: absolute;
    left: 0;
    background-color: #ffe4ae;
    top: 18px
}

.process-numbered-list .step {
    font-size: 18px
}



/*GORILLA DASH CHANGES */
.custom_all_locations .location-card-image {
    max-width: 121px;
    flex-shrink: unset!important;
    width: calc(100% - 160px)!important;
}

.custom_all_locations .location-card-opening-text{
    font-weight: 700;
    line-height: 1;
    font-size: .9rem!important;
    color: #ffce51!important;
}

.location-card-name{
    font-size: clamp(16px, 1.5vw, 20px )!important;
}

.gorilladash-store-card-address,
.gorilladash-store-card-phone,
.gorilladash-store-card-hours,
.location-card-address,
.location-card-phone,
.location-card-hours{
    font-size: 1rem!important;
}


@media (max-width: 991px){
    .custom_all_locations .location-card-header {
        flex-direction: column;
    }
    .custom_all_locations .location-card-image {
        order: 1 !important;
        max-width: 100%;
        flex-shrink: unset!important;
        width: calc(100% - 20px)!important;

    }
    .custom_all_locations .location-name-container{
        order:  2!important;
    }
    
}


/* ALL MOBILE DEVICES */

@media (max-width: 575px) {

    .position-md-absolute {
        position: relative;
    }

    #AllLocationsList h1,
    .hero h1,
    h1,
    .h1 {
        font-size: 2rem;
    }

    .single h1{
        font-size: 1.75rem;
    }

    h2,
    .h2 {
        font-size: 1.75rem;
    }

    h3,
    .h3 {
        font-size: 1.5rem;
    }

    h4,
    .h4 {
        font-size: 1.25rem;
    }

    h5,
    .h5{
        font-size: 1.1rem;
    }

    h6,
    .h6 {
        font-size: 1rem;
    }


    .sub {
        padding-left: 25px; /*change if width of before is different */
    }

    .sub:before {
        width: 20px;
        top: 50%;
    }

    .location-accordion .accordion-item h3 .accordion-button{
        font-size: 1.25rem;
    }

    body.home .hero.homepage{
        min-height: 500px;
    }

    #footer .quick-link {
        justify-content: center !important;

    }

    #footer .quick-link ul {
        flex-direction: column;

    }

    .copyright-group {
        text-align: center;
    }

    #footer .social-media-links {
        text-align: center !important;
        padding: 10px;
    }

}

@media (max-width: 768px){
    .spotlight{
        min-width:100%; max-width:100%; width:100%;
    }

    .spotlight_image{
        width: 100px;
        border-bottom: 0;
    }

    .spotlight_text{
        margin-top: 0!important;
        margin-left: 20px;
        padding-top: 0!important;
    }

    .spotlight-card .card-text{
        font-size: 1.5rem;
        line-height: 1.25;
        font-weight: 500;
    }
}

/* TABLET DEVICES */

@media (min-width: 575px) and (max-width: 768px) {
    #AllLocationsList h1,
    .hero h1,
    h1,
    .h1 {
        font-size: 2rem;
    }

    h2,
    .h2 {
        font-size: 1.75rem;
    }

    h3,
    .h3 {
        font-size: 1.5rem;
    }

    h4,
    .h4 {
        font-size: 1.25rem;
    }

    h5,
    .h5{
        font-size: 1.1rem;
    }

    h6,
    .h6 {
        font-size: 1rem;
    }

    .location-accordion .accordion-item h3 .accordion-button{
        font-size: 1.25rem;
    }

    body.home .hero.homepage{
        min-height: 500px;
    }

    .position-md-absolute {
        position: relative;
    }
}

/*SMALL LAPTOPS AND UP*/

@media (min-width: 992px) {
}


/* TABLETS AND SMALLER LAPTOPS */

@media (min-width: 769px) and (max-width: 1024px) {
    #AllLocationsList h1,
    .hero h1,
    h1,
    .h1 {
        font-size: 2.5rem;
    }

    h2,
    .h2 {
        font-size: 2rem;
    }

    h3,
    .h3 {
        font-size: 1.75rem;
    }

    h4,
    .h4 {
        font-size: 1.5rem;
    }

    h5,
    .h5{
        font-size: 1.25rem;
    }

    h6,
    .h6 {
        font-size: 1rem;
    }
    .location-accordion .accordion-item h3 .accordion-button{
        font-size: 1.25rem;
    }

    body.home .hero.homepage{
        min-height: 500px;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    .section-margin-bottom {
        margin-bottom: 1em !important;
    }

    .empty-card-img {
        height: 100%;
        margin-top: 2em;
    }
}

@media (min-width: 769px) and (max-width: 1200px) {
}

/* Bigger Laptops */

@media (min-width: 1025px) and (max-width: 1366px) {
}


@media (min-width: 992px) and (max-width: 1300px) {
    .homepage-hero {
        padding-top: 6.125rem;
        padding-bottom: 3.125em;
    }
}

/* MEDIUM Laptops and zoomed in screens */

@media (min-width: 1440px) {}


@media (max-width: 1200px) {
}

@media (min-width: 1920px) {
    .container-fluid>.row {
        max-width: 1920px;
        margin: 0 auto;
    }
}


@media (max-height: 950px) {
  .disable-sticky {
    position: static !important;
    top: auto !important;
  }
}
