/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*** Spacing ***/

/*Spacing - Primary Elements */

.wrapper {padding-left:60px;padding-right:60px;}
.paddedtop, .paddedsection {padding-top:90px;}
.paddedbase, .paddedsection {padding-bottom:90px;}
.page-base {margin-bottom:100px;}

.slim-padding {padding-top:60px;padding-bottom:60px;}

.skinny-padding {padding-top:20px;padding-bottom:20px;} /* Used on News Post Template */
.skinny-padding-top {padding-top:40px;padding-bottom:20px;} /* Used on News Post Template */

@media only screen and (max-width:1366px) {
   .wrapper {padding-left:40px;padding-right:40px;}
   .paddedtop, .paddedsection {padding-top:70px;}
   .paddedbase, .paddedsection {padding-bottom:70px;}
}

@media only screen and (max-width:1024px) {
   .wrapper {padding-left:30px;padding-right:30px;}
   .paddedtop, .paddedsection {padding-top:60px;}
   .paddedbase, .paddedsection {padding-bottom:60px;}
}

@media only screen and (max-width:767px) {
   .wrapper {padding-left:20px;padding-right:20px;}
   .paddedtop, .paddedsection {padding-top:70px;}
   .paddedbase, .paddedsection {padding-bottom:70px;}
}

/* Spacing - Padding boxes and column breaks*/

.pad-1 {padding:40px 50px 45px 50px;}
.pad-2 {padding:30px 40px 35px 40px;}
.pad-3 {padding:22px 30px 28px 30px;}


.thirds-col {flex: 0 1 33.33%; /* flex-grow: 0, flex-shrink: 1, flex-basis: 33.33% */}

@media only screen and (max-width:1366px) {
   .pad-1 {padding:30px 40px 35px 40px;}
   .pad-2 {padding:25px 30px 30px 35px;}
   .pad-3 {padding:18px 25px 24px 25px;}
}

@media only screen and (max-width:1024px) { 
    .thirds-col {flex: 0 1 100%;}
}

@media only screen and (max-width:767px) {
   .pad-1 {padding:25px 35px 30px 28px;}
   .pad-2 {padding:20px 27px 26px 23px;}
   .pad-3 {padding:14px 20px 18px 18px;}
}

/* Spacing - Title rows which head up sections*/

.title-rows {padding-bottom:40px;}

@media only screen and (max-width:1366px) { 
   .title-rows {padding-bottom:30px;}
}


/*** Button Styling ***/

/* Button Styling - Action Button Universal Styling and Back Button Styling*/

.action-button .elementor-button {display:inline-block;padding:18px 60px 18px 40px;border-radius:999px;border:none;background:none;text-align:center;text-decoration:none;cursor:pointer;position:relative;}
.action-button .elementor-button-icon {position:absolute;right:25px;top:50%;transform:translateY(-50%);}
.action-button .elementor-button-icon svg {width:20px;height:20px;}
.action-button .elementor-button-text {font-family:"Cera Pro";font-size:1.125em;font-style:normal;font-weight:500;}

.back-button .elementor-button {display:inline-block;padding:12px 30px 12px 55px;border-radius:999px;border:none;background:none;text-align:center;text-decoration:none;cursor:pointer;position:relative;}
.back-button .elementor-button-icon {position:absolute;left:25px;bottom:25%;transform:translateY(-50%);transform:rotate(180deg);}
.back-button .elementor-button-icon svg {width:20px;height:20px;}
.back-button .elementor-button-text {font-family:"Cera Pro";font-size:1em;font-style:normal;font-weight:500;}

/* Button Styling - Color Specifics */

.white-button .elementor-button {background:#ffffff;box-shadow:0 0 0 1px #004038;}
.white-button .elementor-button-text {color:#004038;}
.white-button .elementor-button-icon svg {fill:#004038;}
.white-button:hover .elementor-button {box-shadow:0 0 0 1px #1F9C8C;}
.white-button:hover .elementor-button-text {color:#1F9C8C;}
.white-button:hover .elementor-button-icon svg {fill:#1F9C8C;}
.white-line-button .elementor-button {background:transparent;box-shadow:0 0 0 1px rgba(255,255,255,0.8);}
.white-line-button .elementor-button-text {color:rgba(255,255,255,0.8);}
.white-line-button .elementor-button-icon svg {fill:rgba(255,255,255,0.8);}
.white-line-button:hover .elementor-button {box-shadow:0 0 0 1px rgba(255,255,255,1.0);}
.white-line-button:hover .elementor-button-text {color:rgba(255,255,255,1.0);}
.white-line-button:hover .elementor-button-icon svg {fill:rgba(255,255,255,1.0);}

/* Button Styling - Add your ease animations here */

.white-button .elementor-button, .white-button .elementor-button-text, .white-button .elementor-button-icon svg {transition:all 0.3s ease;}
.white-line-button .elementor-button, .white-line-button .elementor-button-text, .white-line-button .elementor-button-icon svg {transition:all 0.3s ease;}


/* Button Styling, Responsive */


@media only screen and (max-width:1366px) {    
   .action-button .elementor-button-text {font-size:1em;} 
   .back-button .elementor-button-text {font-size:0.9em;}
}

/*** Type - Styling ***/


/* Type - Big headlines */

.heading-fx-1 .elementor-heading-title p, .heading-fx-2 .elementor-heading-title, .heading-fx-3 .elementor-heading-title {color:white;width:fit-content;padding:10px 25px;} /* Common */
.heading-fx-1 .elementor-heading-title p {margin-bottom:10px;background-color:#004038;opacity:0.9;} /* Home Page Specific, notice the inclusion of P because of those line breaks required */
.heading-fx-2 .elementor-heading-title {margin-bottom:0;background-color:#004038;opacity:0.9;} /* About Page Specific */
.heading-fx-3 .elementor-heading-title {margin-bottom:0;background-color:rgba(31, 156, 139, 0.95);} /* Sub Page Template Specific */


/* Type - Spacing Overrides */

.elementor-widget-text-editor p:only-child {margin-bottom:0.2em!important;} /* Global hack */
.elementor-widget-text-editor p:not(:last-child) {margin-bottom:1em!important;} /* Global hack */

.no-para .elementor-widget-text-editor p, .no-para .elementor-widget-heading {margin-bottom:0;} /* Taking out paras completely in case above doesnt cover it*/
.slim-para .elementor-widget-text-editor p, .slim-para .elementor-widget-heading {margin-bottom:0.5em} /* Reducing paras */
.boost-para h1, .boost-para h2, .boost-para h3, .boost-para h4, .boost-para h5 {margin-bottom:calc(15px + 0.5em);} /* For adding a bit of extra space on headlines */

.elementor-widget-text-editor a {color:inherit!important;text-decoration:underline!important;}


/* Working on the text editor headline spacing */

.elementor-text-editor h1:not(:first-child),.elementor-text-editor h2:not(:first-child),.elementor-text-editor h3:not(:first-child),.elementor-text-editor h4:not(:first-child),.elementor-text-editor h5:not(:first-child),.elementor-text-editor h6:not(:first-child) {margin-top: calc(25px + 0.7em);margin-bottom: 0.5em; /* Adds space below for balance */}.elementor-text-editor p {margin-top: 0; /* Prevents stacking with heading margin */margin-bottom: 1em; /* Consistent paragraph spacing */}


/* Prevents stacking with heading margin and encourages consistent paragraph spacing */

.elementor-text-editor p {margin-top: 0; margin-bottom: 1em;}



/*** Graphic Elements ***/


/* Blur Boxes - Home Version*/

.blur-box, .blur-box-sub {border-radius:3px;backdrop-filter: blur(15px);}
.blur-box {background: rgba(255, 255, 255, 0.1);box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5);}
.blur-box-sub {background: rgba(0, 64, 56, 0.9);}

@media only screen and (max-width:767px) {
   .blur-box-sub {border-radius:0px;}
}

/* Lets remove page titles */

.entry-title {display:none}


/*** Template specific *** /


/* Team Loops for board and local on About page */

.team-post-text {z-index:2;margin-top:-90px;min-height:170px}
.team-feat img {transform:translateY(10px);transition:all 0.3s ease-out;width:100%;max-width:300px;height:450px;object-fit:contain;object-position:bottom center;}
.team-feat img:hover {transform:translateY(5px);}
.team-feat-bg {background-position:0 40px;background-size:cover;background-repeat:no-repeat;}
.team-feat-local {background-image:url(/wp-content/uploads/2025/07/Team_Background.jpg);}
.team-feat-board {background-image:url(/wp-content/uploads/2025/07/Board_Background.jpg);}
.team-post-text:before {content: '';position:absolute;left:30px;top:-18px;width:28px;height:28px;background:url('/wp-content/uploads/2025/03/Arrow_OutBox.svg') no-repeat center;background-size: contain;transform:rotate(-90deg);}
.team-post-text-title {padding-top:10px;}
.team-post-text {gap:10px}
.team-divdr .elementor-divider-separator {border-top-width: 1px;border-top-color: #205b51;border-top-style: solid;width: 100%;}
.team-divdr .elementor-divider {padding-top:0;padding-bottom:5px;}

@media only screen and (max-width:1366px) {
    .team-post-text {min-height:150px}
    .team-feat img {max-width:250px;height:350px;}
    .team-post-text:before {left:25px;}
}

@media only screen and (max-width:1024px) {
    .team-post-text {min-height:120px}
    .team-feat-bg {background-position:0 60px;}
    .team-feat img {max-width:300px;height:400px;}
}

@media only screen and (max-width:767px) {
   .team-feat-bg {background-position:0 80px;}
   .team-post-text:before {left:18px;}
}

/* Extra bits for the small tiles on the bio page */

.team-feat-bio img {width:100%;max-width:300px;object-fit:cover;object-position:0 70px;max-height:calc(100% - 60px);}
.team-feat-bio-bg {background-position:0 100px;background-size:cover;background-repeat:no-repeat;}
.little-bio {gap:15px;margin-top:-70px}
.team-post-text-bio {gap:7px}

/** Improvements to Elementor text editor for Single Post and Legal text based pages **/

/* Post content text edits */

.post-content-text a {color:inherit;text-decoration:underline;text-decoration-offset:2px;}
.post-content-text ul,.post-content-text ol {margin-block-start:0;margin-block-end:40px;list-style:none;padding-left:0;}
.post-content-text ul li, .post-content-text ol li {position:relative;padding-left:35px;padding-bottom:0.5em;}
.post-content-text ol li ol {margin-block-start:20px;margin-block-end:20px;padding-left:15px;}
.post-content-text ol {counter-reset:list-item;}
.post-content-text ul li:before, .post-content-text ol ul li:before {content:url('/wp-content/uploads/2025/03/Action_Arrow_Green.svg');position:absolute;left:0;top:0;width:20px;height:20px;display:inline-block;}
.post-content-text ol li:before {content:counter(list-item) ". ";counter-increment:list-item;font-family:inherit;font-weight:600;color:#1F9C8C;position:absolute;left:0;top:0;display:inline-block;}

.post-content blockquote {margin-left:50px;font-style: normal;margin-top:0em;margin-bottom:.6em;margin-right:0;}
.post-content .wp-block-quote {display: flex;flex-direction: column-reverse;font-style: normal}
.post-content .wp-block-quote cite {background-color:#004038;color:white;margin-bottom: 10px;font-style: normal;padding:5px 20px 5px 10px;width:fit-content;margin-left:-20px;z-index:2;}
.post-content .wp-block-quote cite::after {position:relative;content:":";color:#5F8F89;font-size:24px;line-height:0.8em;font-weight:bold;left:10px;bottom:0px;}
.post-content .wp-block-quote p {margin-top:-30px;background-color:#e6f1ef;padding:35px 40px 22px 25px;}
.post-content .wp-block-quote p, .post-content .wp-block-quote em {font-style: normal;}

@media only screen and (max-width:1366px) {
.post-content blockquote {margin-left:20px;}    
}