/***************
    
    High Noon Main Styles
    2025 - Loop: Design for Social Good
    https://weareloop.com/
 
    This file contains the main styles for the High Noon theme.
    It includes global variables, typography, and other styles.
 
    @package High Noon Theme
    @version 1.0.0

***************/



/*********/
/* Fonts */
/*********/

    /* Barlow Condensed @Google Fonts */
    /* Bold:    700 */
    /* Medium:  500 */
    @import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;700&display=swap');

    /* Poppins Regular+i Medium+i Bold @Google Fonts */
    /* Regular: 400 */
    /* Medium:  500 */
    /* SemiBold:700 */
    /* Bold:    700 */
    @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');




/********************/
/* Global Variables */
/********************/
:root {

    /* SPACING */
    --content-padding: 72px; /* 72+28 */
    --content-padding-left: 100px;
    --content-padding-right: 72px;
    --content-margin-top: 26px;
    /* --content-padding-top: 200px; */
    /* --content-padding-bottom: 50px; */
    
    /* COLORS */
    --black: #151515;
    --white: #ffffff;
    --light-orange:#FF8229;
    --deep-orange:#ED4627;
    --pink:#CF0061;
    --cream:#F9F3EA;
    --gray: #F6F1F1;

    /* FONTS */
    --font-headline: 'Barlow Condensed',sans-serif;
    --font-content: 'Poppins',sans-serif;

    /* ICONS */
    --arrow-white: url(/wp-content/uploads/arrow-right-white.svg);
    --arrow-blue:  url(/wp-content/uploads/arrow-right-blue.svg);

    /* --viewportWidth: calc(100vw - var(--scrollbarWidth)); */
}


/**********************/
/* Framework Settings */
/**********************/
html, body { 
    color: var(--black);
    font-family: var(--font-content);
    font-size: inherit; /* to reset to browser default of 16px for accessibility */
    overflow-x: hidden;
}

body.fl-builder-edit { 
    margin-top: 0 !important;
}

.fl-page-content {
    padding-top:var(--content-padding-top);
    padding-bottom:var(--content-padding-bottom);
    transition:all .25s ease;
}

.fl-row:not(.nopadding) >.fl-row-content-wrap >.fl-row-content {
    padding-left: var(--content-padding-left);
    padding-right: var(--content-padding-right);
}

/* Focus state */
body:not(.fl-builder-edit) :focus {
    outline-width: 2px;
    outline-style: auto;
    outline-offset: 5px;
    outline-color: var(--deep-orange);
    border-radius: 0;
}

body:not(.fl-builder-edit) .hidefocus:focus {
    box-shadow: none !important;
    outline: none !important;
}

button[aria-label="Assistant"] {display:none !important;}



/**************/
/* Typography */
/**************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: var(--black);   
    margin-top: 0px;
    margin-bottom: 0px;
}

h1, .h1, .h1 p, .h1 .fl-heading {
    font-family: var(--font-headline);
    font-size: 100px;
    font-size: 6.25rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 90px;
    line-height: 5.63rem;
    text-transform:uppercase;
}

h2, .h2, .h2 p, .h2 .fl-heading {
    font-family: var(--font-headline);
    font-size: 78px;
    font-size: 4.88rem;
    font-style: normal;
    font-weight: 700;
    line-height: 68px;
    line-height: 4.25rem;
    letter-spacing: 0;
    text-transform:uppercase;
}

h3, .h3, .h3 p, .h3 .fl-heading {
    font-family: var(--font-headline);
    font-weight: 700;
    font-size: 50px;
    font-size: 3.13rem;
    line-height: 42px; 
    line-height: 2.63rem; 
    text-transform:uppercase;
}

h4, .h4, .h4 p, .h4 .fl-heading {
    font-family: var(--font-content);
    font-weight: 700;
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 36px;
    line-height: 2.25rem;
}

p, .p, ul, ol {
    font-family: var(--font-content);
    font-size: 20px;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 32px; 
    line-height: 2rem; 
    margin: 0;
    text-wrap: pretty;
}

p + p, p + ul, p + ol,
p + blockquote, blockquote + p,
ul + p, ul + ul, ul + ol,
ol + p, ol + ul, ol + ol { 
    margin-top: var(--content-margin-top);
}

.large, p.large, p .large, .large p,
.large ol, ol.large, .large ul, ul.large {
    font-family: var(--font-content);
    font-size: 26px;
    font-size: 1.63rem;
    font-style: normal;
    font-weight: 500;
    line-height: 40px; 
    line-height: 2.5rem; 
}

.small, p.small, p .small, .small p,
.small ol, ol.small, .small ul, ul.small {
    font-family: var(--font-content);
    font-size: 16px;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 26px; 
    line-height: 1.63rem; 
}

.xsmall, p.xsmall, p .xsmall, .xsmall p,
.xsmall ol, ol.xsmall, .xsmall ul, ul.xsmall {
    font-family: var(--font-content);
    font-size: 14px;
    font-size: 0.88rem;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; 
    line-height: 1.38rem; 
}

blockquote p {
    font-family: var(--font-content);
    font-size: 31px;
    font-size: 1.94rem;
    font-style: normal;
    font-weight: 600;
    line-height: 41px;
    line-height: 2.56rem;
    padding-left: var(--content-padding);
    padding-right: var(--content-padding);
    padding-top: 10px;
    padding-bottom: 10px;
}

blockquote {
    padding: 0;
    margin: 0;
    border: 0;
}

p a:not(.underline_anim, .buttonlink), 
ol a:not(.underline_anim, .buttonlink), 
ul a:not(.underline_anim, .buttonlink) {
    color: currentColor;
    position: relative;
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 100% 1px;
    transition: background-size 250ms ease-in-out;
    display:inline;
    font-weight:600;
}

p a:not(.underline_anim, .buttonlink):hover, 
ol a:not(.underline_anim, .buttonlink):hover, 
ul a:not(.underline_anim, .buttonlink):hover {
    color: currentColor;
    text-decoration: none;
    animation: 0.25s underline;
}

ul, ol {
    padding-inline-start: 21px;
}

/* .fl-rich-text a, */
a.underline_anim,
span.underline_anim,
.fl-module-button.underline_anim  a.fl-button, 
.fl-module-button-group.underline_anim a.fl-button {
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 100% 1px;
    display:inline;
    /* transition: background-size 250ms ease-in-out; */
    text-decoration: none;
}

p a:not(.underline_anim, .btn-round, .btn-square):hover,
a.underline_anim:hover,
span.underline_anim:hover,
.fl-module-button.underline_anim a.fl-button:hover, 
.fl-module-button-group.underline_anim a.fl-button:hover {
    animation: 0.25s underline;
}




@keyframes underline {
    from {background-size: 0% 1px;}
    to {background-size: 100% 1px;}
}



/* Number Stat */
.number_stat .fl-number-string {
    font-family: var(--font-headline);
    font-size: 68px;
    font-size: 4.25rem;
    line-height: 68px;
    line-height: 4.25rem;
    font-style: normal;
    font-weight: 700;
}




.post-content img {
    border-radius:16px;
}
.post-content p.content_widen >div {
    border-radius:16px;
    overflow:hidden;
}
.post-content p.content_widen {text-align:center}
.post-content ul,
.post-content ol,
.post-content p:not(.content_widen) {
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;
}




/***********/
/* Buttons */
/***********/

.cta_button a.fl-button,
.wpforms-container .wpforms-submit  {
    font-family: var(--font-content);
    font-size: 19px;
    font-size: 1.19rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding:20px 40px;
    border-radius:100px;
    border:transparent;
    transition:all .15s ease;
}

.cta_button a.fl-button:after,
.wpforms-container .wpforms-submit:after {
    font-family: 'Font Awesome 5 Pro';
    content:"\f178";
    font-weight: 500;
    padding-left: 10px;
    position: relative;
    top: 1px;
    transition:all .25s ease;
    display:inline-block;
}

.cta_button a.fl-button:is(:hover,:focus),
.wpforms-container .wpforms-submit:is(:hover,:focus) {
    transform:scale(1.05);
}

.cta_button.noarrow a.fl-button:after {
    display:none;
}

.cta_button a.fl-button:is(:hover,:focus):after,
.wpforms-container .wpforms-submit:is(:hover,:focus):after {
    padding-left:20px;
}

.wpforms-container .wpforms-submit  {
    padding:20px 40px !important;
    background:var(--yellow) !important;
    color:var(--black) !important;
    border-radius:100px !important;
    height: initial !important;
    height: initial !important;
    font-size: 19px !important;
    font-weight: 600 !important;
}

.cta_button.colvar_orange a.underline_anim,
.cta_button.colvar_orange span.underline_anim,
.cta_button.colvar_orange.underline_anim  a.fl-button {
    background-image: linear-gradient(var(--light-orange), var(--light-orange));   
}
.cta_button.colvar_orange.underline_anim  a.fl-button:after {
    color: var(--light-orange) !important;   
}


.cta_button.colvar_gray a.underline_anim,
.cta_button.colvar_gray span.underline_anim,
.cta_button.colvar_gray.underline_anim  a.fl-button {
    background-image: linear-gradient(var(--gray), var(--gray));   
}
.cta_button.colvar_orange.underline_anim  a.fl-button:after {
    color: var(--gray);   
}


.cta_button.colvar_cream a.underline_anim,
.cta_button.colvar_cream span.underline_anim,
.cta_button.colvar_cream.underline_anim  a.fl-button {
    background-image: linear-gradient(var(--cream), var(--cream));
}
.cta_button.colvar_cream.underline_anim  a.fl-button:after {
    color: var(--cream);   
}



.cta_button.colvar_orange  a.fl-button:after {
    color: var(--light-orange);   
}

.cta_button.colvar_gray  a.fl-button:after {
    color: var(--gray);   
}


/************************/
/* External link bubble */
/************************/
a.acc_external_link .acc_external, 
.acc_external_link a .acc_external, 
a .acc_external, 
.acc_external {
    position: fixed;
    background: var(--yellow) !important;
    color: var(--deep-orange) !important;
    padding: 4px 8px;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: bold;
    font-family: var(--font-content);
    transform: scale(1.07) translate(60px, 10px);
    visibility: hidden;
    opacity: 0;
    left: -99999px;
    z-index: 999;
    margin: 6px;
    border-radius: 4px;
    text-align: center;
    font-style: normal;
}

a.acc_external_link:hover .acc_external, 
.acc_external_link a:hover .acc_external, 
a:hover .acc_external {
    visibility: visible;
    opacity: 1;
}





/**************/
/**************/
/* Responsive */
/**************/
/**************/


/* Desktop */
@media screen and (max-width: 1366px) {

    
    /***********************************************/
    /*  Full Width Breakout honoring wrapper-left  */
    /***********************************************/
    /* .fullwidth.marginleft  > div, .fullwidth .marginleft  { padding-left:  calc( (var(--viewportWidth) - (1366px - (var(--content-padding) * 2))) / 2);} */
    /* .fullwidth.marginright > div, .fullwidth .marginright { padding-right: calc( (var(--viewportWidth) - (1366px - (var(--content-padding) * 2))) / 2);} */

    :root {

        /* SPACING */
        --content-padding: 60px;
        --content-padding-left: 82px;
        --content-padding-right: 36px;

    }
    


    /***********************************************/
    /*  Full Width Breakout honoring wrapper-left  */
    /***********************************************/
    .fullwidth.marginleft >  div, .fullwidth .marginleft  { padding-left:  var(--content-padding);}
    .fullwidth.marginright > div, .fullwidth .marginright { padding-right: var(--content-padding);} 
}

  
/* Tablet */
@media only screen and (max-width: 992px) {

    :root {

        /* SPACING */
        --content-padding: 36px;
        --content-padding-left: 36px;
        --content-padding-right: 36px;

    }


    /**************/
    /* TYPOGRAPHY */
    /**************/

    h1, .h1, .h1 p, .h1 .fl-heading {
        font-size: 66px;
        font-size: 4.13rem;
        line-height: 70px;
        line-height: 4.38rem;
    }

    h2, .h2, .h2 p, .h2 .fl-heading {
        font-size: 50px;
        font-size: 3.13rem;
        line-height: 50px;
        line-height: 3.13rem;
    }

    h3, .h3, .h3 p, .h3 .fl-heading {
        font-size: 36px;
        font-size: 2.25rem;
        line-height: 44px;
        line-height: 2.75rem;
    }

    h4, .h4, .h4 p, .h4 .fl-heading {
        font-size: 24px;
        font-size: 1.5rem;
        line-height: 30px;
        line-height: 1.88rem;
    }

    h5, .h5, .h5 p, .h5 .fl-heading {
        font-size: 21px;
        font-size: 1.31rem;
        line-height: 33px;
        line-height: 2.06rem;
    }

    p, .p, ul, ol {
        font-size: 18px;
        font-size: 1.13rem;
        line-height: 29px;
        line-height: 1.81rem;
    }

    .large, p.large, p .large, .large p,
    .large ol, ol.large, .large ul, ul.large {
        font-size: 21px;
        font-size: 1.31rem;
        line-height: 33px;
        line-height: 2.06rem;
    }

    .small, p.small, p .small, .small p,
    .small ol, ol.small, .small ul, ul.small {
        font-size: 16px;
        font-size: 1rem;
        line-height: 28px;
        line-height: 1.75rem;
    }

    blockquote p {
        font-size: 21px;
        font-size: 1.31rem;
        line-height: 31px;
        line-height: 1.94rem;
    }
    
    /* Number Stat */
    .number_stat .fl-number-string {
        font-size: 64px;
        font-size: 4rem;
        line-height: 64px;
        line-height: 4rem;
    }
    

}


/* Mobile */
@media only screen and (max-width: 768px) {

    :root {

        /* SPACING */
        --content-padding: 18px;
        --content-padding-left: 18px;
        --content-padding-right: 18px;

    }


    /**************/
    /* TYPOGRAPHY */
    /**************/

    h1, .h1, .h1 p, .h1 .fl-heading {
        font-size: 46px;
        font-size: 2.88rem;
        line-height: 50px;
        line-height: 3.13rem;
    }

    h2, .h2, .h2 p, .h2 .fl-heading {
        font-size: 42px;
        font-size: 2.63rem;
        line-height: 48px;
        line-height: 3rem;
    }

    h3, .h3, .h3 p, .h3 .fl-heading {
        font-size: 32px;
        font-size: 2rem;
        line-height: 38px;
        line-height: 2.38rem;
    }

    h4, .h4, .h4 p, .h4 .fl-heading {
        font-size: 26px;
        font-size: 1.63rem;
        line-height: 33px;
        line-height: 2.06rem;
    }

    .large, p.large, p .large, .large p,
    .large ol, ol.large, .large ul, ul.large {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 31px;
        line-height: 1.94rem;
    }

    blockquote p {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 28px;
        line-height: 1.75rem;
    }

    /* Number Stat */
    .number_stat .fl-number-string {
        font-size: 50px;
        font-size: 3.13rem;
        line-height: 55px;
        line-height: 3.44rem;
    }




}