/***************
    
    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 */
/*********/
@font-face {
    font-family: Jokker;
    src: url(../fonts/Jokker/Jokker-Bold.otf);
}

@font-face {
    font-family: Jokker;
    src: url(../fonts/Jokker/Jokker-BoldItalic.otf);
    font-style: italic;
}

@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');




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

    /* SPACING */
    --content-padding: 72px;
    --content-margin-top: 26px;
    /* --content-padding-top: 200px; */
    /* --content-padding-bottom: 50px; */
    
    /* COLORS */
    --black: #000000;
    --white: #ffffff;
    --navy-blue: #16416d;
    --sky-blue: #56cef3;
    --container-blue: #39a2ea;
    --sapphire-blue: #355bbc;
    --yellow: #f7c15a;
    --orange: #f48c4a;
    --light-blue-whale: #295D92;

    /* FONTS */
    --font-headline: 'Jokker',sans-serif;
    --font-content: 'Figtree',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;
}

.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);
    padding-right: var(--content-padding);
}

/* Focus state */
body:not(.fl-builder-edit) :focus {
    outline-width: 2px;
    outline-style: auto;
    outline-offset: 5px;
    outline-color: var(--navy-blue);
    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: 80px;
    font-size: 5rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 84px;
    line-height: 5.25rem;
}

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

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

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: 18px;
    font-size: 1.13rem;
    font-style: normal;
    font-weight: 400;
    line-height: 28px; 
    line-height: 1.75rem; 
    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: 24px;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 34px; 
    line-height: 2.13rem; 
}

.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-headline);
    font-size: 23px;
    font-size: 1.44rem;
    font-style: normal;
    font-weight: 700;
    line-height: 33px;
    line-height: 2.06rem;
    color: var(--navy-blue) !important;
    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:700;
}

.ambassadors_row ul a:not(.underline_anim, .buttonlink) {
    background:none;
    border: 0;
    transition: all 0.5s ease;
}
body:not(.fl-builder-edit) .ambassadors_row ul a.hidefocus:not(.underline_anim, .buttonlink):focus {
    border-radius: 16px!important;
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.12)!important;
}
.ambassadors_row ul a:not(.underline_anim, .buttonlink):hover{
    transform: scale(1.02);
}

.ambassadors_row ul a:not(.underline_anim, .buttonlink) .fl-module-photo:nth-child(2),
.ambassadors_row ul a:not(.underline_anim, .buttonlink) .fl-module-photo:nth-child(2) .fl-photo-content,
.ambassadors_row ul a:not(.underline_anim, .buttonlink) .fl-module-photo:nth-child(2) .fl-photo-content img {
    height:150px;
    object-fit: contain;
}


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: Figtree;
    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_skyblue a.underline_anim,
.cta_button.colvar_skyblue span.underline_anim,
.cta_button.colvar_skyblue.underline_anim  a.fl-button {
    background-image: linear-gradient(var(--sky-blue), var(--sky-blue));   
}
.cta_button.colvar_skyblue.underline_anim  a.fl-button:after {
    color: var(--sky-blue);   
}


/************************/
/* 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(--navy-blue) !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;
}






/*********************/
/* Custom Post Types */
/*********************/

.post_tag{
    display: flex;
    flex-wrap: wrap;
    gap: 10px 0;
}
.post_tag span {
    white-space: nowrap;
    background: var(--yellow);
    color: var(--Black, #000) !important;
    /* font-family: Figtree; */
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
    padding: 4px 16px;
    border-radius: 100px;
    margin-right: 10px;
    word-wrap: normal;
}

.single-news .post_tag span {
    background: var(--sapphire-blue);
    color:var(--white)!important;
}
.single-resource .post_tag span {background: var(--sky-blue);}

.noscroll.fl-col .fl-col-content{
    overflow: hidden;
}

.fl-has-tip.fas.fa-eye{
    border: 0!important;
    content: ''!important;
    width:20px;
    height: 20px;
    display: block;
    background: url(https://bwbs.wpenginepowered.com/wp-content/uploads/eye-svgrepo-com-1.svg);
    background-repeat: no-repeat;
    background-size: contain;
    color:transparent!important;
}


.grecaptcha-badge {display:none !important}




















/**************/
/**************/
/* 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 {

        --content-padding: 60px;
    }


    /***********************************************/
    /*  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 {

        --content-padding: 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 {

        --content-padding: 18px;
        /* --content-padding-top: 16px; */
        /* --content-padding-bottom: 16px; */
    }


    /**************/
    /* 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;
    }




}