/*
Theme Name: Columbine Concrete Custom Theme
Theme URI: https://tandemdesignlab.com
Author: Tandem Design Lab
Author URI: https://tandemdesignlab.com
Description: Custom Theme for Columbine Concrete
Version: 1.2
License: none
Tags:
*/

:root{
  --primary-font: 'Montserrat', sans-serif;
  --primary-font-size: 18px;
  --primary-font-weight: 500;
  --content-width: 1100px;
  --gutter: 100px;
  --gray: #666;
  --light-gray: #EFEFEF;
  --white: #FFF;
  --teal: #006666;
  /* --teal: #1AA79C; */
  --black: #14172C;
  --default-vc-padding: 35px;
  --small-vc-padding: 20px;
  --column-gap: 100px;
  --footer-column-count: 3;
  --line-thickness: 8px;
}

/****************************************************************** Structure ******************************************************************/
body{ padding: 0; margin: 0; font-family: var(--primary-font); font-weight: var(--primary-font-weight); font-size: var(--primary-font-size); line-height: 2;}
a, a:hover { color: var(--teal);}
h1, h2, h3, h4 { color: var(--black); font-weight: 700; font-family: var(--primary-font); text-transform: uppercase;}
h1 { font-size: 2.3em; line-height: 1;}
h2 { font-size: 2.3em; line-height: 1;}
h3 { font-size: 2.3em; line-height: 1;}
h4 { font-size: 2.3em; line-height: 1;}

h1.line, h2.line, h3.line, h4.line { border-bottom: var(--line-thickness) solid var(--black); padding-bottom: 10px;}

.clear{clear:both;}
.alignleft{float:left; padding: 10px 10px 10px 0;}
.alignright{float:right; padding: 10px 0px 10px 10px;}
p { }
p a { color: var(--teal);}
.right { text-align: right;}
.center { text-align: center;}
.socialMediaWidget h3 { margin-top: 0;}
.socialMediaWidget #tdl_social_widget_container .icon:hover:before { color: var(--white);}
#content{font-weight: 400;}
.textPaddingLeft { padding-left: 150px;}
.noBottomMargin { margin-bottom: 0 !important;}

.tdlNoMargins { margin-top: 0; margin-bottom: 0;}

.wpb_text_column ul { padding-left: 0; list-style: none;}

/* Images */
.vc_single_image-wrapper.vc_box_border_grey { outline: 4px solid var(--teal) !important; outline-offset: -4px !important;}
.rowPhotoBlock .wpb_single_image { padding-top: 40px !important;}

/*************************************************************** General Styles ****************************************************************/

/* Header */
#header { height: 130px; display: flex; flex-direction: column; justify-content: space-between;}
header { display: flex; align-items: end; width: var(--content-width); margin: 0 auto; justify-content: space-between;}

#header #topBarWrapper { display: flex; justify-content: end; align-items: center;}
#header #topBarWrapper .topBarWidget ul { margin:0;}
#header .tdlHeaderButton { margin-left: 12px;}
#header .tdlHeaderButton a { padding: 0 0 0 10px !important; border-radius: 0 !important; background: var(--teal) !important; color: var(--white); text-transform: uppercase !important; font-weight: bold !important; transition: ease-in-out all .2s;}
#header .tdlHeaderButton a:hover { background: var(--black) !important; transition: ease-in-out all .2s;}
#header .tdlHeaderButton.iconPhone a:before { content: '\e900'; font-family: 'icomoon'; margin-right: 5px;}
#header .flexFill .tdlHeaderButton a { line-height: 40px !important; font-size: 16px !important;}
#header .flexFill .tdlHeaderButton a:after { content: ''; display: inline-block; width: calc((100vw - var(--content-width) - 20px) / 2);}
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor { color: var(--teal) !important; border: 2px solid var(--teal); transition: ease-in-out all .2s;}
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg { padding-left: 10px; height: 1em !important; width: 1em !important; font-size: 20px !important; padding-top: 5px !important;}
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover { color: var(--white) !important; background: var(--teal) !important;}
.wp-block-social-link:hover { transform: none !important; transition: ease-in-out all .2s;}
.wp-block-social-links .wp-social-link a:hover { border-bottom: 1px solid var(--teal) !important;}

/* Menu Main */
.menu-main-container { }
.menu-main-container { }
.menu-main-container a { text-decoration: none; color: var(--teal); text-transform: uppercase; font-weight: bold; font-size: 14px;}
.menu-main-container a:hover {color: var(--teal); }

/* New TDL Menu */
#menu-main { list-style: none; padding: 0; margin: 0; position: relative; top: -43px;}
#menu-main li { display: inline-block; padding: 0 0 0 30px; position: relative; line-height: 40px !important;}
#menu-main li.current_page_item a{}
#menu-main li.current_page_item .sub-menu li a{ }
#menu-main li.current_page_item .sub-menu li a:hover {}
#menu-main a {}
#menu-main a:hover { color: var(--teal);}
#menu-main li .sub-menu { display: none; background: var(--white); width: 270px; position: absolute; margin-left: 20px; padding: 10px; left: 0%; z-index: 9999; top: 40px;}
#menu-main .sub-menu li { display: block; text-align: left; line-height: 30px !important; position: relative; z-index: 999999; padding: 0 !important;}
/* #menu-main .sub-menu li:hover { background: red; } */
#menu-main .sub-menu li a { text-shadow: none; line-height: 30px !important; display: inline-block; width: 100%;color: var(--teal);font-weight: normal;text-transform: none;}
#menu-main .sub-menu li a:hover, #menu-main li.current_page_item .sub-menu li:hover a { color: var(--teal);}
#menu-main li:hover .sub-menu, #menu-main li.active:hover .sub-menu { display: block !important;}
#menu-main .sub-menu li:hover .sub-menu { display: block;}
#menu-main .sub-menu li .sub-menu { display: none; background: #FFF; width: 280px; position: absolute; margin-left: 109px; padding: 0px 0; border: 1px solid var(--teal); top: -1px;}
#menu-main li.current_page_item .sub-menu a { border-bottom: none;}
#menu-main li.current_page_item .sub-menu li a { color: var(--teal);}
#menu-main li.current_page_item .sub-menu li:hover .sub-menu a { color: var(--teal);}
#menu-main li .sub-menu li.current_page_item a { border: none !important;}

/* Mobile Menu */
#tdl_mm_container { background-color: var(--white); line-height: 2em !important;text-align: left;}
#tdl_mm_container ul li a { text-align: left;line-height: 2em !important; text-decoration: none;}
#tdl_mm_container a { color: var(--teal);}
#tdl_mm_container.dropdown { text-align: center; top: 150px !important;}
#header.sticky #tdl_mm_container.dropdown { text-align: center; top: 75px !important;}
.logged-in #tdl_mm_container.dropdown { text-align: center; top: 162px !important;}
.logged-in #header.sticky #tdl_mm_container.dropdown { text-align: center; top: 55px !important;}
#tdl_mm_container.slide, #tdl_mm_container.push { padding: 0px;}
#tdl_mm_container .sub-menu { padding-top: 0 !important; padding-bottom: 0 !important;}
#tdl_mm_container .sub-menu li { background-color: var(--white); line-height: 2em;}
#tdl_mm_container .sub-menu li.mobileOnly { background-color: var(--white);}
#tdl_mm_container .sub-menu a { color: var(--teal); font-size: 18px;}
#tdl_mm_button { right: 0px; top: 10px; z-index: 999999;}
#header.sticky #tdl_mm_button { top: 15px;}
#tdl_mm_container .menu-item-has-children a:after{ border-color: transparent transparent transparent var(--teal) !important;}
#tdl_mm_button::after, #tdl_mm_button::before, #tdl_mm_button div { background-color: var(--teal) !important;}
#tdl_mm_container .sub-menu .menu-item-has-children a:after { content: ''; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 10px; border-color: transparent transparent transparent #FFF; display: inline-block; margin-left: 10px; position: relative; top: -1px;}
#tdl_mm_container .sub-menu .sub-menu { background-color: #171716;}


/* sticky */
/* .sticky { position: sticky; top: 0; height: 80px; background-color: var(--white); width: 100%; z-index: 10000;}
.sticky .menu-main-container { top: 0;}
.sticky #menu-main { padding: 0;}
.sticky .menu-main-container a { color: var(--teal);}
.sticky .menu-main-container a:hover { color: var(--teal);}
.sticky #menu-main li { line-height: 45px;}
.sticky #menu-item-1234 a { top: 8px; background-image: url('assets/images/iconSearch-light-teal.svg');}
.sticky #menu-main .sub-menu { top: 50px; padding: 20px;} */


/* Add overlay when mobile menu is open */
body.activeMobileMenu:after { content: ''; position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,.8); z-index: 9;}

/* Top Bar */
/* .topBarWidget { background-color: var(--teal); width: 100%;height: 39px;}
.topBarWidget ul { padding: 10px 0; list-style: none;width: var(--headcontent-width); margin: 0 auto;}
.topBarWidget li { display: inline;}
.topBarWidget li a { text-transform: uppercase; padding: 0 50px 0 0;text-decoration: none;}
.topBarWidget a { color: var(--white); font-size: 1em;}
.topBarWidget a:hover, .topBarWidget .phoneIcon a:hover:before { color: var(--white);} */

/* Banner */
rs-fullwidth-wrap { margin-bottom: 40px !important;}

/* Logo */
.logo { width: 300px; position: relative; top: -10px; z-index: 9;}
.logo img { width: 100%;}
.logo a { display: block;}

/* Buttons */
.tdlButtonWrapper .tdlButton { text-decoration: none; text-transform: uppercase; padding: 8px 20px; background: var(--teal); color: var(--white); transition: ease-in-out all .2s;}
.tdlButtonWrapper .tdlButton:hover { background: var(--black); color: var(--white); transition: ease-in-out all .2s;}

.tdlButtonWrapper.white .tdlButton { background: var(--white); color: var(--teal);}
.tdlButtonWrapper.white .tdlButton:hover { background: var(--teal); color: var(--white);}

.tdlButtonWrapper.black .tdlButton { background: var(--black); color: var(--white);}
.tdlButtonWrapper.black .tdlButton:hover { background: var(--teal); color: var(--white);}

.tdlButtonWrapper.border .tdlButton { border: 2px solid var(--teal); color: var(--teal); background: transparent;}
.tdlButtonWrapper.border .tdlButton:hover { color: var(--white); background: var(--teal);}

.tdlButtonWrapper.border.white .tdlButton { border: 2px solid var(--white); color: var(--white); background: transparent;}
.tdlButtonWrapper.border.white .tdlButton:hover { color: var(--teal); background: var(--white);}

.tdlButtonWrapper.border.black .tdlButton { border: 2px solid var(--black); color: var(--black); background: transparent;}
.tdlButtonWrapper.border.black .tdlButton:hover { color: var(--white); background: var(--black);}


.tdl-image-button { border: 4px solid var(--teal); margin-bottom: 35px; transition: ease-in-out all .2s; padding-bottom: 110px;}
.tdl-image-button a { text-decoration: none;}
.tdl-image-button a h3 { position: absolute; top: 0; left: 0; display: inline-block; background: var(--teal); color: var(--white); font-size: 20px; margin: 0; padding: 20px; transition: ease-in-out all .2s}
.tdl-image-button a .tdl-button-description { padding: 10px 20px;}
.tdl-image-button a .tdl-button-description p { padding: 0px; margin: 0;}
.tdl-image-button a .learn-more-button-wrapper { text-align: center; position: absolute; left: 0; bottom: 30px; width: 100%;}
.tdl-image-button a .learn-more-button { border: 2px solid var(--teal); text-transform: uppercase; display: inline-block; padding: 0 20px; margin: 35px 0; transition: ease-in-out all .2s}
.tdl-image-button:hover .learn-more-button { background: var(--black); color: var(--white); border: 2px solid var(--black); transition: ease-in-out all .2s}
.tdl-image-button:hover h3 { background: var(--black); color: var(--white); transition: ease-in-out all .2s}
.tdl-image-button:hover { border: 4px solid var(--black); transition: ease-in-out all .2s}
.tdl-button-image img { width: 100%;}

/* Footer */
#footer { background: var(--black); padding-bottom: 35px;  color: var(--white); padding-top: 35px; }
/* footer { width: var(--content-width); margin: 0 auto; position: relative; display: flex; gap: var(--column-gap); line-height: 1.5;} */
footer { width: var(--content-width); margin: 0 auto; position: relative; display: grid; gap: var(--column-gap); line-height: 1.5; grid-template-columns: repeat(3,1fr);}
footer ul { list-style: none; padding-left: 0; margin-top: 0;}
footer ul li { }
footer ul li a { font-weight: normal; font-size: 16px; text-transform: uppercase; color: var(--white);}
footer a { text-decoration: none;}
/* .footer_column { flex: 0 0 calc((100% / var(--footer-column-count)) - ((var(--column-gap) * (var(--footer-column-count) - 1)) / var(--footer-column-count)));} */
.footer_column:first-of-type { align-self: center;}
.footerColumn1 { text-align: center;}
footer h3 { color: var(--white); text-transform: uppercase; font-size: 20px; border-bottom: var(--line-thickness) solid var(--white); padding-bottom: 10px;}
#credit, #copy{ text-align: center; font-size: .75em;margin: 0;}
#sub_footer { padding-bottom: 35px;  background: var(--black); color: var(--white);}
#sub_footer a {text-decoration: none; color: var(--white);}
#sub_footer footer { padding-top: 35px; width: var(--content-width) !important; display: block;}

/* Address Widget */
#tdl_contact_widget_container { padding-bottom: 0px;}
#tdl_contact_widget_container #emailContainer { margin: 15px 0;}
#tdl_contact_widget_container p { padding: 0; margin: 0;}
#tdl_contact_widget_container strong { font-weight: 400; }

/* Social Media Widget */
#tdl_social_widget_container { display: inline-block;}
#tdl_contact_widget_container, #tdl_contact_widget_container a { color: var(--white);}
#tdl_social_widget_container a{text-decoration: none;}
#tdl_social_widget_container .icon { margin-right: 20px;}
#tdl_social_widget_container .icon:before { color: var(--white); font-size: 16px;}
#tdl_social_widget_container .icon:hover:before { color: var(--teal);}

/* Forms */
.nf-form-content { max-width: none !important; padding: 0 !important;}
.nf-form-fields-required { text-align: right; font-style: italic !important;}
.submit-container input, input[type="submit"]{ padding: 0 75px !important; background: transparent !important; text-transform: uppercase !important; font-weight: bold; border: 2px solid var(--teal) !important; color: var(--teal) !important; line-height: 2 !important;}
.submit-container input:hover, input[type="submit"]:hover { background: var(--teal) !important; color: var(--white) !important}
.nf-error-msg, .ninja-forms-req-symbol { color: var(--teal) !important;}
.nf-form-content button:hover, .nf-form-content input[type="button"]:hover { background: var(--white) !important; color: var(--teal) !important;}
.nf-field-label label { font-weight: normal !important; color: var(--black);}

.entry-content .nf-form-content input:not([type="button"]), .entry-content .nf-form-content textarea, textarea, input{background-color: var(--white);border: 1px solid var(--teal); line-height: 2 !important; }
.entry-content .nf-field-label{color: var(--teal); }
.entry-content .nf-form-content input[type="button"]{background: transparent; border: 1px solid var(--teal); color: var(--teal);float:right;border-width: 2px; }
footer .submit-container input { padding: 0 20px !important; background: var(--teal) !important; text-transform: uppercase !important; font-weight: bold; position: relative;}

.checkbox-wrap {
  flex-wrap: wrap !important; align-items: start !important;
  input { transform: scale(2) translateX(25%) !important;}
  .nf-field-description {
    padding-left: 40px !important; font-style: italic !important; color: var(--gray); margin-bottom: 10px; font-size: .8em !important;
    p { line-height: 1.5 !important; margin-bottom: var(--small-vc-padding) !important;}
  }
}

.list-checkbox-wrap {
  input { transform: scale(2) translateX(25%) !important; }
  &:has(.nf-field-description){
    .nf-field-label {margin-bottom: 0 !important;}
  }
  .nf-field-description {
    font-style: italic !important; color: var(--gray); font-size: .8em !important;
    p { line-height: 1.5 !important; margin-bottom: var(--small-vc-padding) !important;}
  }
}

.list-checkbox-wrap {
  ul { display: flex !important; gap: 20px !important; flex-direction: column !important;}
  li {
    display: flex !important; align-items: center !important; margin-bottom: 0 !important;
    label { line-height: 1.5 !important;}
  }
}

.nf-breadcrumb:after { content: "|"; margin-left: 16px !important; font-weight: normal !important;}
ul.nf-breadcrumbs {
  li {
    &:last-of-type {
      .nf-breadcrumb:after { content: ""; margin-left: 0px !important;}
    }
  }
}
.field-wrap.html-wrap img { max-height: 500px !important; max-width: 500px !important;}
p.tdl-tooltip { max-width: var(--content-width) !important;}
.nf-progress { background-color: var(--teal) !important;}
.field-wrap > div input[type="number"] { width: auto !important;}

.html-container:has(.tdl-check) {
  margin-bottom: 0 !important;
}

.html-wrap {
  p.tdl-check {margin: 0 !important;}
}
.html-wrap:has(.tdl-check) {
  .tdl-check {
    display: flex; gap: 10px;
    &:before { content: '√'; color: var(--teal);}
  }
}
.nf-next, .nf-previous { padding: 0 20px !important; text-transform: uppercase !important;}
.listradio-wrap {
  li input { margin-top: .75em !important;}
}

.nf-field-element {
  p.step {
    font-size: 2em; border-bottom: 2px solid var(--teal); color: var(--teal) !important; font-family: var(--primary-font) !important; text-transform: uppercase !important; font-weight: 700 !important; line-height: 1.2 !important;
  }
  h3 { font-size: 1.2em !important;}
}

.nf-field-container.tdl-2-col ul {
  columns: 2 !important; display: block !important;
  li { margin-bottom: 15px !important;}
}

/* More Link */
.more-link { color: var(--teal);}


/* Accordion styles */
.vc_tta-panel .vc_tta-panel-title > a { color: var(--teal) !important; font-size: 1.6em !important;}
.vc_tta-panel-heading, .vc_tta-panel-body { border: 0px !important;}
.vc_tta-panel-body { background-color: var(--gray);}
.vc_tta-controls-icon:before { border-color: var(--teal) !important;}
.vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right.vc_tta-panel-title > a { padding-right: 200px !important;}
.vc_tta-panel { border-bottom: 1px solid var(--teal);}
.vc_tta .vc_tta-controls-icon { height: 20px !important; width: 20px !important;}
.vc_tta .vc_tta-controls-icon.vc_tta-controls-icon-triangle:before { border-width: 10px !important;}
.vc_active .vc_tta-panel-body { background-color: var(--gray) !important;}
.vc_active.vc_tta-panel { border: 1px solid var(--gray) !important;}
.vc_tta-panel .vc_tta-panel-heading:focus, .vc_tta-panel .vc_tta-panel-heading:hover { color: var(--white) !important; background-color: var(--white) !important;}

/* Call To Action */
.tdlCTAWrapper.vc_hidden { opacity: 1 !important;}
.tdlCTAWrapper:not('.tdlNoBottomMargin, .tdlNoTopMargin, .tdlNoMargins') { margin: 35px 0;}
.tdlCTAWrapper.tdlNoBottomMargin { margin: 35px 0 0 0;}
.tdlCTAWrapper.tdlNoTopMargin { margin: 0 0 35px 0;}
.tdlCallToActionContainer > .vc_row { padding-left: 0 !important; width: 100% !important; padding-right: 0 !important; left: auto !important;}
.tdlCallToActionContainer .vc_row:not(.vc_inner) { background: var(--teal);}
.tdlCallToActionContainer .vc_row.roadBG { background-image: url('assets/images/road_bg.jpg'); background-size: cover; background-position: center; padding: 100px 0;}
.tdlCallToActionContainer .vc_row.roadBG h3 { font-size: 60px; text-transform: uppercase; padding-bottom: 0;}
.tdlCallToActionContainer .vc_row.roadBG h4 { font-size: 30px;}
.tdlCallToActionContainer .vc_row.roadBG .vc_column-inner { padding: 0; margin: 0;}
.vc_row.tdlCallToActionContainer { margin-bottom: 0 !important;}
.tdlCTAWrapper :where(h1,h2,h3,h4) { color: var(--white); font-size: 2em;line-height: 1.2em; border-bottom: none !important;}
.tdlCTAWrapper p { color: var(--white); font-size: 1.7em;line-height: 1.2em;}
.tdlCTAWrapper .tdlButtonWrapper { margin-top: var(--default-vc-padding);}

/* Sections */
.tealBG {background: var(--teal); padding: 35px 0;}
.tealBG h1, .tealBG h2, .tealBG h3, .tealBG h4 {color: var(--white);}
.tealBG h1.line, .tealBG h2.line, .tealBG h3.line, .tealBG h4.line { border-bottom: var(--line-thickness) solid var(--white); padding-bottom: 10px;}

.darkBG {background: var(--black); padding: 35px 0;}
.darkBG h1, .darkBG h2, .darkBG h4, .darkBG h4 {color: var(--white);}
.darkBG h1.line, .darkBG h2.line, .tealBG h3.line, .darkBG h4.line { border-bottom: var(--line-thickness) solid var(--white); padding-bottom: 10px;}

/*************************************************************** Page Specific ****************************************************************/

/* Featured Projects */
.tdl-featured-project.default { margin: 70px 0;}
.tdl-featured-project.default .content-wrapper { display: flex; flex-wrap: wrap; gap: var(--default-vc-padding); margin: 70px 0;}
.tdl-featured-project.default .featured-image { flex: 0 0 33%;}
.tdl-featured-project.default .featured-image img { width: 100%; outline: 4px solid var(--white); outline-offset: -4px;}
.tdl-featured-project.default .description { flex: 1; color: var(--white);}
.tdl-featured-project.default .button-wrapper { flex: 0 0 100%; text-align: center;}

/* Featured Project Offset Layout */
.tdl-featured-project.offset { }
.tdl-featured-project.offset .tdl-featured-project-wrapper { }
.tdl-featured-project.offset .tdl-featured-project-content { padding: var(--default-vc-padding) 0 0 0; position: relative;}
.tdl-featured-project.offset .tdl-featured-project-content:before { content: ''; display: inline-block; background: var(--teal); position: absolute; top: 0; right: 0; width: calc(100% - ((100% - var(--content-width)) / 2) + 10%); height: 100%; z-index: -1;}
.tdl-featured-project.offset .project-heading-wrapper { width: var(--content-width); margin: 0 auto;}
.tdl-featured-project.offset .project-heading-wrapper h3 { text-transform: uppercase; color: var(--white);}
.tdl-featured-project.offset .project-heading-wrapper h3.line { border-bottom: var(--line-thickness) solid var(--white)}
.tdl-featured-project.offset #featured-carousel { position: relative; transform: translateY(50%); margin-top: -70px; margin-bottom: 200px; width: var(--content-width); margin-left: auto; margin-right: auto;}
/* .tdl-featured-project.offset #featured-carousel:after { content: ''; display: inline-block; position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; background: var(--white); z-index: 1;} */
.tdl-featured-project.offset .content-block { }
.tdl-featured-project.offset .content-wrapper { display: flex; background: var(--teal); gap: var(--default-vc-padding);}
.tdl-featured-project.offset .content-wrapper .featured-image { flex: 0 0 45%;}
.tdl-featured-project.offset .content-wrapper .featured-image img { width: 100%; display: block; outline: 4px solid var(--white); outline-offset: -4px; aspect-ratio: 16/9; object-fit: cover;}
.tdl-featured-project.offset .content-wrapper .description { color: var(--white); padding-right: calc((100% - var(--content-width)) / 2);}

/* Featured Project Buttons */
.tdl-featured-project .more { color: var(--white); text-decoration: none; border: 4px solid var(--white); display: inline-block; font-size: 2em; padding: 5px 150px; text-transform: uppercase; transition: ease-in-out all .2s;}
.tdl-featured-project .more:hover { color: var(--white); background: var(--black); transition: ease-in-out all .2s;}

/* Featured Project Carousel */
#featured-carousel-track { padding-left: 0 !important; padding-right: 0 !important;}
#featured-carousel .splide__slide:hover img { opacity: .75;}
#featured-carousel .splide__slide { background: var(--white);}
#featured-carousel .splide__slide img { width: calc(100% - 8px); aspect-ratio: 1/1; object-fit: cover; border: 4px solid var(--white);}
.splide__arrow--prev, .splide__arrow--next { width: 0 !important; height: 0 !important; border-top: 10px solid transparent !important; border-bottom: 10px solid transparent !important;transition: ease-in-out all .2s; border-radius: 0 !important; background: transparent !important; opacity: 1 !important; transform: translateY(-200%) !important;}
.splide__arrow--prev { border-right: 10px solid var(--white) !important; left: -50px !important;}
.splide__arrow--prev:hover { border-right: 10px solid var(--black) !important;}
.splide__arrow--next { border-left: 10px solid var(--white) !important; right: -50px !important;}
.splide__arrow--next:hover { border-left: 10px solid var(--black) !important;}
.splide__arrow {}
.tdl-featured-project.default .splide__arrow { top: calc(50% + 20px) !important;}


/* Additional Services */
.tdl-additional-services.default { margin: 70px 0;}
.tdl-additional-services.default .content-wrapper { display: flex; flex-wrap: wrap; gap: var(--default-vc-padding); margin: 70px 0;}
.tdl-additional-services.default .featured-image { flex: 0 0 33%;}
.tdl-additional-services.default .featured-image img { width: 100%; outline: 4px solid var(--white); outline-offset: -4px;}
.tdl-additional-services.default .description { flex: 1; color: var(--white);}
.tdl-additional-services.default .button-wrapper { flex: 0 0 100%; text-align: center;}

/* Additional Services Offset Layout */
.tdl-additional-services.offset { margin: 35px 0 70px 0;}
.tdl-additional-services.offset .tdl-additional-services-wrapper { }
.tdl-additional-services.offset .tdl-additional-services-content { padding: var(--default-vc-padding) 0 100px 0; position: relative;}
.tdl-additional-services.offset .tdl-additional-services-content:before { content: ''; display: inline-block; background: var(--teal); position: absolute; top: 0; right: 0; width: calc(100% - ((100% - var(--content-width)) / 2) + 10%); height: 100%; z-index: -1;}
.tdl-additional-services.offset .services-heading-wrapper { width: var(--content-width); margin: 0 auto;}
.tdl-additional-services.offset .services-heading-wrapper h3 { text-transform: uppercase; color: var(--white);}
.tdl-additional-services.offset .services-heading-wrapper h3.line { border-bottom: var(--line-thickness) solid var(--white)}
.tdl-additional-services.offset #featured-carousel { position: relative; transform: translateY(50%); margin-top: -70px; margin-bottom: 200px; width: var(--content-width); margin-left: auto; margin-right: auto;}
/* .tdl-featured-project.offset #featured-carousel:after { content: ''; display: inline-block; position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; background: var(--white); z-index: 1;} */
.tdl-additional-services.offset .content-block { color: var(--white);}
.tdl-additional-services.offset .content-wrapper { display: flex; gap: var(--default-vc-padding);}
.tdl-additional-services.offset .content-wrapper .featured-image { flex: 0 0 45%; aspect-ratio: 16/9; object-fit: cover;}
.tdl-additional-services.offset .content-wrapper .featured-image img { width: 100%; display: block; outline: 4px solid var(--white); outline-offset: -4px; aspect-ratio: 16/9; object-fit: cover;}
.tdl-additional-services.offset .content-wrapper .description { color: var(--white); padding-right: calc((100% - var(--content-width)) / 2);}

/* Team Members */
.teamMemberTDLBlock { }
.teamMemberTDLBlock .teamMemberTDL { display: inline-block; width: 20%; margin-right: 6%; vertical-align: top; margin-bottom: 70px;}
.teamMemberTDLBlock .teamMemberTDL:nth-of-type(4n+4) { margin-right: 0;}
.teamMemberTDLBlock .teamMemberTDL .teamMemberTDL_image {}
.teamMemberTDLBlock .teamMemberTDL .teamMemberTDL_image img { width: 100%; height: auto;}
.teamMemberTDLBlock .teamMemberTDL h3 { font-size: 20px; margin: 10px 0 5px 0;}
.teamMemberTDLBlock .teamMemberTDL h4 { font-size: 16px; font-weight: 400; color: var(--teal); margin: 0;}
.teamMemberTDLBlock .teamMemberTDL h5 { color: rgba(10,15,28, .5); font-weight: 400; font-size: 16px; margin: 0}
.teamMemberTDLBlock .teamMemberTDL h4, .teamMemberTDLBlock .teamMemberTDL h5 { font-size: 12px;}
.teamMemberTDL a:link { text-decoration: none;}


/* Single Team Member */
.single-team_member article { width: 1080px; margin: 100px auto;}
.single-team_member img {}
.single-team_member h1 { margin-bottom: 0px; color: #0A0F1C; font-size: 60px; margin: 10px 0;}
.single-team_member h4 { margin-bottom: 0; font-weight: var(--primary-font-weight);}
.single-team_member h4.meet { color: var(--teal); font-size: 23px; margin-top: 0; font-weight: 700;}
.single-team_member h4.contact { font-size: 40px; margin: 30px 0; font-weight: 700;}
.single-team_member h2.posloc { font-size: 20px; color: rgba(10,15,28, .8); font-weight: var(--primary-font-weight);}
.single-team_member .member-header { padding-bottom: 20px; border-bottom: 1px solid #0A0F1C;  margin-bottom: 20px;}
.single-team_member .contact-info p { margin-bottom: 0;}
.single-team_member .left-column { width: 30%; display: inline-block; vertical-align: top;}
.single-team_member .right-column { width: 62%; display: inline-block; padding-left: 7%; vertical-align: top;}
.single-team_member .contact-info a { color: var(--teal);}
.single-team_member .contact-info p { line-height: 1.8em;}
.single-team_member ul#expertise { list-style: none; padding-left: 0;}
.single-team_member ul#expertise li { display: inline-block; border: 2px solid #0A0F1C; padding: 10px 30px; margin-right: 20px; font-weight: 700;}

/* TDL News Article */
.tdlNewsArticle h3 { margin-bottom: 0;}
.tdlNewsArticle h3 { font-size: 2em; margin: 15px 0 40px 0;}
.tdlNewsArticle { padding-bottom: 35px; margin-bottom: 35px; border-bottom: 1px solid var(--teal);}
.tdlNewsArticle .sourceDate { color: var(--teal); font-weight: bold;}


/* Testimonials */
.testimonialRow { height: 420px; margin-top: 100px;}
.tdl-testimonial-container { margin: 70px 0;}
.tdl-testimonial-container .testimonial_content { color: var(--white) !important; padding: 0px 140px; position: relative; font-size: var(--primary-font-size); line-height: 1.6em; text-align: center; }
.tdl-testimonial-container .testimonial_content:before, .tdl-testimonial-container .testimonial_content:after { content: '"';}
.tdl-testimonial-container .testimonialAuthor { margin-top: 20px !important; color: var(--white) !important; text-align: center;}
.tdl-testimonial-container .testimonialAuthor:before { content: ''; width: 20px; height: 1px; background: var(--white); display: inline-block; margin-right: 10px; position: relative; top: -7px;}
.tdl-testimonial-container.carousel .testimonialTDL { display: none;}
.tdl-testimonial-container.carousel .testimonialTDL:first-of-type { display: block;    }

.tdl-testimonial-container.list .testimonialTDL { margin-bottom: 70px; }
.tdl-testimonial-container.list .testimonial_content { font-size: 1em;}

.testimonialRow #dotsNavigation { text-align: center; }
.testimonialRow #dotsNavigation ul { list-style: none; padding-left: 0;}
.testimonialRow #dotsNavigation ul li { display: inline-block; height: 5px; width: 5px; background: var(--white); margin: 0 5px; border-radius: 50%;}
.testimonialRow #dotsNavigation ul li:hover { background: var(--teal);}
.testimonialRow #dotsNavigation ul li.active { background: var(--teal);}
.testimonialRow{height: 420px;}


/* Blog Posts */
#tdl-post-container {}
.tdl-blog-post { padding-bottom: var(--gutter); display: inline-block; vertical-align: top; width: 29%; margin-right: 6%}
.tdl-blog-post:nth-of-type(3n+3) { margin-right: 0;}
.tdl-blog-post img { width: 100%; height: auto;}
.tdl-blog-post.square {}
.tdl-blog-post.square img {}
.tdl-blog-post.circle {}
.tdl-blog-post.circle img { border-radius: 50%;}
.tdl-blog-post .readMore { display:  inline-block; margin-top: 20px;  color: var(--teal);}
.readMore{font-weight: bold;}
.tdl-blog-post.featured { width: 100%; margin-bottom: 35px;}
.tdl-blog-post.featured img { width: 40%; float: left; padding-right: 70px;}
.tdl-blog-post .postCatContainer { color: var(--teal);padding-top: 30px;}

.tdl-blog-post.toggle .readMore:after { content: 'Read More'; cursor: pointer;}
.tdl-blog-post.toggle .readMore.active:after { content: 'Read Less';}
.tdl-blog-post.toggle.active .content { display: inline-block;}
.tdl-blog-post.toggle.active .excerpt { display: none;}

.tdl-blog-post .postCatContainer { font-weight: bold; text-decoration: none;}
.tdl-blog-post h3, .recent-post-container h3 { font-size: 1.75em; font-weight: var(--primary-font-weight); line-height: 1em;}
.readMore { text-transform: uppercase; text-decoration: none;}
.readMore:hover { color: var(--teal);}

.postCatContainer a, .tdl-blog-post a, .recent-post-container a { text-decoration: none;}

/* Post Categories */
.archive.category { }
.archive.category h1.catTitle { color: var(--teal) !important; margin-top: 70px; margin-bottom: 70px}
.archive.category article { width: calc(var(--content-width) - 20px); margin: 0 auto; padding-bottom: 100px;}

/* Single Post */
.single-post article { width: calc(var(--content-width) - 20px); margin: 0 auto; padding-bottom: 100px;}
.single-post h1 { color: var(--teal);}
.single-post h3 { color: var(--teal);}
.single-post h4 { color: var(--teal);}
.single-post .post-header { text-align: center; padding-top: 100px;}
.single-post .recent-post-container { background: #ECECEC;}
.single-post .post-wrapper { width: calc(var(--content-width) - 20px); margin: 0 auto; padding: 100px 0;}
.single-post .recent-post-container h4 { margin-bottom: 0; text-align: center;}
.single-post .recent-post-container h2 { margin-top: 5px; text-align: center; margin-bottom: 70px;}
.single-post .recent-post-container .post { display: inline-block; vertical-align: top; width: 29%; margin-right: 6%}
.single-post .recent-post-container .post:nth-of-type(3n+3) { margin-right: 0;}
.single-post .recent-post-container .post img { width: 100%; height: auto;}
.single-post .recent-post-container .post h3 { color: var(--teal);}
.single-post .recent-post-container .post .postCatContainer { margin-top: 15px;}
.single-post .recent-post-container .post .postCatContainer a { color: var(--teal);}
.single-post .recent-post-container .post .readMore { color: var(--teal);}

/* TDL Masonry Image Grid */
.tdl_masonry_grid.default { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--default-vc-padding); margin: var(--default-vc-padding) 0;}

.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(1) { grid-column: 1; grid-row: 1;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(2) { grid-column: 2 / span 2; grid-row: 1 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(3) { grid-column: 4; grid-row: 1;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(4) { grid-column: 1; grid-row: 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(5) { grid-column: 4; grid-row: 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(6) { grid-column: 1 / span 2; grid-row: 3 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(7) { grid-column: 3; grid-row: 3;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(8) { grid-column: 4; grid-row: 3;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(9) { grid-column: 3; grid-row: 4;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(10) { grid-column: 4; grid-row: 4;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(11) { grid-column: 1; grid-row: 5;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(12) { grid-column: 2; grid-row: 5;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(13) { grid-column: 3 / span 2; grid-row: 5 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(14) { grid-column: 1; grid-row: 6;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(15) { grid-column: 2; grid-row: 6;}

.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(16) { grid-column: 1; grid-row: 7;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(17) { grid-column: 2 / span 2; grid-row: 7 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(18) { grid-column: 4; grid-row: 7;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(19) { grid-column: 1; grid-row: 8;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(20) { grid-column: 4; grid-row: 8;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(21) { grid-column: 1 / span 2; grid-row: 9 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(22) { grid-column: 3; grid-row: 9;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(23) { grid-column: 4; grid-row: 9;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(24) { grid-column: 3; grid-row: 10;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(25) { grid-column: 4; grid-row: 10;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(26) { grid-column: 1; grid-row: 11;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(27) { grid-column: 2; grid-row: 11;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(28) { grid-column: 3 / span 2; grid-row: 11 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(29) { grid-column: 1; grid-row: 12;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(30) { grid-column: 2; grid-row: 12;}

.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(31) { grid-column: 1; grid-row: 13;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(32) { grid-column: 2 / span 2; grid-row: 13 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(33) { grid-column: 4; grid-row: 13;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(34) { grid-column: 1; grid-row: 14;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(35) { grid-column: 4; grid-row: 14;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(36) { grid-column: 1 / span 2; grid-row: 15 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(37) { grid-column: 3; grid-row: 15;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(38) { grid-column: 4; grid-row: 15;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(39) { grid-column: 3; grid-row: 16;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(40) { grid-column: 4; grid-row: 16;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(41) { grid-column: 1; grid-row: 17;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(42) { grid-column: 2; grid-row: 17;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(43) { grid-column: 3 / span 2; grid-row: 17 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(44) { grid-column: 1; grid-row: 18;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(45) { grid-column: 2; grid-row: 18;}

.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(46) { grid-column: 1; grid-row: 19;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(47) { grid-column: 2 / span 2; grid-row: 19 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(48) { grid-column: 4; grid-row: 19;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(49) { grid-column: 1; grid-row: 20;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(50) { grid-column: 4; grid-row: 20;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(51) { grid-column: 1 / span 2; grid-row: 21 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(52) { grid-column: 3; grid-row: 21;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(53) { grid-column: 4; grid-row: 21;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(54) { grid-column: 3; grid-row: 22;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(55) { grid-column: 4; grid-row: 22;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(56) { grid-column: 1; grid-row: 23;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(57) { grid-column: 2; grid-row: 23;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(58) { grid-column: 3 / span 2; grid-row: 23 / span 2;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(59) { grid-column: 1; grid-row: 24;}
.tdl_masonry_grid.default .tdl-masonry-item:nth-of-type(60) { grid-column: 2; grid-row: 24;}

.tdl_masonry_grid.four { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: var(--default-vc-padding) 0;}
.tdl_masonry_grid .tdl-masonry-item {}
.tdl_masonry_grid .tdl-masonry-item a {}
.tdl_masonry_grid .tdl-masonry-item img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; outline: 4px solid var(--teal); outline-offset: -4px;}

/* 404 Page */
article.error404 {
  width: var(--content-width);
  margin: 0 auto;
  padding: var(--default-vc-padding) 0;

  h1 { margin-bottom: 0 !important;}
  p { margin-top: 0;}
  header { display: block !important;}
}

/* TDL Image Block */
.tdl-image-block {
  display: flex; flex-direction: row; gap: var(--small-vc-padding); margin-bottom: var(--default-vc-padding);

  &.right { flex-direction: row-reverse;}

  h3 {
    &.mobile { display: none;}
    &.desktop { display: block;}
  }

  .content-wrapper { flex: 0 0 66%;}

  .image-wrapper {
    flex: 1; margin-top: 40px;

    img { width: 100%; outline: 4px solid var(--teal); outline-offset: -4px;}
  }
}

