/*Theme Name: Onyx Bridge Base 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
.
.
.
*/


/* Setup from acf variables */

@font-face {
    font-family: 'Glacial Indifference';
    src: url('font/GlacialIndifference-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Glacial Indifference';
    src: url('font/GlacialIndifference-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}



* {
    -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;
}

body {
    font-family: "Glacial Indifference", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5 !important;
    color: #4B4B4B;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

body p {
    font-family: "Glacial Indifference", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    color: #4B4B4B;
}


.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Cormorant Garamond", serif;
    line-height: 1.4;
    color: var(--primary-text-color);
}

h1,
.h1 {
    font-size: clamp(45px, 5vw, 80px);
    line-height: 1;
    font-weight: 300;
}

h2,
.h2 * {
    font-size: clamp(32px, 5vw, 40px);
    line-height: 1;
    font-weight: 400;
}

h3,
.h3 * {
    font-size: clamp(20px, 5vw, 24px);
    line-height: 1;
    font-weight: 400;
}

h4,
.h4 * {
    font-size: clamp(20px, 5vw, 24px);
    line-height: 1;
    font-weight: 400;
}

h5,
.h5 * {
    font-size: 20px;
    font-weight: 400;
}

h6,
.h6 * {
    font-size: 14px;
    line-height: 1.75;
    font-weight: 700;

}

.text-white * {
    color: #fff;
}

.text-black * {
    color: #000;
}

.text-dark * {
    color: #333;
}

.text-red * {
    color: #ee1c25;
}


.text-dark h1,
.text-dark h2,
.text-dark h3,
.text-dark h1 *,
.text-dark h2 *,
.text-dark h3 *{
    color: #123050;
}


h1 span,
h2 span,
h1 em span,
h2 em span,
.highlight{
    color: #0784C1!important;
}

.blockquote{
    margin: 0;
    padding-top: 70px;
    padding-bottom:  70px;
}

.blockquote h2{
    font-size: clamp(38px, 5vw, 60px);
    line-height: 1;
    font-weight: 400;
    margin-bottom: 0!important;
}

.blockquote-sm h2,
.blockquote h3{
    font-size: clamp(30px, 5vw, 40px);
    line-height: 1;
    font-weight: 400;
    margin-bottom: 0!important;
}

.blockquote p{
    font-size: clamp(20px, 5vw, 28px);
    line-height: 1.25;
    font-weight: 400;
    margin-bottom: 1rem;
}




.disclaimer p,
.disclaimer ul li{
    font-size: .875em;
    line-height: 1.2;
    color: #fff;
    opacity: .8;
}

.sub {
    color: #000;
    font-weight: 400;
    font-size: 16px !important;
    letter-spacing: 4px;
    text-transform: uppercase;
    position: relative;
    font-family: "Glacial Indifference";
    display: inline-block;
    margin-bottom: 12px;
}

.text-white .sub{
    color: #fff;
}

select {
    cursor: pointer;
}

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

.header {
    top: 0;
    width: 100%;
    display: block;
    left: 0;
    margin: 0 auto;
    background: transparent;
    z-index: 1000;
    position: fixed;
    transition: .3s all ease-in-out;
    padding-top: 8px;
    padding-bottom: 8px;
}

body.admin-bar .header:not(.scrolled) {
    top: 32px;
}

.header.scrolled {
    background: #FFFFFF !important;
}

.header.scrolled nav {
    padding: .5rem !important;
}

.logo-header {
    height: 40px;
}
.logo-column{
        transition: .3s all ease-in-out;
    }
@media (min-width: 1300px){
    .logo-column{
        min-width: 200px;
    }

}
body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .logo-header {
    height: 40px;
    filter: brightness(100);
}

body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .logo-header.mobile {
    height: 32px;
    filter: brightness(100);
}

.header.scrolled .logo-header {
    filter: none!important;
}

.logo-header{}
.logo-header.mobile{
    display: none;
    height: 40px;
}

@media  (max-width: 1200px){
    .logo-header.mobile{
        display: block;
    }
    .logo-header{
        display: none;
    }
}

/*.btn-user-login{
    display: flex!important;
    align-items: center;
}*/

body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .btn-user-login{
    color: #fff;
    position: relative;
}

#offcanvasMenu .btn-user-login,
.header.scrolled .btn-user-login{
    color: #123050!important;
}

body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .btn-user-login img{
    height: 20px;
    filter: brightness(100);
}

.btn-user-login img{
    filter: none!important;
    height: 20px;
}

#offcanvasMenu .btn-user-login img,
.header.scrolled .btn-user-login img{
    filter: none!important;
    height: 20px;
}


/* Sections */

.container-fluid:not(.header) {
    position: relative;
}

.row {
    z-index: 10;
}

/* Buttons */
input[type="submit"] {
    background: #ffbc10;
    border-radius: 0;
    color: #000;
    border: 1px solid var(--primary-color);
}

#gform_submit_button_8,
#gform_submit_button_4,
#gform_submit_button_6,
#gform_submit_button_7 {
    background-color: #0784C1 !important;
    color: #fff;
    border-radius: 50px;
}


#gform_submit_button_4:hover,
#gform_submit_button_6:hover {
    background-color: #123050 !important;
}

.btn{
    border-radius: 50px;
}
.btn-white {
    background-color: #fff!important;
    border: 2px solid #fff;
    color: #000;
}

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

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

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

.btn-white-outline {
    background-color: transparent!important;
    border: 2px solid #fff;
    color: #fff;
}

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

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

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

.btn-color{
    background-color: #0784C1!important;
    border: 2px solid #0784C1;
    color: #fff;
}

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

.btn-color2{
    background-color: #7474e8!important;
    border: 2px solid #7474e8;
    color: #000;
}

.btn-color2:hover{
    background-color: #1515af!important;
    border: 2px solid #7474e8;
    color: #fff;
}

.btn-color-outline{
    background-color: transparent!important;
    border: 2px solid #123050;
    color: #123050;
}

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

.btn-color2-outline{
    background-color: transparent!important;
    border: 2px solid #7474e8;
    color: #7474e8;
}

.btn-text {
    position: relative;
    border: 0!important;
}
.btn-text:after{
    content: '';
    background: url(/wp-content/themes/onyxbridge/images/arrow-next.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    right: -18px;
    top: 7px;
    position: absolute;
    display: block;
    transition: .3s all ease-in-out;
}

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

/* Nav */
.nav-link,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: #000;
    font-weight: 500;
}


body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .nav-link,
body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .navbar-nav .nav-link.active,
body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .navbar-nav .nav-link.show {
    color: #fff;
    font-weight: 500;
}

body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) .nav-link .dropdown-icon{
    filter: invert(1);
}

#offcanvasMegaMenu .nav-link .dropdown-icon{
    filter: none!important;
}


.header.scrolled .nav-link,
.header.scrolled .navbar-nav .nav-link.active,
.header.scrolled .navbar-nav .nav-link.show {
    color: #123050!important;
}

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

.btn .nav-link:hover {
    color: #000!important;
}


.offcanvas .nav-link,
.offcanvas .navbar-nav .nav-link.active,
.offcanvas .navbar-nav .nav-link.show
 {
    color: #000!important;
}

.header-full.scrolled .nav-link,
.header-full.scrolled .navbar-nav .nav-link.active,
.header-full.scrolled .navbar-nav .nav-link.show{
    color: #000;
}


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

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


#menu-location > li{
    position: relative;
}
#menu-location .nav-link{
    position: relative;
    padding: 8px;
}


.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;
    padding: 0 10px;
}
.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);
}

@media (hover: hover) and (pointer: fine) {
    .menu-item.dropdown:hover > .dropdown-menu,
    .menu-item:hover > .submenu {
        opacity: 1;
        visibility: visible;
        display: block;
    }
}

/* Default hidden state */
.dropdown-menu,
.submenu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
}


.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: 25px;
    min-width: 200px;
}

.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: 500;
    font-size: 1rem;
}

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


/* ============ 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;}

    .cta_buttons .btn-black-outline{display: none;}

    .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: #123050;
        opacity: 1;
        transform: rotate(0deg);
        transition: 0.25s ease-in-out;
    }

    body:not(.page-template-policies):not(.single-post):not(.single-our_team):not(.page-template-team) #nav-icon span {
        background: #fff;
    }

    .header.scrolled #nav-icon span {
        background: #123050!important;
    }

    .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{
        color: #000;
    }

    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;
        
    }

    /* locations */
    .navbar-nav .dropdown-menu{
        position: static!important;
        transform: none!important;
    }

}



.contained {
    background: #fff;
    border-radius: 2.5rem;
    overflow: hidden;
}

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

/* Homepage Hero */
.homepage-hero {
    position: relative;
    padding-top: 10.125rem;
    padding-bottom: 2.125rem;
    min-height: 80vh;
    transition: .3s all ease-in-out;
}

@media (max-width: 991px){
    .homepage-hero {
        min-height:50vh;
    }
}

.homepage-hero .stats-below{
    font-size: 14px;
}


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

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

.homepage-video-container video{
    width: 150%;
    height: auto;
    margin: 0 auto;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 768px){
   .homepage-video-container video{
       width: auto;
       height: 150%;

   }
 
}

.homepage-hero .content-text{
    max-width: 725px;
    margin: 0 auto;

}

.homepage-hero.hero-form:after{
    content: '';
    position: absolute;
    width: 100%;
    height: 200px;
    background: #fff;
    bottom: 0;
    left: 0;
}

.homepage-hero .form{
    background: #fff;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 0 20px rgba(0,0,0,.15);
}


.video-player,
.video-cover,
.play-button {
  transition: opacity 0.3s ease;
}

.video-cover{
    object-fit: cover;

}

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

.small-text .content-text p{
    font-size: .9rem;
}

/* CARDS */
.card {
    height: 100%;
    background: #fff;
    border-radius: 8px;
    border: 0;
}

.card-title {
    font-size: clamp(20px, 4vw, 24px);
    font-weight: 700 !important;
}

.card p {
    margin-bottom: 0;
}



.icon-stacked-number{

}

.icon-stacked-number .number{
    height: 135px;
    overflow: hidden;
    position: relative;
}

.icon-stacked-number .border-line{
    position: relative;
    overflow: hidden;
}

.icon-stacked-number .border-line:after{

    content: '';
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, #DEE6ED, #123050, #DEE6ED);
    bottom: 0;
    display: block;
    position: absolute;
    opacity: .5;
}

.icon-stacked-number .number span{
    color: #123050;
    font-size: 107px;
    font-weight: 700;
    opacity: .1;
    position: absolute;
    top:0;
    left: 0;
}

.icon-offset .card,
.icon-inside .card {
    height: 100%;
}

.icon-offset .card .icon {
    width: 70px;
    height: 70px;
    position: absolute;
    top: -35px;
    left: 25px;
    background: #FFBC10;
    padding: 10px;
    text-align: center;
    display: block;
}

.icon-offset .card img {
    height: 35px;
    width: 35px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.sidebyside .card .card-body img {
    width: 50px;
    background: #B9CFCE;
    padding: 10px;
}

.icon-offset .card-body {
    padding-top: 2rem !important;
}

.card-img-overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .4);
}

/*full image bg*/
.cardgroup-bg{
    display: flex;
      gap: 1rem;
}

.cardgroup-bg > div {
  flex: 1;
  transition: flex 0.4s ease;
}

.cardgroup-bg:hover > div {
  flex: 0.8;
}

.cardgroup-bg > div:hover {
  flex: 1.6;
}

.card-bg{
    height: 100%;
    min-height: 620px;
    overflow: hidden;
}
.card-bg img{
    object-fit:cover;
    width: 100%;
    height: 100%;
    min-height: 620px;
    max-height: 620px;
}
.card-img-overlay{}

.card-bg .card-body{
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px); /* optional subtle motion */
    transition: max-height 0.4s ease, opacity 0.25s ease, transform 0.25s ease;
    transition-delay: 0s;
    max-height: 0;
}

.card-bg a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.card-bg:hover .card-body{
    opacity: 1;
    max-height: 200px; /* adjust to your content */
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0.4s; /* match your flex animation duration */
}

@media (max-width: 767px) {
  .cardgroup-bg {
    flex-direction: column;
  }

  .cardgroup-bg > div {
    flex: none !important;
    width: 100%;
  }

  /* kill hover behavior on mobile */
  .cardgroup-bg:hover > div,
  .cardgroup-bg > div:hover {
    flex: none;
  }

  /* optional: remove scale effect */
  .cardgroup-bg > div:hover .card {
    transform: none;
  }

  .card-bg,
  .card-bg img{
    min-height: 420px;
}
  
  .card-bg .card-body{
      opacity: 1;
      visibility: visible;
      transform: translateY(0); /* optional subtle motion */
      transition: 0;
      transition-delay: 0s;
      max-height: 200px;
  }

}


/* Accordion */

.accordion-item,
.accordion-button {
    background-color: #fff;
    border: 0;
}

.accordion-item{
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.text-white.accordion-item{
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.accordion-item h2 .accordion-button {
    font-size: 1.2rem;
    font-weight: 500;
    font-family: 'Glacial Indifference', 'sans-serif';
    color: #123050!important;
}

.text-white.accordion-item h2 .accordion-button {
    font-size: 1.2rem;
    font-weight: 500;
    font-family: 'Glacial Indifference', 'sans-serif';
    color: #fff!important;
}


.accordion-item h2 .accordion-button span{
    display: none;
}
.accordion-numbers .accordion-item h2 .accordion-button span{
    display: inline-block;
    color: inherit;
    margin-right: 15px;
}

.accordion-button:hover,
.accordion-button:not(.collapsed) {
    color: #000;
    background-color: var(--secondary-color);
    box-shadow: none;
}


.accordion-button::after {
    background-image: none !important;
    content: "+";
    font-size: 1.5rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
}

.accordion-button:not(.collapsed)::after {
    content: "−";
}

/* Images */

.image-right {
    border-radius: 1rem !important;
    border-bottom-left-radius: 0 !important;
    overflow: hidden;
}

.image-left {
    border-radius: 1rem !important;
    border-bottom-right-radius: 0 !important;
    overflow: hidden;
}

.content-right {
    border-radius: 1rem !important;
    border-bottom-left-radius: 0 !important;
    overflow: hidden;
}

.content-left {
    border-radius: 1rem !important;
    border-bottom-right-radius: 0 !important;
    overflow: hidden;
}

.object-cover .content-image img {
    width: 100%;
    object-fit: cover;
    object-position: center center;
    height: 100%;
    max-height: inherit;
}

.hl-sub {
    position: absolute;
    height: 2px;
    width: 90px;
    content: '';
    background-color: var(--secondary-color) !important;
    margin-bottom: 40px;
    top: -20px;
    left: 50%;
    transform: translatex(-50%);
}

.hl-sub.text-center {
    margin: 0 auto .5rem;
}

.hl-sub.white {
    background-color: #FFFFFF;
}

.hl-sub.white:before {
    border-color: transparent transparent transparent #ffffff;
}

.hl-sub.white:after {
    border-color: transparent #ffffff transparent transparent;
}

.homepage-card {
    background-color: #FFFFFF;
    padding: 1.5em;
    border-radius: 0.5em;
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 0.9em;
    height: 100%;
    width: auto;
    box-shadow: 0px 0px 10px #00000010;
}

.homepage-card img {
    height: 53px;
}

.homepage-card p {
    font-size: 0.938em;
    font-weight: 400;
    color: #0B0B0B;
}

/* Hero */

.hero {
    min-height: 380px;
    padding-top: 205px;
    padding-bottom: 50px;
    position: relative;
    background-position: center;
}

.hero.white-text p {
    color: #fff !important;
}

.hero:after{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.6);
}

.hero-form{
    min-height: 380px;
    padding-top: 50px;
    padding-bottom: 50px;
    position: relative;
    transition: .3s all ease-in-out;
}


.cta-section{
    min-height: 800px;
    border: 16px solid #fff;
}

/* BACKGROUNDS */
.bg-light {
    background: #F5F5F5 !important;
}

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


.bg-blue {
    background: #0784C1!important;
}


.bg-dark-opaque {
    background: rgba(106,106,106,.15) !important;
}

.blur{
    backdrop-filter: blur(10px);          /* Blurs the background behind */
      -webkit-backdrop-filter: blur(10px);
}



.bg-rotating-circle{
    position: relative;
    overflow: hidden;
    padding-top: 100px!important;
    padding-bottom: 100px!important;
}

.bg-rotating-circle-form{
    position: relative;
    overflow: hidden;
}


.bg-rotating-circle .rotating-circles .first{
    content: '';
    width: 1200px;
    height: 1250px;
    border: 1px solid #D8DFE64D;
    border-radius: 50%;
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translatex(-50%);
    animation: spin 8s linear infinite;
    transform-origin: center;
}

.bg-rotating-circle .rotating-circles .second{
    content: '';
    width: 1100px;
    height: 1000px;
    border: 1px solid #D8DFE64D;
    border-radius: 50%;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translatex(-50%);
    animation: spin-reverse 8s linear infinite;
    transform-origin: center;
}

.bg-rotating-circle .gradient-blur .first{
    content: '';
    width: 1000px;
    height: 1000px;
    background: #6091C1;
    border-radius: 50%;
    position: absolute;
    top: 84%;
    left: 50%;
    transform: translatex(-50%);
    filter: blur(50px);
}

.bg-rotating-circle .gradient-blur .second{
    content: '';
    width: 900px;
    height: 900px;
    background: #D8DFE6;
    border-radius: 50%;
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translatex(-50%);
    filter: blur(50px);
    opacity: .8;
}


.bg-rotating-circle-form{
    position: relative;
    overflow: hidden;
}

.bg-rotating-circle-form .rotating-circles .first{
    content: '';
    width: 1200px;
    height: 1250px;
    border: 1px solid #BED4E5;
    border-radius: 50%;
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translatex(-50%);
    animation: spin 8s linear infinite;
    transform-origin: center;
}

.bg-rotating-circle-form .rotating-circles .second{
    content: '';
    width: 1100px;
    height: 1000px;
    border: 1px solid #BED4E5;
    border-radius: 50%;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translatex(-50%);
    animation: spin-reverse 8s linear infinite;
    transform-origin: center;
}

.bg-rotating-circle-form .gradient-blur .first{
    content: '';
    width: 1000px;
    height: 1000px;
    background: #DEE6ED;
    border-radius: 50%;
    position: absolute;
    top: 84%;
    left: 50%;
    transform: translatex(-50%);
    filter: blur(50px);
}

.bg-rotating-circle-form .gradient-blur .second{
    content: '';
    width: 900px;
    height: 900px;
    background: #BED4E5;
    border-radius: 50%;
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translatex(-50%);
    filter: blur(50px);
    opacity: .8;
}


@keyframes spin {
  from { transform: translateX(-50%) rotate(0deg); }
    to   { transform: translateX(-50%) rotate(360deg); }
}

@keyframes spin-reverse {
  from { transform: translateX(-50%) rotate(360deg); }
    to   { transform: translateX(-50%) rotate(0deg); }
}

/* Edge image */

.content-image.tall-image{
    height: 100%;
    min-height: 550px;
    max-height: 860px;
    overflow: hidden;
}

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


.edge-image .bg-holder {
    position: absolute;
    width: 95%;
    height: 100%;
    max-height: 540px;
    left: 0;
    background-size: cover;
    background-position: left center;
    overflow: hidden;
    will-change: transform, opacity, filter;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-repeat: no-repeat;
    z-index: 0;
    top: 50%;
    transform: translatey(-50%);
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.swiper-slide {
    padding: 20px;
}

/* Testimonials */

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

.rating-star {
    fill: #FFE386
}

.testimonial-card {
    border: 0;
}

.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 {}


/* BLOG */
.blog-hero{
    background: #123050;
    position: relative;
    padding-top: 150px;
    height: 450px;
}

.single-blog-hero{
    position: relative;
    padding-top: 150px;
}

.blog-feed-section-featured{
    margin-top: -225px;
}

.blog-feed-section .blog-post {
    background: #fff;
    transition: .2s background ease-in-out;
}

.blog-post.featured{
    background: #F6F6F6;
}

.blog-post.featured .blog-post-image {
    width: 100%;
    height: 266px;
    background-size: cover !important;
    background-position: center center !important;
    margin: 0;
}
.blog-feed-section-featured a,
.blog-feed-section a {
    text-decoration: none; 
    color: #0784C1;
}

.btn-blog{
    position: relative;
    display: inline-block;
    width: auto;
    text-align: left;
    max-width: 100px;
}

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

.btn-blog:hover:after{
    right: -15px;
}


.blog-feed-section .blog-post-image {
    height: 266px;
    width: 100%;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    border-radius: 0;
    margin-bottom: 1rem;
    transition: .2s background ease-in-out;
}

.blog-feed-section-featured h3,
.blog-feed-section h3{
    font-size: clamp(20px, 4vw, 24px);
    color: #151515;
}

.page-template-blog .navigation ul, 
.archive .navigation ul, 
.category .navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.page-template-blog .navigation ul li, 
.archive .navigation ul li, 
.category ul li {
    display: inline-block;
    margin: 0 5px;
}

.page-template-blog .navigation ul li a, 
.archive .navigation ul li a, 
.category .navigation ul li a {
    text-decoration: none;
    background: #F4F4F4;
    padding: 5px 10px;
    border: 1px solid #F4F4F4;
    border-radius: 0;
    color: #333;
}

.page-template-blog .navigation ul li span.current, 
.archive .navigation ul li.active a, 
.archive .navigation ul li.active a {
    text-decoration: none;
    background: #0784C1;
    padding: 5px 10px;
    border: 1px solid #0784C1;
    border-radius: 0;
    color: #fff;
}

.page-template-blog .navigation ul li a img {
    vertical-align: middle;
    width: 12px;
    margin-top: -2px;
}

.single-post h2,
.single-post h3,
.single-post h4,
.single-post h5,
.single-post h6{
    font-size: 24px;
}


/* 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;

}

/* Footer */

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

#footer {
    position: relative;
    background: #123050;
}

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

#footer .social-media-links {}

#footer .footer-quick-links .menu-item {
    padding: 10px;
}

#footer h3{
    font-size: 1.125rem;
    font-weight: 400;
    color: rgba(255,255,255,.5);
    font-family: 'Glacial Indifference';
}

#footer .footer-quick-links li{padding: 5px 0;}

#footer .footer-quick-links a {
    color: #fff;
    padding: 0;
    text-decoration: none;
    font-weight: 400;
}


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

#footer .footer-quick-links a:hover,
#footer .copyright-link a:hover{
    color: #0784C1;
}

.social-media-links {}

.social-media-links a {
    text-decoration: none;
}

.social-media-links svg {
    height: 24px;
    margin: 0 10px;
    color: #fff;
    fill: #fff;
}

.social-media-links svg:first-child{
    margin-left: 0;
}

.social-media-links a:hover svg {
    color: #0784C1;
    fill: #0784C1;
}

.footer-quick-links {}

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

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

.gform_required_legend{display: none;}

.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: #f0f0f0!important;

}

.bg-dark-opaque ::placeholder{
    color: #fff!important;
 }

.bg-dark-opaque .gfield_label,
.bg-dark-opaque .gform-field-label{
    color: #fff!important;
}

.gfield_required{
    color: #fff!important;
}

.bg-dark-opaque .gform_wrapper .gfield input[type="email"],
.bg-dark-opaque .gform_wrapper .gfield input[type="tel"],
.bg-dark-opaque .gform_wrapper .gfield input[type="text"],
.bg-dark-opaque .gform_wrapper .gfield select,
.bg-dark-opaque .gform_wrapper .gfield textarea {
    border-bottom: 1px solid #fff!important;
    background: transparent!important;
    color: #fff!important;
}

/* us */
#field_5_9 .address_city,
#field_5_9 .address_state,
#field_5_9 .address_zip{
    inline-size: 33%;
}

/* canada */
#field_5_10 .address_city,
#field_5_10 .address_state,
#field_5_10 .address_zip{
    inline-size: 33%;
}

/* international */
#field_5_11 .address_city,
#field_5_11 .address_zip,
#field_5_11 .address_country{
    inline-size: 33%;
}

@media (min-width:992px ) and (max-width: 1400px){

    /* us */
    #field_5_9 .address_city,
    #field_5_9 .address_state,
    #field_5_9 .address_zip{
        inline-size: 100%;
    }

    /* canada */
    #field_5_10 .address_city,
    #field_5_10 .address_state,
    #field_5_10 .address_zip{
        inline-size: 100%;
    }

    /* international */
    #field_5_11 .address_city,
    #field_5_11 .address_zip,
    #field_5_11 .address_country{
        inline-size: 100%;
    }
}


@media (max-width: 768px){

    /* us */
    #field_5_9 .address_city,
    #field_5_9 .address_state,
    #field_5_9 .address_zip{
        inline-size: 100%;
    }

    /* canada */
    #field_5_10 .address_city,
    #field_5_10 .address_state,
    #field_5_10 .address_zip{
        inline-size: 100%;
    }

    /* international */
    #field_5_11 .address_city,
    #field_5_11 .address_zip,
    #field_5_11 .address_country{
        inline-size: 100%;
    }
}

#locationMap {
    display: block;
    width: 100%;
    height: 100%;
}

#locationMap path {
    stroke: #000;
    fill: #fff !important;
    transition: fill .4s ease;
}

.legend {
    position: absolute;
    width: 100px;
    right: -5%;
    bottom: 17%;
    text-align: center;
}

.legend span.swatch {
    margin: 0 auto;
    width: 20px;
    height: 20px;
    display: block;
}

.card-team{ 
    position:relative;
    overflow: hidden;
    cursor: pointer;
}

.card-team .image-container{
    max-height: 306px;
    overflow: hidden;
}

@media (max-width: 768px){
    .card-team .image-container{
        max-height: 440px;
        overflow: hidden;
    }
}

.card-team a.fulllink{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.card-team .card-img-top{
    transition: .3s all ease-in-out;
    /*filter: grayscale(100%) contrast(1);*/
}

.card-team .card-img-overlay{
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}


.card-team:hover .card-img-top{
    transform: scale(1.1);
}

.team-member{
    padding-top: 150px;
    padding-bottom: 100px;
}

@media (max-width: 991px){
    .team-member{
        padding-top: 90px;
    }
}

/* HELP FORM*/
#helpbutton{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
    padding-bottom: 10px;
    white-space: nowrap; /* prevents wrapping during width change */
}

#helpbutton .hand {
    opacity: 0;
    transform: scale(0.6);
    width: 0;
    margin-right: 0;
    overflow: hidden;
    display: inline-block;
    transition: opacity 0.2s ease, transform 0.2s ease, width 0.2s ease, margin-right 0.2s ease;
}

#helpbutton.attention .hand img.wp-smiley, img.emoji{
   height: 0 !important;
   width: 0 !important;
}

#helpbutton.attention {
    padding-left: 18px; /* gives room for expansion feel */
}

#helpbutton.attention .hand {
    opacity: 1;
    transform: scale(1);
    width: 1.2em;        /* reserves space only when active */
    margin-right: 6px;   /* creates spacing only in active state */

    transform-origin: 70% 70%;
    animation: wave 0.6s ease-in-out 4;
}

#helpbutton.attention .hand img.wp-smiley, img.emoji{
   height: 1em !important;
   width: 1em !important;
}

.attention {
    animation: subtle-nudge 0.6s ease-in-out 4;
}

@media (prefers-reduced-motion: reduce) {
  .attention {
    animation: none;
  }
}

@keyframes subtle-nudge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes wave {
  0%   { transform: rotate(0deg) scale(1); }
  15%  { transform: rotate(14deg) scale(2); }
  30%  { transform: rotate(-8deg) scale(2); }
  45%  { transform: rotate(14deg) scale(2); }
  60%  { transform: rotate(-4deg) scale(2); }
  75%  { transform: rotate(10deg) scale(2); }
  100% { transform: rotate(0deg) scale(1); }
}

#helpMeModal{}
#helpMeModal .modal-body{
    /*top: -100px;*/
    z-index: 10;
}

#helpMeModal .modal-body .form-logo{
    top: -100px;
}


.form-logo{
    max-width: 200px;
    margin-bottom: 100px;
}

@media (max-width: 768px){
    #helpMeModal .modal-body{
        top: 0;
    }
    .form-logo{
        max-width: 200px;
        margin-bottom: 50px;
    }
}

#intakeForm{}

#intakeForm .progress{
    height: 6px;
    max-width: 370px;
    margin: 0 auto;
}

.form-step{
    display: none;
    min-width: 300px;
    max-width: 500px;
    width: 100%;
}

.form-step.step5{
    width: 100%;
    max-width: 100%;
}

#intakeForm h3{
    font-size: clamp(24px, 5vw, 32px);
    line-height: 1;
    font-weight: 400;
}

#intakeForm .form-step.active{
    display: block;
}

#intakeForm .btn-outline-blue{
    background: transparent;
    color: #123050;
}


#intakeForm .btn-outline-blue{
    background: transparent;
    color: #123050;
    border-color: #123050;
}

#intakeForm .btn-check+.btn:hover {
    color: #123050;
    background-color: #DEE6ED;
    border-color: #123050;
}

#intakeForm .btn-check:checked+.btn, 
#intakeForm .btn.active, 
#intakeForm .btn.show, 
#intakeForm .btn:first-child:active, 
#intakeForm :not(.btn-check)+.btn:active{
    color: #fff;
    background-color: #123050;
    border-color: #123050;
}

#resultLink{
    position: relative;
    padding-right: 20px;
}

#resultLink:after{
    content: '';
    display: inline-block;
    background: url(/wp-content/themes/onyxbridge/images/arrow-next-white.svg);
    width: 20px;
    height: 10px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    left: 10px;
    position: relative;
}

/* ALL MOBILE DEVICES */

@media (max-width: 575px) {

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

    .homepage-hero {
        padding-top: 5rem;
        padding-bottom: 2.125rem;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
    }

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

    }

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

    }

    #footer .quick-link ul li {
        padding: 5px 0;
    }

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

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

}

/* TABLET DEVICES */

@media (min-width: 575px) and (max-width: 768px) {

    .homepage-hero {
        padding-top: 6.125rem;
        padding-bottom: 2.125rem;
    }

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

}

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

/*SMALL LAPTOPS AND UP*/

@media (min-width: 992px) {

    .navbar-expand-lg .navbar-nav {
        column-gap: 1em;

}

@media (min-width: 992px) and (max-width: 1290px) {

}

/* TABLETS AND SMALLER LAPTOPS */

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

}

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

}

@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: 2.125rem;
    }

}

/* 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;
        width: 100%;
    }
}