/* Base Overrides */
.post, .page {
    margin-bottom: 0 !important;
}

#header-logo {
    text-decoration: none;
    align-self: flex-start;
}

.entry-header {
    display: flex;
}

.pum-theme-default-theme {
    background-color: rgba( 255, 255, 255, .8 )!important;
}

button.pum-close.popmake-close {
    outline: none!important;
}

.pum-theme-1671 .pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
    position: absolute;
    height: auto;
    width: auto;
    left: auto;
    right: 0px;
    bottom: auto;
    top: 0px;
    padding: 8px;
    color: black!important;
    font-family: inherit;
    font-weight: 400;
    font-size: 12px;
    font-style: inherit;
    line-height: 36px;
    border: 0px none #ffffff!important;
    border-radius: 0px;
    box-shadow: none!important;
    text-shadow: none!important;
    background-color: transparent!important;
}

.entry-header h1 {
    line-height: 2.25rem !important;
}

.site {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.site-content {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
}

body {
    font-family: "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

@media screen and (max-width: 576px) {
    .goal-tile br {
        content:' ';
    }
    
    .goal-tile br:after{
        content:' ';
    }
}

a {
    color: #E1251B;
    text-decoration: underline;
}

a.btn {
    text-decoration: none;
}

/* Just Helvetica Things */
h1 {
    letter-spacing: -0.15pt !important;
}

h1, h2, h3, h4 {
    letter-spacing: 1pt;
}

h1, h2, h3, h4, h5 {
    font-family: "Helvetica Neue Condensed Black", "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 0.8;
    text-transform: uppercase;
}

article h1, article h2, article h3, article h4, article h5, article h6 {
    line-height: normal;
}

h6 {
    font-family: "Helvetica Neue Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.3pt;
}

/* Utils */
.bg-darkblue {
    background-color: #002856;
    color: white;
}

.bg-story {
    background-color: #009ADE;
    color: white;
}

.bg-darkblue a {
    color: white;
}

.bg-darkblue a:hover {
    color: white;
}

.bg-lightblue {
    background-color: #009ADE;
}

.bg-white {
    color: #002856;
    background-color: white;
}

.bg-red {
    background-color: #E12727
}

.bg-playground {
    background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/playground/playground-1200.jpg');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}

@media screen and (min-width: 992px) {
    .bg-playground {
        /* parallax scroll */
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/playground/playground-1200.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 1200px) {
    .bg-playground {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/playground/playground-1200.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 1920px) {
    .bg-playground {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/playground/playground-1080p.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 2560px) {
    .bg-playground {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/playground/playground-2.5K.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 3840px) {
    .bg-playground {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/playground/playground-5K.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
}

.bg-classroom {
    background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/classroom/classroom-768.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
    .bg-classroom {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/classroom/classroom-1200.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 992px) {
    .bg-classroom {
        /* parallax scroll */
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/classroom/classroom-1200.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 1200px) {
    .bg-classroom {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/classroom/classroom-2.5K.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 3840px) {
    .bg-classroom {
        background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url('img/classroom/classroom-5K.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

.bg-closed {
    background: linear-gradient(rgba(225, 39, 39, 0.8), rgba(225, 39, 39, 0.8)), url('img/closed-temporarily/closed-temporarily-768.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
    .bg-closed {
        background: linear-gradient(rgba(225, 39, 39, 0.8), rgba(225, 39, 39, 0.8)), url('img/closed-temporarily/closed-temporarily-1200.jpg');
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }
}

@media screen and (min-width: 992px) {
    .bg-closed {
        background: linear-gradient(rgba(225, 39, 39, 0.8), rgba(225, 39, 39, 0.8)), url('img/closed-temporarily/closed-temporarily-1200.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}


@media screen and (min-width: 1200px) {
    .bg-closed {
        background: linear-gradient(rgba(225, 39, 39, 0.8), rgba(225, 39, 39, 0.8)), url('img/closed-temporarily/closed-temporarily-2.5K.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 3840px) {
    .bg-closed {
        background: linear-gradient(rgba(225, 39, 39, 0.8), rgba(225, 39, 39, 0.8)), url('img/closed-temporarily/closed-temporarily-5K.jpg');
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
}

.text-darkblue {
    color: #002856;
}

.text-lightblue {
    color: #009ADE;
}

.text-red {
    color: #E1251B;
}

/* Select / State Picker */

select::-ms-expand {
    display: none;
}

/* Hacky select styling! */

.select2-selection, .select2-search__field, .select2-dropdown {
    font-size: 1.25rem;
    line-height: 0.8;
    background-color: #009ADE !important;
    color: white !important;
    border: 4px solid #009ADE !important;
    border-radius: 0.5rem !important;
    text-transform: uppercase !important;
}

.select2-search, .select2-search__field {
    border-top: none !important;
    padding-top: 0 !important;
    letter-spacing: 1pt !important;
    line-height: 0.8rem !important;
}

.select2-selection {
    height: auto !important;
}

.select2-container {
    font-family: "Helvetica Neue Condensed Black", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.select2-selection__rendered {
    color: white !important;
    padding-right: 8px !important;
}

.select2-selection__arrow b {
    border-color: white transparent transparent transparent !important;
    border-width: 8px 8px 0 8px !important;
    margin-left: -15px !important;
    margin-top: 0px !important;
    z-index: 9999;
}

.select2-results {
    font-family: "Helvetica Neue Bold";
}

.select2-results__option {
    text-transform: none;
    font-size: 1.25rem;
}

.select2-results__options {
    max-height: 302px;
}

.select2-results__option:hover {
    background-color: white !important;
    color: #E1251B !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #009ADE !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: white !important;
    color: #E1251B !important;
}

.state-picker {
    color: white;
    background-color: #E1251B !important;
    border: none;
    padding: 0.75rem 0.5rem;
    border-radius: 0.5rem;
    line-height: 0.8 !important;
    text-transform: uppercase;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    text-align: center;
}

.state-picker option {
    background-color: #E1251B !important;
}

.state-picker option:hover {
    color: white;
    display: inline;
}

.state-picker-item {
    background-color: #E1251B;
    color: white;
    display: block;
    text-decoration: none;
}

/* Specific Components - Single Use */

#states-container {
    width: 100%;
}

@media screen and (min-width: 992px) {
    #states-container {
        width: 205px !important;
    }
}

.goal-tile {
    border-left: none;
    margin-top: 1.5rem !important;
    transition: opacity 0.4s ease-out;
    opacity: 0;
}

@media screen and (min-width: 576px) {
    .goal-tile:nth-child(even) {
        border-left: 2px solid #009ADE;
    }
}

@media screen and (min-width: 768px) {
    .goal-tile:first-child {
        border-left: none;
    }
    .goal-tile {
        border-left: 2px solid #009ADE;
    }
}

.stat-header {
    font-size: 3rem;
}

.stat-tile {
    display: flex;
    margin: 1rem 0 0 0;
}

.action-tile {
    color: white !important;
    position: relative;
    background: linear-gradient(rgba(0, 40, 86, 0.8), rgba(0, 40, 86, 0.8)), url("");
    text-transform: uppercase;
    margin: 0.5rem;
    border-radius: 0.5rem;
    text-align: center;
    width: 9.5rem;
    height: 7.5rem;
    transition: all 0.2s ease;
}

@media screen and (min-width: 576px) {
    .action-tile {
        width: 15.3rem !important;
        height: 8.3rem !important;
    }
}

.action-tile h5 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    line-height: 0.9;
}

.action-tile:hover {
    transform: scale(1.05);
}

.action-coming-soon {
    font-size: 1rem;
    padding-top: 0.33rem;
    text-transform: none;
}

/* default style - still needs to be bound in PHP */
.action-tile.disabled {
    background: rgba(127, 127, 127, 1.0);
    cursor: default;
}

.action-tile.disabled:hover {
    filter: none;
}

.social-icon .fa-stack-1x {
    transition: all 0.2s ease;
}
.social-icon:hover .fa-stack-1x {
    color: #002856 !important;
}

.btn {
    transition: all 0.2s ease;
}
.btn:hover {
    color: #002856 !important;
}

.btn-red {
    color: white;
    background-color: #E1251B !important;
    border: none;
}
.btn-red:hover {
    color: #009ADE !important;
}

/* Custom Buttons */
.btn-lightblue {
    color: white !important;
    background-color: #009ADE !important;
    border-color: #009ADE !important;
}

/* Hardcode Fix */
.btn-dl {
    display: flex;
    align-items: center;
    height: 70.8px;
    width: 159px;
}

.btn-share {
    color: white !important;
    background-color: #002856 !important;
    border-color: #002856 !important;
}
.btn-share:hover {
    color: white !important;
}
.btn-share .fa-stack-2x {
    color: white;
}
.btn-share .fa-stack-1x {
    color: #002856;
}
.btn-share .fa-stack-1x:hover {
    color: #009ADE;
}

.btn-action-center {
    background-color: white;
    border-color: white;
    width: 160px;
    color: #E1251B !important;
    margin-top: 2rem;
}

.btn-submit {
    border-radius: 0 !important;
    margin-top: .75rem !important;
    font-size: 0.8rem;
    color: #fff !important;
    background-color: #009ADE !important;
    border-color: #009ADE !important;
    width: 100%;
}

.ccr-logo {
    object-fit: contain;
    width: 111px;
}

/* Overlay Mockup - Dev Only */
.overlay-mockup {
    object-fit: cover;
    width: 1024px;
    opacity: 0.5;
    position: absolute;
    top: 32px;
    left: 0px;
    z-index: 1000;
}

/* Bootstrap Overrides */
.btn {
    font-family: "Helvetica Neue Bold";
    font-weight: normal;
    text-transform: uppercase;
    border-radius: 0.5rem;
    line-height: 1.3;
}

.pb-5, .py-5 {
    padding-bottom: 2.25rem !important;
}
.pt-5, .py-5 {
    padding-top: 2.25rem !important;
}

@media screen and (min-width: 992px) {
    .container {
        max-width: 798px !important;
    }
}

.nav-link {
    color: #002856;
    text-decoration: none;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 0.65rem;
    font-family: "Helvetica Neue Bold";
    transition: all 0.2s ease;
}

.nav-link:hover {
    color: #009ADE;
    transition: all 0.20s ease;
}

.bg-darkblue .nav-link:hover {
    color: #009ADE;
}

.navbar-brand {
    text-decoration: none;
    vertical-align: middle;
    font-weight: bold;
}

@media screen and (min-width: 576px) {
    .navbar .container {
        padding-left: 7px !important;
        padding-right: 7px !important;
    }
}

article img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
article p {
    margin-top: 1rem;
}

article h4, h3, h2 {
    margin-top: 1rem;
}

/* need to be polyfilled for IE11 */
img.partner {
    object-fit: contain;
}

#signup_form_footer {
    overflow: hidden;
    transition: all 0.2s ease;
}

.update {
    display: block;
    text-decoration: none;
    padding: .5rem .75rem !important;
    border-width: 3px;
    border-style: solid;
}

.update h5 {
    line-height: 1;
    letter-spacing: 0.75px;
}

.update:hover {
    text-decoration: none;
}

.update.featured {
    color: #002856;
    background-color: white;
    border: none;
}

.update.featured-story {
    background-color: #002856;
    color: white;
    border: none;
}

.update.opinion {
    border-color: #E1251B;
    color: #E1251B;
}

.update.policy {
    border-color: #009ADE;
    color: #009ADE;
}

.update.news {
    border-color: #002856;
    color: #002856;
}

input.search {
    background-color: #002856;
    color: white;
    border: none;
    font-weight: bold;
    font-size: 0.65rem;
    padding: 0.3rem;
    text-transform: uppercase;
}

input.search::placeholder {
    color: white !important;
    opacity: 1;
    font-weight: bold;
    font-size: 0.65rem;
}

.sidebar {
    color: #002856;
}

.sidebar a {
    color: #002856;
    text-decoration: none;
}

/* GRAVITY FORMS */

.gform_fields {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap !important;
}

.gfield {
    display: inline;
    border: none;
    font-size: 0.8rem;
    margin: .75rem 0 0 0 !important;
    padding: 0;
    background: none;
}
.gfield * {
    width: 100%;
}

.gform_validation_container {
    display: none;
}

.gfield_label {
    margin-bottom: 0;
    display: none;
}

.gfield_required {
    display: none;
}

.ginput_container {
    display: inline-block;
}

.gform_wrapper li.hidden_label input {
    margin-top: 0;
    padding: 0.5rem;
}

.form-control {
    height: auto;
}

.ginput_container * {
    border: none;
    font-size: 0.8rem;
}
.ginput_container *::placeholder {
    opacity: 1;
    color: #002856;
}
.ginput_container_consent * {
    width: auto;
}

.gform_button {
    border-radius: 0 !important;
    margin-top: .75rem !important;
    font-size: 0.8rem;
    color: #fff !important;
    width: 100%;
    font-family: "Helvetica Neue Bold";
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1.3;
    padding: .375rem .75rem;
    transition: all 0.2s ease;
}

.gform_wrapper .gform_validation_container {
    display: none;
}

.gform_wrapper .gform_ajax_spinner {
    padding-top: 5px;
}

.gfield_description.validation_message {
    color: #ce1818;
    padding-top: 5px;
}

.gfield_consent_label {
    display: inline;
    margin-bottom: 0 !important;
}

.validation_error {
    color: #ce1818;
}
/* FOOTER FORM */

.footer-form_wrapper {
    max-width: 300px;
}

.footer-first {
    width: 9rem;
}
.footer-last {
    width: 9rem;
}
.footer-email {
    width: 13rem;
}
.footer-zip {
    width: 5rem;
}

.footer-form .gform_button {
    background-color: #009ADE !important;
    border: 1px solid #009ADE;
}

.footer-form .gform_button:hover {
    color: #002856 !important;
}

/* TELL YOUR STORY FORM */

.story-form_wrapper {
    max-width: 400px;
}

@media screen and (min-width: 992px) {
    .story-form_wrapper {
        max-width: 900px;
    }
}

.story-first {
    width: 11rem;
}
.story-last {
    width: 11rem;
}
@media screen and (min-width: 992px) {
    .story-first {
        width: 12rem;
    }
    .story-last {
        width: 12rem;
    }
}
.story-email {
    width: 16rem;
}
.story-zip {
    width: 6rem;
}
.story-text {
    width: 100%;
}
.story-text textarea {
    padding: 0.5rem 0.75rem;
}
.story-policy {
    width: 100%;
    color: #002856;
}
.story-policy input {
    float: left;
    margin-right: 0.4rem;
    margin-top: 0.20rem !important;
}
.story-policy .ginput_container {
    background-color: white;
    padding: 1rem;
}

.story-file {
    width: 100%;
    background: white;
    color: #002856;
}
.story-file .gfield_label {
    display: block;
    padding: 0.5rem;
    cursor: pointer;
}

.ginput_container.ginput_container_fileupload span {
    padding-left: 10px;
}

.story-form .gform_button {
    background-color: #002856;
    border: 1px solid #002856;
}
.story-form .gform_button:hover {
    color: #009ADE !important;
}

/*
.ginput_container_consent [type=checkbox] {
    color: red;
}
*/

.ginput_container_consent label {
    cursor: pointer;
}

/* Gutenberg */
.wp-block-columns .wp-block-column .wp-block-image {
    height: 100%;
}

.page-numbers {
    background: white;
    color: black;
    border: 1px solid lightgray;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    text-decoration: none;
}

.page-numbers.current {
    background: #009ADE;
    color: white;
}

.map-class {
    width: 768px;
    height: 470px;
}

.state-image-featured {
    width: 250px;
    height: 150px;
    float: right;
    margin-top: 100px;
}