/*
Theme Name: QMB
Author: Kubiak Creative
Author URI: https://kubiakcreative.com
Description: Custom Theme for QMB - Requires The7 theme to be installed for base structure.
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/


:root {
    --light-blue:  #31c3e3;
    --light-blue-tint:  #f1f9fd;
    --dark-blue:   #005374;
    --white:        #ffffff;
}
a[href="mailto:"] {
    display: none;
}
.logo-padding-top {
    margin-top: 20px
}
.mobile-main-nav .sub-nav {
    margin-left: 0px !important;
}
.mobile-main-nav .next-level-button svg {color: #FFFFFF !important; fill: #FFFFFF !important;}
.fa-classic, .fa-regular, .fa-solid, .far, .fas {
    font-family: "Font Awesome 6 pro" !important;
}

.text-lblue { color: var(--light-blue) !important;}
.text-dblue { color: var(--dark-blue) }
.text-white { color: var(--white) !important;}

.text-lblue a:hover { color: var(--dark-blue) !important;}
.text-dblue a:hover { color: var(--light-blue) !important;}
.text-white a:hover { color: var(--light-blue) !important;}


.bg-lblue { background-color: #f9fcfe !important;}
.bg-blue { background-color: var(--light-blue) !important;}
.bg-dblue { background-color: var(--dark-blue) !important;}
.bg-white { background-color: var(--white) !important;}

a{
    color: inherit !important;
    text-decoration: none;
}
.facilities a:hover { color: var(--light-blue) !important;}

.bullets-lined li{
    border-bottom: 1px solid var(--dark-blue) !important;
    list-style: none;
    margin-bottom: 10px;
    color: var(--dark-blue) !important;
    padding-bottom: 10px;
}
.bg-blue .bullets-lined li{
    color: var(--white) !important;
}
.bullets-lined ul{
    margin-left:0px !important;
}

.mb-0 {
    margin-bottom: 0px!important;
}

.padding-none {
    padding: 0px !important;
}
.padding-all{
    padding: 7% !important;
}
.padding-large {
    padding-top: 80px;
    padding-bottom: 80px;
}
.padding-large-top {
    padding-top: 80px;
}
.padding-large-bottom {
    padding-bottom: 80px;
}
/*.bg-pattern {
    background: url("/wp-content/uploads/2025/05/bg-pattern.png") no-repeat fixed; 
    background-position: center left -50px;
}*/
/* --------------------------------------------------------------------
   HIDE ON MOBILE
-------------------------------------------------------------------- */

/* mobile devices (992px and below) */
@media (max-width: 1400px) {
    .hide-on-mobile {
        display: none !important;
    }
    
}
/* --------------------------------------------------------------------
   TYPOGRAPHY
-------------------------------------------------------------------- */
h1, h2, h3{
font-family: "richmond-text, sans-serif" !important;
font-weight: 500;
font-style: normal;
}
h1 {
    line-height: 1.2;
}

h3.entry-title  {
    font-family: 'Poppins', Helvetica, sans-serif !important;
    color: var(--dark-blue) !important;

}
.team-author-name {
    font-size: 24px;
}
.team-author {
    font-size: 24px;
    color: var(--dark-blue) !important;
}
.footer h3{font-size: 20px!important; text-decoration: underline !important;}
.team-name { color: var(--white) !important; font-size: 24px;font-weight: 600; margin-bottom: 10px;}
.team-role{ color: var(--dark-blue) !important; font-size: 24px; margin-bottom: 0px;}
.unit_title {color: var(--dark-blue) !important; font-size: 24px;font-weight: 600; margin-bottom: 5px;}
.unit_subtitle{ color: var(--dark-blue) !important; font-size: 24px; margin-bottom: 10px; margin-top: 10px; line-height: 35px;}
.unit_size {color: var(--light-blue) !important; font-size: 24px; font-weight: 600; margin-bottom: 20px;}


.availability .unit_size p {
    color: var(--light-blue) !important;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.2;
}
.latest-availability a{
    display:flex !important;
    justify-content: space-between !important;
}
.large-paragraph {
    font-size: 24px;
}

body { color: var(--dark-blue) !important}

.ecosystem p {
    margin-bottom: 0px;
}
/* --------------------------------------------------------------------
   HEADER / NAVBAR
-------------------------------------------------------------------- */
.header,
#header,
.masthead, 
.phantom-sticky:not(.overlap):not(.transparent) .masthead, .footer {
    background: linear-gradient(135deg, #002e4b, #0a617f, #002e4b) !important; /* Purple to light blue */
}

.mobile-header-bar .mobile-branding img {
    width: auto;
    height: 70px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.branding a img, .branding img {
    height: 100px!important;
    width: 100px!important;
    transition: all 0.5s ease;
}


.sticky-on .branding a img, .sticky-on.branding img {
    height: 50px !important;
    width: 50px !important;
    transition: all 0.5s ease;
}

/* Add a div element for the overlay */
.header-overlay::before {
    content: ""; /* <--- This is crucial */
    display: block; /* Not always needed, but good practice */
    position: absolute !important; /* or relative depending on the parent's positioning */
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: linear-gradient(to left, rgba(0,39,69,0), rgba(0,39,69,.4), rgba(0,39,69))!important;
    background-image: -webkit-linear-gradient(to left, rgba(0,39,69,0), rgba(0,39,69,.4), rgba(0,39,69))!important;
    background-image: -moz-linear-gradient(to left, rgba(0,39,69,0), rgba(0,39,69,.4), rgba(0,39,69))!important;
    z-index: 0 !important; /* Ensure it sits on top of the background image */
  }
  .header-overlay {
    position: relative;
  }

/* --------------------------------------------------------------------
  COUNTER
-------------------------------------------------------------------- */
.counter {
    font-family: "richmond-text, sans-serif" !important;
    font-weight: 500;
    font-style: normal;
    font-size: 60px !important;
}

  /* --------------------------------------------------------------------
  IMAGES
-------------------------------------------------------------------- */

.affiliates img {
    max-width: 150px;
}

  /* --------------------------------------------------------------------
  FOOTER
-------------------------------------------------------------------- */

.footer .widget_nav_menu {
    padding: 0;
}

  /* --------------------------------------------------------------------
  BUTTONS
-------------------------------------------------------------------- */
.button-main {
    border: 2px solid #31c3e3 !important;
    background-color: transparent !important;
    color: #005374 !important;
    font-family: Poppins, Helvetica, sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}
.button-main {
    min-width: 200px !important;
    padding-left: 20px !important;
    padding-right: 20px;
    margin-right: 0px !important;
    justify-content: space-between !important;
    
}
.dt-btn, .details-type-link{
    border: 2px solid #31c3e3;
    background-color: transparent !important;
    color: #005374 !important;
    font-family: Poppins, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 18px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    justify-content: space-between;
    min-width: 200px;
    padding-left: 20px;
    padding-right: 20px;
    margin-right: 0px;
    justify-content: space-between;

}
.post-details.details-type-link * {
    color: #005374 !important;
    
}
.post-details.details-type-link:after {
    display: none !important;
}

.post-details i {
    margin-right: 0;
    margin-left: auto;
}
.floorplan .button-main {
    width: 100%;
}
.button-white {
    border: 2px solid #ffffff;
    background-color: transparent !important;
    color: #ffffff!important;
    font-family: Poppins, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 18px !important;
    transition: all 0.5s ease;
}
.button-white:hover {
    border: 2px solid #005374 !important;
    color: #005374 !important;
    transition: all 0.5s ease;
}
.button-main a {
    font-family: Poppins, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 18px !important;
}
.button-rev {
    border: 2px solid #31c3e3;
    color: #FFFFFF !important;
    background-color: transparent !important;
}

.button-main:hover, .button-rev:hover, .button-white:hover, .dt-btn:hover, .details-type-link:hover {
    background-color: rgba(49, 195, 227, 0.3) !important;
    text-decoration: none !important;
}
.button-main a:hover {
    background-color: rgba(49, 195, 227, 0) !important;
}
.button-main a {
    background-color: #FFFFFF;
}

.fa {
    font-family: var(--fa-style-family, "Font Awesome 6 sharp") !important;
}
.fa-arrow-right {
    font-family: var(--fa-style-family, "Font Awesome 6 sharp") !important;
    --fa: "\f340" !important;
}
.dt-icon-the7-arrow-03 {
    font-family: var(--fa-style-family, "Font Awesome 6 sharp") !important;
    font-size: 18px !important;
    --fa: "\f340" !important;
    position: absolute;
    right: 20px;
}
.dt-icon-the7-arrow-03:before {
    content: "\f340" !important;
}
.vc_btn3.vc_btn3-color-white, .vc_btn3.vc_btn3-color-white.vc_btn3-style-flat {
    color: #005374 !important;
}
.button-rev .fa-sharp:before, .button-main .fa-sharp::before, .fa-solid:before{
    padding-left: 00px;
}
.btn-align-right {
    text-align: left;
}
/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 768px) {
.btn-align-right {
    text-align: right;
}
.button-rev .fa-sharp:before, .button-main .fa-sharp::before, .fa-solid:before{
    padding-left: 80px;
}
}

  /* --------------------------------------------------------------------
availability
-------------------------------------------------------------------- */
.availability .vc_gitem_row .vc_gitem-col {
    padding: 20px;
    background-size: cover;
}

/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 1200px) {
    .availability .vc_gitem_row .vc_gitem-col {
        padding: 50px;
        background-size: cover;
    }
    }

.availability h4, .availability p{
    color: #005374 !important;
}

.floorplan-img img {
    width: 100%;
    height: auto;
}
.owl-carousel .post-entry-content .entry-title a, .owl-carousel .post-entry-title-content .entry-title a {
    color: #005374;
    transition: color .35s;
}

.entry-excerpt {
    margin-bottom: 5px;
}


 /* --------------------------------------------------------------------
TEAM
-------------------------------------------------------------------- */
/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 768px) {
    .margin-minus-top .vc_column-inner {
        margin-top: -58px !important;
    }
}


.vc_tta-tab .vc_active {
    border-bottom: 5px solid var(--dark-blue);
}
.email-links .fa-envelope {
    --fa: "\f0e0";
    color: white !important;
}
.email-links {
    height: 40px;
}

 /* --------------------------------------------------------------------
FLUSH LEFT AND RIGHT IMAGES
-------------------------------------------------------------------- */

 /* Text inside column */
   
 .text-container > .vc_column-inner,
 .icon-container > .vc_column-inner {
   padding: 40px !important;
   align-items: center;
 }

 .text-container-headline {
    padding-left: 40px !important;
    padding-right: 40px !important;
    align-items: center;
 }
 
 .text-container-headline .wpb_content_element {
    margin-bottom: 0px !important;
 }
 .text-container > .vc_column-inner .wpb_wrapper, .text-container-headline > .vc_column-inner .wpb_wrapper {
   max-width: 650px;
   width: 100%;
 }
 .text-container.lab > .vc_column-inner .wpb_wrapper {
    max-width: 800px !important;
  }

 /* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .text-container > .vc_column-inner { padding: 100px 75px !important; }
    .text-container-headline > .vc_column-inner {  padding: 50px 75px !important; }
  
  }

/* mobile devices (992px and below) */
  @media (max-width: 992px) {
    .mobile-reverse {
        flex-direction: column-reverse;
    }
    .padding-right .vc_column-inner{
        padding: 35px !important;
    }
    .padding-left .vc_column-inner{
        padding: 35px !important;
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media (min-width: 1200px) {
/* Remove right padding from the row */

.padding-none{
    padding: 0px !important;
}
.padding-top-none{
    padding-top: 0px !important;
}
.padding-left {
    padding-left: calc((100vw - 1400px) / 2 + 35px) !important;
    padding-right: 100px !important;
}
.padding-right {
    padding-right: calc((100vw - 1400px) / 2 + 35px) !important;
    padding-left: 100px !important;
}
.padding-right .vc_column-inner{
    padding-right: 35px !important;
}

.padding-left .vc_column-inner{
    padding-left: 16.5px !important;
}
}

 /* --------------------------------------------------------------------
ICON LIST
-------------------------------------------------------------------- */
.ecosystem .iconlist {
    border: solid 2px var(--light-blue);
    width: 45px;
    height: 45px;
    text-align: center;
    margin-right: 10px !important;
}
.iconlist .fas:before, .iconlist .far:before, .iconlist .fab:before, .iconlist .fa-sharp, .iconlist .fa-regular{
    font-size: 20px !important;
    color: var(--dark-blue) !important;
}
.facilities .iconlist i:hover {
    background-color: rgba(49,195,227,.3) !important
}
.iconlist .wpb_raw_code {
    margin-bottom: 20px;
}
.facilities .iconlist i{
    text-align: center;
    margin-top: 10px !important;
}
.iconlist p{
    margin-bottom: 0px !important;
}

.text-center {
    text-align: center !important;
}

.facilities .iconlist i {
    border: solid 2px var(--light-blue);
    width: 45px;
    height: 32.5px;
    text-align: center;
    padding-top: 12.5px;
    font-size: 20px !important;
    color: var(--dark-blue) !important;
}
.availability .iconlist i {
    border: solid 2px var(--light-blue);
    width: 80px;
    height: 60px;
    text-align: center;
    padding-top: 20px;
    font-size: 40px !important;
    color: var(--dark-blue) !important;
}

.facilities .iconlist i:before{
    text-align: center;
    margin-top: 10px;
}
 /* --------------------------------------------------------------------
TEAM & SPEC
-------------------------------------------------------------------- */
.overflow-show{
    overflow: visible !important;
}

.teamtabs .vc_tta-panel {
    margin-top: 40px !important;
}
.vc_tta-tab.vc_active {
    border-bottom: 5px solid var(--dark-blue) !important;
}
.vc_tta-tab {
    background-color: #FFFFFF !important;
}
.vc_tta.vc_tta-spacing-10 .vc_tta-tabs-list {
    margin: -22px !important;
    padding: 0;
}
.specification .vc_tta.vc_tta-spacing-10 .vc_tta-tabs-list {
    margin: -5px !important;
    padding: 0;
}
.specification .wpb_content_element, ul.wpb_thumbnails-fluid > li, .wpb_button {
    margin-bottom: 0px;
}
.specification .vc_column-inner {
    margin
}
 /* --------------------------------------------------------------------
WALKTIMES
-------------------------------------------------------------------- */
.walktimes tr{
    border-bottom: 2px solid var(--light-blue) !important;
    border-top: 0px !important;
    color: #2a2a2a;
}
.walktimes td {
    border-top: 0px !important;
}
 /* --------------------------------------------------------------------
FOOTER
-------------------------------------------------------------------- */
.footer .fa-brands {
    font-weight: 400;
    font-size: 30px;
    color: var(--light-blue-tint) !important;
    margin-right: 10px;
}
.footer .button-rev {
    margin-top: 5em;
}
 /* --------------------------------------------------------------------
ECOSYSTEM
-------------------------------------------------------------------- */
.ecosystem .uavc-list-content {
    margin-bottom: 15px;
}
 /* --------------------------------------------------------------------
CONTACT
-------------------------------------------------------------------- */

@media (min-width: 992px) {
    
.border-both {
    border-left:#002e4b solid 1px ;
    border-right:#002e4b solid 1px ;
}
}

 /* --------------------------------------------------------------------
BORDERS
-------------------------------------------------------------------- */


@media (min-width: 992px) {
    
    .border-left-right {
        border-left:#002e4b solid 1px ;
        border-right:#002e4b solid 1px ;
    }
    }
 /* --------------------------------------------------------------------
CONTACT FORM
-------------------------------------------------------------------- */

    .forminator-ui#forminator-module-698.forminator-design--default .forminator-label {
        font-size: 16px !important;
        font-family: inherit;
        font-weight: 700;
    }

    .forminator-ui.forminator-custom-form[data-design=default] .forminator-input {
        border-color:#31c3e3;
    }
    .forminator-ui.forminator-custom-form[data-design=default] .forminator-textarea {
        border-color:#31c3e3;
    }