/*
Theme Name: SunState-child
Theme URI: https://cobolt.com/
Description: A custom, responsive child theme built for Sun State Nursery by <a href="https://cobolt.com">Cobolt LLC/a>.
Template: SunState
Version: 1.0

License: Licensed to Sun State Nursery. Not for reuse.
License URI: http://cobolt.com/

*/

/*
:root{
	--black: #000000;
	--txt-black: #151d2a;
	--white: #ffffff;
	--darkgreen: #176a78;
	--lightgreen: #4b8540;
	--teal: #349aaf;
	--sora-font: "Sora", "Helvetica Neue", Arial, sans-serif;
	--inter-font: "Inter", "Helvetica Neue", Arial, sans-serif;
	--cta-gradient: linear-gradient(0deg,rgba(23, 106, 120, 1) 0%, rgba(23, 106, 120, 0.75) 25%, rgba(23, 106, 120, 0.5) 50%, rgba(23, 106, 120, 0.25) 75%, rgba(23, 106, 120, 0.01) 100%);
}
*/

/* Typography */
td, p, li { font-size: clamp(12px, 0.8rem, 20px); line-height: clamp(22px, 1.28rem, 32px); font-weight: 400; margin-bottom: 0.8rem; color: var(--darkgray); margin-top: 0; font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important; font-optical-sizing: auto; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; color: var(--darkblue); font-style: normal; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; font-optical-sizing: auto; }
h1, .heading1, .wpb_text_column h1:last-child { font-size: 1.84rem; line-height: 1.1; margin: 0 0 0.8rem; font-weight: 600; }
h2, .heading2, .wpb_text_column h2:last-child { font-size: 1.125rem; line-height: 1.2; margin: 0 0 0.8rem; font-weight: 400; }
h2.large, .large-h2 h2, .large-heading2, .wpb_text_column h2.large:last-child, .wpb_text_column.large-h2 h2 { font-size: 1.6rem; }
h3, .heading3, .wpb_text_column h3:last-child { font-size: 1.2rem; line-height: 1.1; margin: 0 0 0.5rem; font-weight: 400; } 
body.home h3, body.home .wpb_text_column h3:last-child { line-height: 1.375; }
h4, .heading4, .wpb_text_column h4:last-child { font-size: 1.04rem; line-height: 1.307; margin: 0 0 0.5rem; font-weight: 400; } 
h5, .heading5, .wpb_text_column h5:last-child { font-size: 0.96rem; line-height: 1.12; margin: 0 0 0.5rem; font-weight: 400; text-transform: uppercase; color: var(--black-alt); }
h6, .heading6, .wpb_text_column h6:last-child { font-size: 1.84rem; line-height: 2.024rem; margin: 0 0 0.75rem; } /* Used in homepage bottom CTA */

p.sora, .sora p { font-family: var(--sora-font) !important; }
h1.inter, .inter h1, h2.inter, .inter h2, h3.inter, .inter h3, h4.inter, .inter h4, h5.inter, .inter h5 { font-family: var(--inter-font) !important; }

body #page_content sup, body #footer sup { font-size: 50%; line-height: 0; vertical-align: baseline; top: -0.275rem; position: relative; }

/* Site Colors */
.color-white, .color-white p, p.color-white, .color-white h1, h1.color-white, .color-white h2, h2.color-white, .color-white h3, h3.color-white, .color-white h4, h4.color-white, .color-white h5, h5.color-white, .color-white h6, h6.color-white, span.color-white, .color-white li, li.color-white,
.white, .white p, p.white, .white h1, h1.white, .white h2, h2.white, .white h3, h3.white, .white h4, h4.white, .white h5, h5.white, .white h6, h6.white, span.white, .white li, li.white { color: var(--white) !important; }
.color-black, .color-black p, p.color-black, .color-black h1, h1.color-black, .color-black h2, h2.color-black, .color-black h3, h3.color-black, .color-black h4, h4.color-black, .color-black h5, h5.color-black, .color-black h6, h6.color-black, span.color-black, .color-black li, li.color-black,
.black, .black p, p.black, .black h1, h1.black, .black h2, h2.black, .black h3, h3.black, .black h4, h4.black, .black h5, h5.black, .black h6, h6.black, span.black, .black li, li.black { color: var(--black) !important; }
.color-txt-black, .color-txt-black p, p.color-txt-black, .color-txt-black h1, h1.color-txt-black, .color-txt-black h2, h2.color-txt-black, .color-txt-black h3, h3.color-txt-black, .color-txt-black h4, h4.color-txt-black, .color-txt-black h5, h5.color-txt-black, .color-txt-black h6, h6.color-txt-black, span.color-txt-black, .color-txt-black li, li.color-txt-black,
.txt-black, .txt-black p, p.txt-black, .txt-black h1, h1.txt-black, .txt-black h2, h2.txt-black, .txt-black h3, h3.txt-black, .txt-black h4, h4.txt-black, .txt-black h5, h5.txt-black, .txt-black h6, h6.txt-black, span.txt-black, .txt-black li, li.txt-black { color: var(--txt-black) !important; }
.color-darkgreen, .color-darkgreen p, p.color-darkgreen, .color-darkgreen h1, h1.color-darkgreen, .color-darkgreen h2, h2.color-darkgreen, .color-darkgreen h3, h3.color-darkgreen, .color-darkgreen h4, h4.color-darkgreen, .color-darkgreen h5, h5.color-darkgreen, .color-darkgreen h6, h6.color-darkgreen, span.color-darkgreen, .color-darkgreen li, li.color-darkgreen,
.darkgreen, .darkgreen p, p.darkgreen, .darkgreen h1, h1.darkgreen, .darkgreen h2, h2.darkgreen, .darkgreen h3, h3.darkgreen, .darkgreen h4, h4.darkgreen, .darkgreen h5, h5.darkgreen, .darkgreen h6, h6.darkgreen, span.darkgreen, .darkgreen li, li.darkgreen { color: var(--darkgreen) !important; }
.color-lightgreen, .color-lightgreen p, p.color-lightgreen, .color-lightgreen h1, h1.color-lightgreen, .color-lightgreen h2, h2.color-lightgreen, .color-lightgreen h3, h3.color-lightgreen, .color-lightgreen h4, h4.color-lightgreen, .color-lightgreen h5, h5.color-lightgreen, .color-lightgreen h6, h6.color-lightgreen, span.color-lightgreen, .color-lightgreen li, li.color-lightgreen,
.lightgreen, .lightgreen p, p.lightgreen, .lightgreen h1, h1.lightgreen, .lightgreen h2, h2.lightgreen, .lightgreen h3, h3.lightgreen, .lightgreen h4, h4.lightgreen, .lightgreen h5, h5.lightgreen, .lightgreen h6, h6.lightgreen, span.lightgreen, .lightgreen li, li.lightgreen { color: var(--lightgreen) !important; }
.color-teal, .color-teal p, p.color-teal, .color-teal h1, h1.color-teal, .color-teal h2, h2.color-teal, .color-teal h3, h3.color-teal, .color-teal h4, h4.color-teal, .color-teal h5, h5.color-teal, .color-teal h6, h6.color-teal, span.color-teal, .color-teal li, li.color-teal,
.teal, .teal p, p.teal, .teal h1, h1.teal, .teal h2, h2.teal, .teal h3, h3.teal, .teal h4, h4.teal, .teal h5, h5.teal, .teal h6, h6.teal, span.teal, .teal li, li.teal { color: var(--teal) !important; }

.white-back, .white-back-inner.vc_column_container > .vc_column-inner { background: var(--white); }
.black-back, .black-back-inner.vc_column_container > .vc_column-inner { background: var(--black); }
.darkgreen-back, .darkgreen-back-inner.vc_column_container > .vc_column-inner { background: var(--darkgreen); }
.lightgreen-back, .lightgreen-back-inner.vc_column_container > .vc_column-inner { background: var(--lightgreen); }
.teal-back, .teal-back-inner.vc_column_container > .vc_column-inner { background: var(--teal); }
.cta-gradient-back, .cta-gradient-back-inner.vc_column_container > .vc_column-inner { background: var(--cta-gradient) !important; }

.black-back p, .black-back h1, .black-back h2, .black-back h3, .black-back h4, .black-back h5, .black-back li, 
.darkgreen-back p, .darkgreen-back h1, .darkgreen-back h2, .darkgreen-back h3, .darkgreen-back h4, .darkgreen-back h5, .darkgreen-back li { color: var(--white) !important; }

/* Link/Button colors */
a { outline: none !important; transition: all 0.2s ease; }
a:link {  color: var(--teal); outline: none; transition: all 0.2s ease; text-decoration: none !important; } /* Teal */
a:visited { color: var(--teal); outline: none; text-decoration: none !important; } /* Teal */
a:hover { color: var(--darkgreen); outline: none; text-decoration: none !important; } /* Darkgreen */


/* Button styles */
.vc_btn3-container > a.vc_btn3.vc_general { font-size: clamp(12px, 0.72rem, 18px); line-height: clamp(18px, 1.04rem, 24px); padding: 0.35rem 1rem; font-weight: 400; width: 100%; max-width: 408px; margin-top: 0; display: inline-block; text-align: center; text-decoration: none; text-transform: uppercase; background-image: none !important; border-radius: 0; background-repeat: no-repeat !important; transition: all 0.2s ease !important; }

.vc_btn3-container.white > a.vc_btn3, .vc_btn3-container.white > a.vc_btn3:link, .vc_btn3-container.white > a.vc_btn3:visited { color: var(--teal) !important; background-color: var(--white) !important; border: 1px solid var(--teal); background-image: none !important;}
.vc_btn3-container.white > a.vc_btn3::after { font-size: clamp(18px, 1.04rem, 24px); line-height: 1; right: -0.75rem; color: var(--teal); position: relative; content: "\2192"; display: inline-flex; align-items: center; transition: all 0.2s ease; }
.vc_btn3-container.white > a.vc_btn3:hover { background: var(--teal) !important; color: var(--white) !important; }
.vc_btn3-container.white > a.vc_btn3:hover::after { color: var(--white); transform: translateX(15px); }

/* .vc_btn3-container.blue > a.vc_btn3, .vc_btn3-container.blue > a.vc_btn3:link, .vc_btn3-container.blue > a.vc_btn3:visited { color: #fff; background-color: var(--blue); background-image: none !important; }
.vc_btn3-container.blue > a.vc_btn3:hover { background: var(--medblue); }

.vc_btn3-container.white > a.vc_btn3, .vc_btn3-container.white > a.vc_btn3:link, .vc_btn3-container.white > a.vc_btn3:visited { color: var(--medblue); background: var(--white); border: 1px solid var(--medblue);  }
.vc_btn3-container.white > a.vc_btn3:hover { background: var(--medblue); color: var(--white); }

.vc_btn3-container.no-margin > a.vc_btn3.vc_general, .vc_btn3-container.no-margin-top > a.vc_btn3.vc_general { margin-top: 0; }

body .gform_wrapper .gform_footer > button.gform_button.button { font-size: clamp(12px, 0.96rem, 24px); line-height: clamp(21px, 1.584rem, 39.6px); color: var(--white); background: var(--blue); padding: 0.16rem 1.28rem; width: auto; margin-top: 1rem; display: inline-block; text-align: center; font-weight: 600; text-decoration: none; background-image: none !important; border-radius: 100px; border: 0 !important; transition: all 0.2s ease !important; }
body .gform_wrapper .gform_footer > button.gform_button.button:hover { background: var(--darkblue); }*/

.content_wrapper_full .vc_btn3-container.vc_do_btn, #header .vc_btn3-container.vc_do_btn, #footer-cta .vc_btn3-container.vc_do_btn { margin-bottom: 0; }


/* Header */
#header { width: 100%; max-width: 100%; height: auto; position: fixed; top: 0; background: linear-gradient(to bottom, rgba(0,0,0,1) 5%, rgba(0,0,0,0.75) 20%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.25) 70%, rgba(0,0,0,0) 100%); z-index: 1999; }
#header_container { padding: 0; margin: 0 auto; display: block; }
#header_top { background: var(--darkgreen); }
#header .header-row { display: flex; align-items: center; }
#header_links { display: flex; align-items: center; justify-content: end; }
#header_links p { font-size: clamp(12px, 0.72rem, 20px); line-height: 1.4; margin-left: 2rem; margin-bottom: 0; font-family: "Sora", "Helvetica Neue", Arial, sans-serif !important; }
#header_links p, #header_links a { color: var(--white); }
#header_links a:hover { color: var(--lightgreen); }
#header_logo, #header_logo p { margin: 0; line-height: 1; }
#header_logo img { width: auto; max-width: 100%; height: auto; }
#header .header-top-col { padding: 0.3rem 0; }
#header .main-navigation { padding-top: 1.4rem; }


/* Main menu */
body #mega-menu-wrap-primary > #mega-menu-primary li.mega-menu-item.mega-disable-link > a { cursor: default !important; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item a.mega-menu-link { font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important; transition: color 0.2s ease; } /* ALL menu item LINKS */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator { top: 0.1rem; margin-left: 0; }
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:last-of-type > a.mega-menu-link { padding-right: 0; }

#mega-menu-wrap-primary > #mega-menu-primary > li.mega-menu-item > a.mega-menu-link { font-size: clamp(12px, 0.72rem, 20px); line-height: 1.2; }

/* Fixed header styles */


/* All page styles */
.line-col.vc_column_container > .vc_column-inner { position: relative; }
.line-col::before { width: 100%; max-width: calc(100% - 1rem); height: 2px; top: 0.3rem; left: 0; background: var(--darkgreen); content: ""; display: block; position: absolute; }
.bottom-cta p { font-size: 0.73rem; line-height: 1.3; color: var(--white); font-family: var(--sora-font) !important; font-weight: 300; }



/* Homepage styles */
.home-banner h2 { display: flex; align-items: center; justify-content: center; }
.home-banner h2 span.square-bullet { font-size: 0.75rem; padding-left: 1rem; padding-right: 1rem; font-weight: 400; }
.hero-carousel > .wpb_wrapper > .vc_images_carousel { height: calc(100vh - 4.557rem) !important; }
.hero-carousel .vc_item > .vc_inner > img { height: calc(100vh - 4.557rem) !important; width: 100% !important; max-width: 100% !important; object-fit: cover; }
.hero-carousel .vc_images_carousel ol.vc_carousel-indicators { padding-bottom: 0.7rem; text-align: right; }
.hero-carousel .vc_images_carousel ol.vc_carousel-indicators > li { height: 18px; width: 18px; margin: 0 7px; background-color: transparent; border: 1px solid var(--white); }
.hero-carousel .vc_images_carousel ol.vc_carousel-indicators > li.vc_active { background-color: var(--white); }
.home-body-carousel .vc_images_carousel .vc_item > .vc_inner { margin: 0 3px !important; }


/* Secondary page styles */
.secondary-banner.vc_section { height: 13.5rem; margin-bottom: 1.6rem; max-height: 342px; }
.secondary-banner h1, .secondary-banner .wpb_text_column h1:last-child { font-size: 1.6rem; line-height: 2.2rem; margin-bottom: 0; font-weight: 600; }


/* Footer */
#footer p { font-size: clamp(12px, 0.72rem, 20px); line-height: 1.4; color: var(--white); }
#footer a:link { color: var(--white); }
#footer a:hover { color: var(--teal); }
#footer .footer-main-row::before { height: 1px; background: rgba(255,255,255,0.5); max-width: calc(100% - 4rem); margin: 0 auto 1rem; content: ""; display: block; }
#footer .footer-main-row .wpb_text_column.wpb_content_element { padding-top: 0.9rem }
#footer .footer-logo img { max-width: 228px; }


/* Gravity Forms styles */
/*#gform_wrapper_1 .gform_footer > button { margin-top: 0 !important; }
#gform_wrapper_1 p:not(.form-paragraph) { margin-top: 0.5rem; margin-bottom: 0; }
.gform_wrapper div.gchoice { line-height: 1 !important; }
#gform_wrapper_1 .gfield.role-txt { top: 1rem; position: relative; }
.gform_wrapper .gfield .ginput_container_checkbox input[type="checkbox"] { border: 1px solid var(--blue); }
.gform_wrapper .gfield .ginput_container_checkbox .gchoice { margin-bottom: min(5px, 0.25rem); }*/

/* Select2 styles */
body .select2-container { width: 10rem; min-width: 250px; }
body .select2-dropdown { width: 10rem; min-width: 250px; }
body .select2-dropdown ul.select2-results__options li { font-size: clamp(12px, 0.45rem, 16px); line-height: 1.2; margin: 0; }
body .select2-container--default .select2-selection--single .select2-selection__rendered { font-size: clamp(13px, 0.5rem, 17px); }

/* 1. Container styling to allow absolute positioning of labels */
/*.gform-floating-labels .gfield:not(.gfield--type-select) {*/
/*    position: relative !important;*/
/*    margin-bottom: 25px !important;*/
/*}*/
/*.gform-floating-labels .gfield.gfield--type-textarea { position: relative; }*/


/* 2.a. Position the label so it sits directly inside the input field */
/*.gform-floating-labels .gfield:not(.gfield--type-select) label.gfield_label {*/
/*    position: absolute !important;*/
/*    top: 50% !important;*/
/*    left: 15px !important;*/
/*    transform: translateY(-50%) !important;*/
/*    transition: all 0.2s ease !important;*/
/*    pointer-events: none !important; /* Allows clicks to pass through to the input */*/
/*    color: #999 !important;*/
/*    background-color: transparent !important;*/
/*    z-index: 10;*/
/*}*/

/* 2.b. For textarea fields, only move label 10% down, rather than 50% */
/*.gform-floating-labels .gfield.gfield--type-textarea:not(.label-floated) label.gfield_label {*/
/*	top: 10% !important;*/
/*}*/

/* 3. Make sure the input field has enough room for padding */
/*.gform-floating-labels .ginput_container input[type="text"],*/
/*.gform-floating-labels .ginput_container input[type="email"],*/
/* .gform-floating-labels .ginput_container input[type="tel"], */ /* DON'T apply affect to phone number fields (this label is already formatted differently) */
/*.gform-floating-labels .ginput_container textarea {*/
/*    padding-top: 20px !important;*/
/*    padding-bottom: 10px !important;*/
/*}*/

/* Move the label up when focused OR when the wrapper has the active class */
/*.gform-floating-labels .gfield:not(.gfield--type-select):focus-within .gfield_label,
.gform-floating-labels .gfield:not(.gfield--type-select).label-floated .gfield_label {
    top: -0.5rem !important;
    left: 0 !important;
    transform: translateY(-30%) !important;
    color: #333 !important;
    background-color: #fff !important; 
}

body .gform-floating-labels .gfield.gfield--type-textarea:focus-within .gfield_label,
body .gform-floating-labels .gfield.label-floated .gfield_label {
	top: -0.1rem !important;
}

.gform-floating-labels .gfield:not(.gfield--type-select):focus-within input[type="text"],
.gform-floating-labels .gfield:not(.gfield--type-select).label-floated input[type="text"],
.gform-floating-labels .gfield:not(.gfield--type-select):focus-within input[type="email"],
.gform-floating-labels .gfield:not(.gfield--type-select).label-floated input[type="email"] { padding-top: 10px !important; }*/


/* ABOVE mobile only */
@media(min-width: 768px) { 
	.hide-desktop { display: none !important; }
		
	.vc_row.three-col-row > .vc_column_container:nth-of-type(1) { padding-left: 0; padding-right: 0.6rem; }
	.vc_row.three-col-row > .vc_column_container:nth-of-type(2) { padding-left: 0.3rem; padding-right: 0.3rem; }
	.vc_row.three-col-row > .vc_column_container:nth-of-type(3) { padding-left: 0.6rem; padding-right: 0; }

	.vc_row.four-col-row > .vc_column_container,  { padding-left: 0.5rem; padding-right: 0.5rem; }
	.vc_row.four-col-row > .vc_column_container:first-of-type { padding-left: 0; padding-right: 1rem; }
	.vc_row.four-col-row > .vc_column_container:last-of-type { padding-left: 1rem; padding-right: 0; }

/*	.program-guide-wrap .guide-col { padding-left: 0.4rem; padding-right: 0.4rem; }
	.program-guide-wrap .guide-col.guide-col-1 { padding-left: 0; padding-right: 0.8rem; }
	.program-guide-wrap .guide-col.guide-col-4 { padding-left: 0.8rem; padding-right: 0; }*/

}

/* Landscape phones and down */
@media (max-width: 767px) {


}

/* Portrait tablet to landscape and desktop - 64% */
@media (min-width: 768px) and (max-width: 991px) {

}


/* Desktops and Tablets - Landscape 82.67% */
@media (min-width: 992px) and (max-width: 1199px) {

}

@media(min-width: 1600px) {


}