/*
 Theme Name:     Threshold Divi
 Theme URI:      https://www.thresholdagency.com/
 Description:    Threshold Divi Child Theme
 Author:         Threshold Agency
 Author URI:     https://www.thresholdagency.com/
 Template:       Divi
 Version:        1.0.0
*/
 
/*-------------------------------------------------------------- 
    Theme customization starts here
-------------------------------------------------------------- */




/*--------------------------------------------------------------
    General Elements
-------------------------------------------------------------- */
.white{
    color:#ffffff;
    }
.black{
    color:#000000;
    }
.right-float{
    float:right;
    }
.left-float{
    float:left;
    }
.right-text{
    text-align:right;
    }
.left-text{
    text-align:left;
    }
.mobile-br{
    display:inline;
    }
    
h1, h2,.single-post h3, .single-post h4  {
font-family: "richmond-display", sans-serif!important;
}

h3, h4, h5, h6 {
font-family: "richmond-display", sans-serif!important;
}

body h1, body h2, body h3, body h4, body h5, body .cofo p, body .cofo, body .cofo.post-meta, .special_slide_link,
.blog-sec .dipl_blog_slider_meta span, .blog-sec h3, .blog-sec .et_pb_button, 
.int-blog-sec .dipl_blog_slider_meta span, .el_justified_gallery .el-justified-gallery-wrap li a {
  font-family: "richmond-display", sans-serif;
}

body,
body p {
    font-family: inter-variable, sans-serif;
    font-size: 18px;
    font-style: normal;
}

.bigger-text p {
    font-family: inter-variable, sans-serif;
    font-size: 22px!important;
    font-style: normal;
}

.blurb-text .et_pb_blurb_description{
    font-size: 16.5px!important;
}

.body-weight-dark {
    font-weight: 300;
    font-variation-settings: "slnt" 0, "wght" 300;
}

.body-weight-light {
    font-weight: 350;
    font-variation-settings: "slnt" 0, "wght" 350;
}

body .number-item p{
    font-weight: bold!important;
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
        font-size: 280px!important;

}

body #page-container .et_pb_section .et_pb_button {
    font-weight:400;
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    text-transform: uppercase;
}

ul#menu-main-menu{
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
}

ul#menu-footer-menu {
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
}

label.wpforms-field-label {
    font-size: 18px !important;
}

.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full .wpforms-form .wpforms-submit-spinner {
    max-width: 0px!important;
}

.counter, .counter p{
    font-family: inter-variable, sans-serif!important;
    font-variation-settings: "slnt" 0, "wght" 200!important;
}

.hp-blurb h4.et_pb_module_header {
    font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif !important;
}

.hover-text-wrap h3 {
    font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif !important;
    letter-spacing: -2px;
}

.counter-col:not(.et-last-child) {
  position: relative;
}

.counter-col:not(.et-last-child)::after {
    content: "";
    position: absolute;
    top: 0%;
    right: -30px;
    transform: translateX(50%);
    width: 2px;
    height: 100%;
    background: #C3DBF0;
}

.frame-container iframe{
	pointer-events: none;
}
.frame-container iframe.clicked{
	pointer-events: auto;
}

.footer-form .wpforms-field-container input[type="text"],
.footer-form .wpforms-field-container input[type="email"],
.footer-form .wpforms-field-container input[type="tel"],
.footer-form .wpforms-field-container input[type="number"],
.footer-form .wpforms-field-container input[type="url"],
.footer-form .wpforms-field-container input[type="search"],
.footer-form .wpforms-field-container textarea {
  background: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  color: #21486A !important;
  box-shadow: none !important;
}

.footer-form .wpforms-field-container input[type="text"]::placeholder,
.footer-form .wpforms-field-container input[type="email"]::placeholder,
.footer-form .wpforms-field-container input[type="tel"]::placeholder,
.footer-form .wpforms-field-container input[type="number"]::placeholder,
.footer-form .wpforms-field-container input[type="url"]::placeholder,
.footer-form .wpforms-field-container input[type="search"]::placeholder,
.footer-form .wpforms-field-container textarea::placeholder {
  color: #21486A !important;
  opacity: 1 !important;
  padding-left: 0px !important;
}



button#wpforms-submit-544 {
    background-color: #21486A !important;
    border-radius: 0px !important;
    padding: 0px 30px !important;
}

/*WP Forms Styles*/

/* Apply Montserrat SemiBold to ALL form text */
.wpforms-form,
.wpforms-form * {
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    font-weight: 600 !important; /* SemiBold */
}

/* Labels */
.wpforms-form .wpforms-field-label {
    color: #1a3e57 !important;
}

.swiper-button-next, .swiper-button-prev {
    top: 87%!important;
}

.footer-form .wpforms-form .wpforms-field-label
 {
    color: #fff !important;
}

.footer-form button#wpforms-submit-110 {
    background-color: white !important;
    color: #21486A !important;
    border-radius: 0px !important;
}

/* Inputs + textfields */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="number"],
.wpforms-form input[type="url"],
.wpforms-form select,
.wpforms-form textarea {
    background: transparent !important;
    border: none !important;
    border: 1px solid #627484 !important;
    color: #1a3e57 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    font-weight: 600 !important;
    font-size: 16px !important;
}

/* Placeholder text */
.wpforms-form ::placeholder {
    color: #1a3e57 !important;
    opacity: 1 !important;
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    font-weight: 600 !important;
    font-size: 16px !important;
}

/* Focus state */
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
    outline: none !important;
    border-bottom: 1px solid #1a3e57 !important;
    box-shadow: none !important;
}

.et-db #et-boc .et-l .et_pb_module .wpforms-container .wpforms-field{
    padding: 10px 0!important;
}

.wpforms-submit-container {
    margin-top: 25px !important;
}

button#wpforms-submit-110 {
    color: #FFFFFF !important;
    border-width: 0px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    background-color: #1A3E57 !important;
    border-radius: 60px !important;
    padding-left: 35px !important;
    padding-right: 35px !important;
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    padding-top: 2px !important;
}



/*--------------------------------------------------------------
    Header Elements
-------------------------------------------------------------- */

.et_pb_menu .et_pb_menu__search-input {
    color: #fff!important;
}

.et_pb_search input,
.et_pb_searchform input,
.et_pb_s input {
  color: #fff !important;
}

.et_pb_search input::placeholder,
.et_pb_searchform input::placeholder,
.et_pb_s input::placeholder {
  color: #fff !important;
  opacity: 1 !important;
}
    
.et_pb_sticky .et_pb_searchform input::placeholder{
    color: black!important;
}
 
.et_pb_sticky .et_pb_menu .et_pb_menu__search-input {
    color: black!important;
}

.header-logo {
  transition: opacity 0.2s ease;
}


.et-menu li li a {
    width: 280px!important;
}

.nav li ul {
    width: 280px!important;
}

html .et_pb_menu_1_tb_header.et_pb_menu .nav li ul {
    background-color: rgb(26 62 87 / 90%) !important;
}

.nav-row{
    
   left: 0px !important;
}

.show-mobile {
  display: none!important;
}

@media (max-width: 980px) {
  .show-mobile {
    display: block!important;
  }
}


/*--------------------------------------------------------------
    Homepage Elements
-------------------------------------------------------------- */
.hover-text-wrap {
  position: relative;
  display: inline-block;
}

.hover-text-wrap .text-default,
.hover-text-wrap .text-hover {
  transition: opacity 300ms ease, transform 300ms ease;
  display: block;
}

.hover-text-wrap .text-hover {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(700px, calc(100vw - 40px));
  max-width: calc(100vw - 40px);
  opacity: 0;
  text-align: center;
  transform: translateX(-50%) translateY(8px);
  pointer-events: none;
}

.hover-text-wrap:hover .text-default {
  opacity: 0;
  transform: translateY(-8px);
}

.hover-text-wrap:hover .text-hover {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}



.angle-tile {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.angle-tile {
  margin: 20px !important;
  margin-left: 0px!important;
}

.angle-tile:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(20, 45, 70, 0.45);
  z-index: 1;
}

.angle-tile .et_pb_text_inner,
.angle-tile .et_pb_module_header,
.angle-tile h2,
.angle-tile h3 {
  position: relative;
  z-index: 2;
  color: #fff;
}

/* top left */
.angle-tl {
  clip-path: polygon(0 0, 100% 18%, 100% 100%, 0 82%);
}

/* top right */
.angle-tr {
  clip-path: polygon(0 18%, 100% 0, 100% 82%, 0 100%);
}

/* bottom left */
.angle-bl {
  clip-path: polygon(0 0, 100% 18%, 100% 100%, 0 82%);
}

/* bottom right */
.angle-br {
  clip-path: polygon(0 18%, 100% 0, 100% 82%, 0 100%);
}


@media (max-width: 980px) {
  .angle-tl,
  .angle-tr,
  .angle-bl,
  .angle-br {
    clip-path: none !important;
  }
  .angle-tile {
    margin: 0px !important;
  }
}


/*--------------------------------------------------------------
    Interior Page Elements
-------------------------------------------------------------- */


body .sub-text p {
    font-size: 15px !important;
}

.et_pb_team_member_image {
    width: 100% !important;
}

.et_pb_team_member_image {
    width: 100% !important;
    max-width: 100% !important;
}



h4.aioc_slide_title {
    font-family: "inter-variable", sans-serif !important;
    letter-spacing: -5px;
    font-variation-settings: "slnt" 0, "wght" 200 !important;
}


span.aioc_timeline_carousel_icon.et-pb-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

span.aioc_timeline_carousel_icon.et-pb-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 3px;
    height: 70px;
    background: #FFC000;
}

@media (max-width: 980px) {
.aioc_slide_carousel_slide:nth-child(even) {
    align-items: flex-start!important;
}
.aioc_slide_carousel_slide:nth-child(even) .aioc_slide_inner_wrapper{
      border-top-width: 0px !important;
      border-bottom-width: 10px !important;
    border-bottom-color: #ffc000 !important;
}
}

/*-----*/


.blog-row article {
    /*clip-path: polygon(0 0, 100% 0%, 100% 90%, 50% 100%, 0 90%);*/
}

.blog-row  h2.entry-title {
    font-size: 26px;
    line-height: 1.2em;
    font-family: 'inter-variable' !important;
}

.blog-row .post-content {
    margin-bottom: 30px;
}


.blog-feed  a.more-link {
    position: relative;
    top: 15px;
        padding: 10px 30px;
            background-color: white;
}


/* Divi blog module: force 2 columns instead of 3 */
.blog-feed .et_pb_salvattore_content {
  display: flex;
  flex-wrap: wrap;
  gap:0px;
}


.blog-feed .et_pb_post {
  position: relative;
}

/*.blog-feed .et_pb_post .post-meta {
        position: absolute;
        top: 30px;
        left: -1px;
        margin: 0;
        z-index: 10;
        background: #f2c94c;
        color: #fff;
        width: 85px;
        height: 72px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 8px;
        box-sizing: border-box;
        line-height: 1.3em;
}*/
.blog-feed .et_pb_post .post-meta {
   
    display: flex;
    align-items: start;
    justify-content: start;
    text-align: left;

    line-height: 1.3em;
}

.blog-feed .et_pb_post .post-meta a, .blog-feed .et_pb_post .post-meta span, .blog-feed .et_pb_post .post-meta .published {
    color: #fff;
    font-variation-settings: 'wght' 800, 'slnt' 0;
    font-size: 17px;
    text-align: left;
    line-height: 1.3em;
}

@media (min-width: 981px) {
  
    .et_pb_salvattore_content .et_pb_post {
    display: flex;
    flex-direction: column;
    min-height: 600px;
    background: #fff;
  }
}

@media (min-width: 981px) {
    .et_pb_gutters2 .et_pb_column_4_4 .et_pb_blog_grid .column.size-1of3, .et_pb_gutters2.et_pb_row .et_pb_column_4_4 .et_pb_blog_grid .column.size-1of3 {
        width: 31.333%;
        margin-right: 1%!important;
    }
}

@media (max-width: 980px) {
  .blog-feed .et_pb_salvattore_content > .column,
  .blog-feed .et_pb_salvattore_content > .column.size-1of3 {
    width: 100% !important;
  }
}

.person .et_pb_team_member_image,
.person .et_pb_team_member_image img {
  width: 100%;
  height: 100%;
}

.person .et_pb_team_member_image img {
  display: block;
  object-fit: cover;
}

.person-column {
  clip-path: polygon(0 0, 100% 0, 100% 93%, 50% 100%, 0 93%);
}

.person-column {
  position: relative;
  padding-bottom: 20px; /* reserve space so content doesn't overlap the plus */
}

.person-column {
  position: relative;
  min-height: 00px; /* adjust */
}

.person-column .plus {
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
}

.interior-hero {
    position: relative; /* required so ::after positions correctly */
    z-index: 1;
}

.interior-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(/wp-content/uploads/2025/11/interior-banner-small-1.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center right;
    z-index: 1;
    pointer-events: none;
}

.quote, .quote p {
    font-family: "richmond-display", sans-serif !important;
    font-size: 32px !important;
    color: #21486A !important;
    font-weight: 200;
    line-height: 1.25em;
}

.list-number, .list-number p{
font-family: "inter-variable", sans-serif!important;
font-variation-settings: "slnt" 0, "wght" 400;
    font-size: 87px !important;
    color: #21486A !important;
}

.list-header h2 {
font-family: "inter-variable", sans-serif!important;
font-variation-settings: "slnt" 0, "wght" 200;
}

.list-text-col::before {
    content: "";
    position: absolute;
    top: 0%;
    left: -90px;
    transform: translateX(50%);
    width: 2px;
    height: 100%;
    background: #FFC000;
}

.asterisk, .asterisk em{
    font-size: 17px!important;
    font-family: "richmond-display", sans-serif!important;
}

.counter-row h3.title {
    line-height: 1.45em;
}

body .interior-hero .et_pb_row {
    /*max-width: calc(100% - 380px);*/
    margin-left: 2.5% !important;
}

.dipl_image_card_image_wrapper {
    margin-bottom: 20px;
}

.et_pb_blurb_position_left .et_pb_blurb_container {
    padding-left: 0px !important;
}
/*.wp-singular img {*/
/*    padding: 15px 0px;*/
/*}*/
body .blog-sec .et_pb_post .post-content a.more-link {
    color: #FFFFFF !important;
    border-width: 0px !important;
    border-radius: 60px;
    font-size: 18px;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    background-color: #1A3E57;
    padding: 5px 35px 3px;
    margin-top: 10px;
    display: inline-block;
}
body .blog-sec .et_pb_post .post-content a.more-link:hover {
    background-color: #476478;
    color: #FFFFFF !important;
}

body .blog-sec h2.entry-title a {
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    text-transform: uppercase;
    line-height: 1.25;
    font-weight: 600;
        font-size: 22px;
}
body .blog-sec .post-content .post-content-inner p {
    font-size: 16px;
    color: #343030 !important;
}
body .blog-sec article {
    /* padding: 0px !important; */
    /* border: 0px !important; */
    background: transparent !important;
    border: 1px solid #1a3e57 !important;
}

.person-column{cursor:pointer;}

.two-col {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.two-col > div {
  flex: 1;
}

@media (max-width: 768px) {
  .two-col {
    flex-direction: column;
    gap: 16px;
  }
}

/*--------------------------------------------------------------
    Footer Elements
-------------------------------------------------------------- */

/* Footer stays behind page content */
.footer-sec {
  z-index: 1;
}

body.footer-reveal-mode .footer-sec {
  position: fixed;
  /*left: 0;*/
  bottom: 0;
  width: 100%;
}

body.footer-scroll-mode .footer-sec {
  position: relative !important;
  /*left: auto !important;*/
  bottom: auto !important;
  width: 100%;
}

body.footer-scroll-mode #main-content {
  margin-bottom: 0 !important;
}

/* Main content sits above footer */
#main-content {
  position: relative;
  z-index: 2;
  background: #fff;
}

/* Header stays above everything */
.et_pb_section_0_tb_header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999 !important;
}

/* Make sure the header wrapper is above main content */
#page-container .et-l--header,
#page-container .et-l--header .et_pb_section_0_tb_header {
  position: relative;
  z-index: 999999 !important;
}

body .footer-row p, body .footer-row span {
font-family: "inter-variable", sans-serif;
font-variation-settings: "slnt" 0, "wght" 400;
    font-size: 15px;
    font-weight: 600;
}

footer.et-l.et-l--footer p {
    padding-bottom: 5px;
}







/*--------------------------------------------------------------
    Media Query Elements
-------------------------------------------------------------- */
@media screen and (max-width: 1240px) {
    
}
@media screen and (max-width: 1200px) {
    
}
@media screen and (max-width: 1140px) {
    
}
@media screen and (max-width: 980px) {
    .mobile-column-disabled {
    display: none !important;
    }
    body .number-item p {
    font-size: 150px !important;
}
.blog-row h2.entry-title {
    font-size: 20px!important;
    margin-bottom: 10px!important;
}
}
@media screen and (max-width: 767px) {
    .mobile-br{
    display:none;
    }
}
@media screen and (max-width: 640px) {
    
}
@media screen and (max-width: 480px) {
    
}
@media screen and (max-width: 320px) {
    
}




/*--------------------------------------------------------------
    Iphone/Ipad Elements
-------------------------------------------------------------- */

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px)  { /* STYLES GO HERE */}

/*(orientation : portrait) / (orientation : landscape)*/
/*6*/
@media only screen and (min-device-width : 375px) and (max-device-width : 667px) { /* STYLES GO HERE */}
/*6p*/
@media only screen and (min-device-width : 414px) and (max-device-width : 736px) { /* STYLES GO HERE */}
/*5*/
@media only screen and (min-device-width : 320px) and (max-device-width : 568px) { /* STYLES GO HERE */}