/*
 Theme Name:   Rehearsal for Life
 Theme URI:    https://devcollaborative.com
 Description:  GeneratePress child theme built by DevCollab for RFL
 Author:       Evan Quinn
 Author URI:   https://devcollaborative.com
 Template:     generatepress
 Version:      0.1
*/


.block-editor .editor-styles-wrapper, 
.block-editor .editor-styles-wrapper .block-editor-block-list__layout {

}

.editor-styles-wrapper * {
    font-size:inherit!important;
    font-weight:inherit!important;
}

.editor-styles-wrapper .gb-container {
    padding:inherit!important;
}

/* TYPOGRAPHY */

h1 {
    font-family: din-condensed, sans-serif;
    font-weight: 300;
    font-style: normal;
    color:#005776;
}

h1.entry-title {
    text-align:center;
    text-transform:uppercase;
}

h2 {
    font-family: din-condensed, sans-serif;
    font-weight: 400;
    font-style: normal;
    color:#4C7329;
    font-size:30px;
    letter-spacing:.01em;
    margin-bottom:30px;
}

h3 {
    font-family: 'Lato', sans-serif;
    font-weight:900;
    font-size:22px;
    color:#696059;
    letter-spacing:.01em;
    margin:15px 0;
}

a {
    color:#1b8199;
    font-weight:bold;
}

a:hover,
a:focus {
    color:#82C341;
    text-decoration:none;
}

/* HEADER */

.site-header {
    border:1px solid white;
}

.inside-header.grid-container {
    display:grid;
    grid-template-columns: 20% 79%;
    grid-template-rows: auto auto;
    padding:1%;
}

.inside-header.grid-container .wp-block-columns {
    margin-bottom:0;
}

.site-logo {
    grid-column: 1 / 1;
    grid-row: 1 / 2;
}


.main-navigation {
    grid-column: 2 / 2;
    grid-row: 1 / 2;
    align-items: end;
    width:100%;
    text-align:right;
}

.header-details {
    width:100%;
    align-self: end;
}

.gb-container.header-details .gb-inside-container {
    width:85%;
    align-items:flex-end;
    margin-right:0;
}

.gb-container.header-details .gb-inside-container .is-layout-flex {
    align-items:flex-end;
}

.gb-container.header-details .wp-block-buttons {
 
}

.gb-container.header-details a.wp-block-button__link:not(.has-background) {
    background-color:#82C341;
    color:#102944;
    font-size:18px;
    font-weight:bold;
    padding:8px;
    letter-spacing:1px;
}

.header-icons {
    padding-top:5px;
}

.header-icons.wp-block-social-links.is-style-logos-only .wp-social-link svg {
    width:32px;
    height:32px;
}

.header-icons.wp-block-social-links.is-style-logos-only .wp-social-link svg:hover {
    fill:#00B5DF;
}

.header-details .wp-block-search {
    background:#F6F6F6;
    border-radius:20px;
    border:2px solid #005776;
    padding:3px 5px;
}

.header-details .wp-block-search label {
    display:none;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
    border:0;
    padding:0;
}

.header-details .wp-block-search input[type="search"] {
    background:transparent;
    border:0;
    font-size:14px;
    padding:3px 10px;
}

.header-details .wp-block-search__button,
.header-details .wp-block-search__button:hover  {
    background:transparent;
    color:#005776;
}

.header-details .wp-block-search__button.has-icon {
    padding:0 0 0 10px;
}

.header-details .wp-block-search__button.has-icon svg {
    width:30px;
    height:30px;
}


#primary-menu {
    flex-basis:100%;
}

#primary-menu ul {
    width:100%;
    flex-basis:100%;
    justify-content: space-between;
    margin-top:40px;
}

#primary-menu a {
    text-transform:uppercase;
    font-weight:bold;
    color:#102944;
    font-size:16px;
    padding:0 5px;
    line-height:1.3em;
    letter-spacing: .03em;
}

#primary-menu .menu-item-has-children .dropdown-menu-toggle {
    padding-right:10px;
}

#primary-menu ul li {

}

#primary-menu ul ul {
    display:block!important;
    padding:5px 0 0 0;
    margin:0;
    max-width:300px;
}

#primary-menu ul ul a {
    text-transform:none;
    letter-spacing:normal;
    padding:5px 10px;
}

#primary-menu .gp-icon svg {
    fill:#45788a;
}

/* BASIC PAGE STYLING */

.separate-containers .inside-article {
    padding-top:0;
}

body.page .site-main .entry-header {
    border-top: 10px solid #F0EEEB;
    padding-top:40px;
}


hr, hr.wp-block-separator {
    background-color: #F0EEEB;
    height:5px;
    border:0;
}

.site-main .wp-block-group__inner-container {
    padding:20px 0 40px 0;
}

.gb-button {
    border-radius:9999px;
    font-weight:bold;
    color: #212121;
    font-size: 17px!important;
    letter-spacing: 1px;
    font-weight: bold;
    text-transform: uppercase;
}

blockquote {
    border:0;
    padding:20px 0px 0 100px;
    margin: 3%;
    font-style:normal;
    font-weight:800;
    letter-spacing:.01em;
    background:url(images/quoteicon.png) no-repeat top left;
    background-size:70px auto;
    color:#005776;
}

blockquote p {
    margin-bottom:15px;
}


cite, blockquote cite {
    width: 100%;
    color: #677072;
    font-size: 15px;
    text-align: right;
    font-style: normal;
    display: block;
    font-weight: normal;
}

/* HOMEPAGE */

body.home .inside-header.grid-container {
    padding-bottom:0;
}

body.home.separate-containers .inside-article {
    padding:0;
}

body.home.separate-containers.no-sidebar .site-main {
    margin-bottom:0;
}

body.home h1 {
    display:none;
}

.home-hero .wp-block-columns {
    margin:0;
}

.home-hero-intro {
    background:url(images/hero-element.png) no-repeat bottom left;
    background-size:contain;
    padding:200px 3% 1% 4%;
    color:#fff;
    height:500px;
    align-content: flex-end;
}

.hero-intro-block {
    max-width:60%;
}

.hero-intro-block .wp-block-group__inner-container {
    padding:0;
}

.home-hero-intro h2 {
    color:#fff;
    font-size:58px;
    text-transform:uppercase;
    font-weight:400;
    line-height:1em;
}

.home-hero-intro p {
    font-size:22px;
    font-weight:600;
}

.home-hero-intro a {
    color:#22cbf2;
}

.home-programs-container {
    padding:40px;
    background: url(images/squigglesbg.png);
}

.home-programs-container .wp-block-column {
    background:#fff;
    padding:40px;
}

.home-programs-container h3 {
    margin-top:20px;
}

.stats-container {
    margin-top:50px;
}

.stats-quote-container {
    margin-right:40px;
    margin-bottom:40px;
    display:flex;
}

.stats-quote-container .gb-inside-container {
    display:flex;
    border-right:4px solid #ABC9D1;
    padding: 10px 40px 15px 0;
    margin-bottom:30px;
}

.stats-quote-container .gb-inside-container:before {
    content:" ";
    background:url(images/quoteicon.png) no-repeat top center;
    background-size:contain;
    flex-basis:15%;
    height:100%;
    display:flex;
}

blockquote.stats-quote {
    border:0;
    flex-basis:85%;
    width:55%;
    padding:20px 0px 0 30px;
    margin:0;
    font-style:normal;
    font-weight:800;
    letter-spacing:.01em;
    background-image:none;
}

.stat-column {

}

.stat-column .stats-heading {
    font-size:60px;
    color:#005776;
    font-family: din-condensed, sans-serif;
    font-weight: 400;
    letter-spacing:-.05em;
    line-height:1em;
    margin:3px 0;
}

.stat-column p {
    font-size:16px;
}

.home-featured {
    border:1px solid transparent;
    margin-bottom:0;
    padding:40px;
    background:url(images/lowersquiggle.png) no-repeat bottom left;
    background-size:auto 50%;
    color:#fff;
}

.home-featured .wp-block-columns {
    margin-bottom:0;
}

.home-featured h2,
.home-programs-container h2 {
    color:#fff;
    text-transform:uppercase;
    font-size:40px;
    font-weight:400;
}

/* SITEWIDE */

.sidelines-section {
    max-width:700px;
    margin:30px auto;
}

.sidelines-heading {
    text-transform:uppercase;
    color:#005776;
    font-weight:400;
    font-size:45px;
    margin:10px 0 30px 0;
}

h2.sidelines-heading:before,
h2.sidelines-heading:after {
     content:"  ";
     display:inline-block;
     width:180px;
     height:20px;
     border-top:10px solid #F0EEEB;
     margin:0 20px;
}

.blue-button, .lime-button {
    text-transform:uppercase;
    font-weight:bold;
}

a.wp-block-button__link {
    color:#212121;
    font-size:17px!important;
    letter-spacing:1px;
    font-weight:bold;
    text-transform:uppercase;
    min-width:220px;
}

body.home a.wp-block-button__link,
.landing-cta-container a.wp-block-button__link {
    /*width:220px;*/
}

a.wp-block-button.is-style-outline {}

a.wp-block-button__link:not(.has-background) {
    background-color:#00B5DF;
     color:#212121;
}

.lime-button a.wp-block-button__link:not(.has-background) {
    background-color:#82C341;
}


/* LANDING PAGES */

.landing-hero-container {
    /*padding:40px;*/
}

.landing-hero-container h1 {
    color:#fff;
    text-transform:uppercase;
    font-size:60px;
}

.landing-hero-container .column-info {
    padding:40px 60px;
    margin-left:1.5%;
}

.landing-hero-container .wp-block-columns {
    margin-bottom:0;
}


.landing-hero-container a {
    color:#fff;
    text-decoration:underline;
}

.landing-hero-container a:active,
.landing-hero-container a:hover {
    text-decoration:none;
    border:1px dotted #fff;
}

.landing-cta-container {
    padding:20px;
    background: url(images/squigglesbg.png);
}

.landing-cta-container h2 {
    color:#fff;
}

.landing-cta-container .wp-block-column {
    background:#fff;
    padding:15px;
}

.landing-cta-container h3 {
    font-size:20px;
}

.landing-cta-container .wp-block-button .wp-block-button__link {
    color:#fff;
    margin-bottom:15px;
}

.landing-impact-stats {
    padding-top:50px;
}

.landing-impact-stats .landing-stats-columns {
    margin-top:30px;
}

.landing-impact-stats .wp-block-group__inner-container {
    padding-bottom:0;
}

/* TEAM PAGE */

.awsm-grid-wrapper .awsm-grid h3 {
    font-size:18px;
}

.teams-row h2 {
    margin-top:15px;
    margin-bottom:5px;
    font-size:26px;
}

.teams-row h3 {
    margin-top:0;
    margin-bottom:20px;
    font-size:20px;
}

.teams-row .wp-block-column {
    padding: 0 1%;
}

/* FOOTER */

.footer-widget-container {
    padding:3%;
    border:2px solid #005776;
}

.footer-widget-container .footer-heading {
    font-weight:bold;
    font-size:18px;
    margin-bottom:10px;
}

.footer-widget-container .footer-heading a {
    text-decoration:none;
}

.footer-widget-container nav a {
    font-weight:normal;
}

.footer-widget-container .footer-heading a:active,
.footer-widget-container .footer-heading a:hover,
.footer-widget-container nav a:active,
.footer-widget-container nav a:hover {
    text-decoration:underline;
}

.footer-widget-container .wp-block-navigation__container {
    line-height:1.2em;
}

.footer-email a {
    font-weight:normal;
}

/* OPT-IN FORM */

div.ctct-form-embed div.ctct-form-defaults {
    padding:0!important;
    background:transparent!important;
    color:#fff!important;
}

div.ctct-form-embed form.ctct-form-custom label.ctct-form-label {
    color:#fff!important;
    font-size:12px;
}

div.ctct-form-embed form.ctct-form-custom div.ctct-form-field {
    margin-bottom:5px!important;
}

div.ctct-form-embed div.ctct-form-defaults p.ctct-gdpr-text {
    color:#fff!important;
    display:none!important;
}

div.ctct-form-embed form.ctct-form-custom input.ctct-form-element {
    border:0;
}

.ctct-form-embed.form_1 .ctct-form-custom .ctct-form-button {
    font-weight:bold;
    text-transform:uppercase;
    padding:10px!important;
}

/* RESPONSIVE ADJUSTMENTS */


@media only screen and (max-width: 1400px) { 

    .home-hero-intro {
        padding:220px 3% 1% 4%;
    }

    .hero-intro-block {
        max-width:70%;
        padding-top:5%;
    }

     .home-hero-intro h2 {
            font-size:48px;
    }

}

@media only screen and (max-width: 1250px) { 

    .landing-hero-container .column-info {
        padding:30px;
    }

    .landing-hero-container h1 {
        font-size:3em;
    }
}

@media only screen and (max-width: 1200px) { 

    .home-hero-intro {
        flex-basis:70%!important;
    }


    .inside-header.grid-container {
        display: block;
        grid-template-columns: auto;
        grid-template-rows: auto auto;
        padding: 1%;
    }

    .site-logo {
        width:100%;
        text-align:center;
    }

    .header-details {
        display:none;
    }

    #primary-menu ul {
        margin:0 auto 40px auto;
        max-width:90%;
    }

     #primary-menu a {
    
     }

}

@media only screen and (max-width: 1075px) { 


    .landing-hero-container h1 {
        font-size:2.5em;
        line-height:1.2em;
    }

    .landing-hero-container p {
        line-height:1.7em;
    }
}

@media only screen and (max-width: 900px) { 


    /* #primary-menu ul {
        display:block;
    }

    #primary-menu ul li {
        display:block;
        width:100%;
        text-align:center;
     }

     #primary-menu ul ul {
        max-width:100%;
     }*/


    .home-hero .wp-block-column {
        flex-basis:2%!important;
        gap:0!important;
    }

    .home-hero .wp-block-column.home-hero-intro {
       flex-basis:100%!important;
       flex-grow:1;
        padding-top:20%;
        padding-left:10%;
    }

    .hero-intro-block {
        max-width:70%;
        padding-top:5%;
    }

     .home-hero-intro h2 {
            font-size:48px;
    }

}


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

    .inside-header.grid-container {
        display:block;
    }

    .site-logo {
        width:100%;
        text-align:center;
    }

   .has-inline-mobile-toggle #site-navigation.toggled {
        margin-top:0;
    }

    .gp-icon.icon-menu-bars {
        /*border:1px solid green;*/
    }

     #primary-menu ul {
        margin-top:0;
    }

    #primary-menu ul li {
        margin:10px 0 15px 0;
    }

    #primary-menu ul ul {
        width:100%;
        max-width:100%;
    }


    :where(.wp-block-columns.is-layout-flex) {
        gap:0!important;
    }

    .hero-intro-block {
        padding-top:10%;
        max-width:65%;
    }


    .stats-quote-container {
        width:85%;
        margin:0 auto 40px auto;
    }

    .stats-quote-container .gb-inside-container {
        border-right:0;
        padding-bottom:40px;
        border-bottom:4px solid #ABC9D1;
    }

    .landing-hero-container .column-info {
        padding-bottom:0;
    }

    .landing-cta-container {
        padding:30px;
    }

    .landing-impact-stats .wp-block-column .wp-block-image .alignright {
        float:none;
        margin:0 auto;
    }

    .footer-widget-container {
        padding:5%;
    }

}

@media only screen and (max-width: 650px) {  


    .home-hero-intro {
    background: url(images/hero-element.png) no-repeat bottom left;
    background-size:cover;
}


    .hero-intro-block {
        padding-top:20%;
        max-width:90%;
    }



    .sidelines-heading {
        font-size:40px;
    }

    h2.sidelines-heading:before, h2.sidelines-heading:after {
        width:20%;
    }

    .sidelines-section .wp-block-group__inner-container {
        max-width:90%;
    }

}

@media only screen and (max-width: 450px) {  

    h2.sidelines-heading:before, h2.sidelines-heading:after {
        width:10%;
    }

}
