/* GENERAL */

*,
*:before,
*:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
    font-weight: 300;
}

body {
    animation: fadeIn ease 1.5s 1 forwards;
    font-size: 1.125rem;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

h1,
span.increase,
h2,
h3,
h4,
.larger,
span.name,
.date {
    font-weight: 900;
}

h1 {
    font-size: 3em;
}

h2 {
    font-size: 3.75rem;
}

h3 {
    padding-bottom: 20px;
}

h4 {
    text-transform: uppercase;
}

p,
.dark p,
li {
    line-height: 28px;
}

a,
.date,
.day p {
    font-family: "IBM Plex Mono", monospace;
    font-style: normal;
    font-size: 1rem;
    line-height: normal;
}

a {
    font-weight: 400;
    font-size: 1rem;
    display: block;
    text-decoration: none;
    padding: 10px 20px;
    text-align: center;
    color: #000000;
    white-space: nowrap;
}

.dark {
    background-color: #131313;
    color: #FFFFFF;
}

button {
    background-color: #001CD5;
    border: none;
    border-radius: 50px;
    border: 2px #001CD5 solid;
    height: 2.7rem;
    width: 13.5rem;
}

button:hover,
button:focus {
    background-color: #FFFFFF;
    border: 2px #001CD5 solid;
}

button a {
    color: #FFFFFF;
}

button a:hover,
button a:focus {
    color: #001CD5;
}

a:hover,
a:focus {
    font-weight: 700;
}

h3,
.larger {
    font-size: 2rem;
    line-height: 2.7rem;
}

/* was adding extra space to bottom of page */
#shadow-host-companion {
    display: none;
}

section {
    padding: 75px 0;
}

a.logo {
    padding: 0;
    width: 103px;
}

div.logo {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

a.logo,
.logo img {
    height: 40px;
}

h1 {
    text-transform: uppercase;
    grid-column-start: span 12;
    padding: 50px 0;
}

h2,
div > p.col2 {
    padding-bottom: 50px;
}

ul {
    list-style-type: none;
}

hr {
    margin-top: 15px;
    color: black;
}

/* NAVIGATION */

nav {
    position: sticky;
    top: 0;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    background: rgba(255, 255, 255, 0.85);
    height: 70px;
}

a.active {
    font-weight: 700;
    color: #001CD5;
}

/* HEADERS */

header {
    align-content: center;
}

.our-community header,
.get-involved header {
    height: 50vh;
}

.schedule header,
.gallery header {
    height: 40vh;
}

/* CTA */

.cta {
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 !important;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 200px;
}

.home .cta {
    background-image: url("../assets/cta-1.jpg");
}

.our-community .cta {
    background-image: url("../assets/cta-2.jpg");
}

.schedule .cta {
    background-image: url("../assets/cta-3.jpg");
}

.gallery .cta {
    background-image: url("../assets/cta-4.jpg");
}

.get-involved .cta {
    background-image: url("../assets/cta-5.jpg");
}

/* FOOTER */

footer {
    padding: 50px 0;
}





/* HOME PAGE */

.home header {
    height: 85vh;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../assets/landing-large.jpg");
    background-size: cover;
}

.home h1 {
    line-height: 87%;
    grid-column-end: 12;
    width: 100%;
    color: #FFFFFF;
    padding: 0;
}

h1 .increase {
    letter-spacing: -1px;
}

.arrow-down {
    height: 5em;
    grid-column-end: 13;
    align-self: end;
    fill: #FFFFFF;
}

.opening-description p {
    padding: 0 25%;
    padding-bottom: 50px;
}

section.highlights {
    color: #FFFFFF;
    background-color: #131313;
}

.highlights li {
    display: flex;
}

.highlights img {
    width: 30vw;
    object-fit: contain;
}

.highlights .desc {
    padding: 0 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.highlights a {
    margin-top: 20px;
    text-align: right;
    color: #BACDEA;
}

.highlights a:hover,
.highlights a:focus {
    text-decoration: underline;
}

.centered-button {
    display: flex;
    justify-content: center;
}





/* OUR COMMUNITY PAGE */

.values li,
.executives li {
    padding: 50px;
}

.executives img {
    width: 100%;
}

.policies li:first-of-type,
.policies li:nth-of-type(2) {
    padding-bottom: 50px;
}

.values li {
    min-height: max-content;
    box-shadow: 4px 4px 8px 1px rgba(0, 0, 0, 0.15);
    border-radius: 25px;
}

.executives li {
    background-color: #FFFFFF;
    color: #000000;
}

.executives img {
    padding-bottom: 20px;
}





/* SCHEDULE PAGE */

.week {
    grid-column-start: span 12;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background-color: #FFFFFF;
    color: #000000;
}

.day {
    border: solid 1px #000;
    padding: 10px;
    text-align: center;
}

.classes-workshops {
    background-image: linear-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)), url("../assets/sch-1.jpg");
}

.classes-workshops h2 {
    line-height: 95%;
}

.minimize {
    letter-spacing: -6px;
    font-weight: 600;
}

.classes-workshops h4 {
    padding-bottom: 10px;
    border-bottom: solid 1px #000;
}

.day p {
    padding-top: 10px;
}

.events ul {
    grid-column-start: 7;
    grid-column-end: 13;
}

.events li:first-of-type,
.events li:nth-of-type(2) {
    padding-bottom: 30px;
}





/* GALLERY PAGE */

div.col1.grid.exception {
    grid-gap: 0px;
}

video {
    width: calc((80vw / 12) * 8);
    grid-column-end: span 8;
}

.video-desc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    color: #000000;
}

.video-desc h4 {
    padding-bottom: 20px;
}

.video-desc p {
    padding-bottom: 20px;
}

.photos img {
    max-width: 80vw;
}

.photos li p {
    padding: 30px 30px 30px;
}





/* GET INVOLVED PAGE */

.member-involvement div {
    padding: 50px;
}

.member-involvement h2 {
    white-space: nowrap;
}

.member-involvement p {
    padding-bottom: 50px;
}

.member-involvement img {
    width: calc(40vw - 100px);
}

.get-involved .cta button {
    background-color: #FFFFFF;
    border: none;
    border-radius: 50px;
    border: 2px #FFFFFF solid;
    height: 2.7rem;
    width: 13.5rem;
}

.get-involved .cta button:hover,
.get-involved .cta button:focus {
    background-color: #000000;
    border: 2px #FFFFFF solid;
}

.get-involved .cta button a {
    color: #000000;
}

.get-involved .cta button a:hover,
.get-involved .cta button a:focus {
    color: #FFFFFF;
}





/* GRID LAYOUT */

.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 20px;
}

.wrapper {
    width: 80vw;
    margin: 0 auto;
}





/* MEDIA QUERIES */

/*default - small devices*/
[class*="col"] {
    grid-column-end: span 12;
}

/* Special case: our-community,html > ... > section.values > ... > h3 */
@media only screen and (max-width: 379px) {

    .values h3 {
        font-size: 8.4vw;
    }

}

/*below 601px*/
@media only screen and (max-width: 601px) {

    h2 {
        font-size: 10vw;
    }

    .dark h1 {
        font-size: 8vw;
    }

    .home h1 {
        font-size: 13.3vw;
        grid-column-end: 13;
        letter-spacing: -2px;
    }

    .arrow-down {
        grid-column-start: 1;
    }

    .opening-description p {
        padding: 0;
    }

    .highlights .desc {
        padding: 20px 0 !important;
    }

    .highlights p {
        padding-right: 0;
        padding-left: 0;
    }

    .highlights a {
        padding-left: 0;
        font-size: 0.9rem;

    }

    .our-community header,
    .get-involved header {
        height: 75vh;
    }

    .events ul {
        grid-column-start: 1;
    }

    .photos img {
        width: 100%;
    }    

    .photos li p {
        padding-top: 0;
    }

    .member-involvement h2 {
        white-space: wrap;
    }

    .sm1 {
        grid-column-end: span 12;
    }

    .sm2 {
        grid-column-end: span 6;
    }

    .sm3 {
        grid-column-end: span 4;
    }

    .sm4 {
        grid-column-end: span 3;
    }

    .sm6 {
        grid-column-end: span 2;
    }

    .sm12 {
        grid-column-end: span 1;
    }
}

/*above 601px - tablets*/
@media only screen and (min-width: 601px) {

    .dark h1 {
        font-size: 5.5vw;
    }

    .home h1 {
        font-size: 7vw;
        grid-column-end: 13;
        letter-spacing: -4px;
    }

    footer .links {
        grid-column-end: 13;
    }

    .md1 {
        grid-column-end: span 12;
    }

    .md2 {
        grid-column-end: span 6;
    }

    .md3 {
        grid-column-end: span 4;
    }

    .md4 {
        grid-column-end: span 3;
    }

    .md6 {
        grid-column-end: span 2;
    }

    .md12 {
        grid-column-end: span 1;
    }

}

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

    .highlights li {
        flex-direction: column;
    }

    .highlights img {
        width: 100%;
    }

    .day {
        grid-column-end: span 12;
    }

    video {
        width: 80vw;
    }

    .video-desc {
        padding: 50px 0;
    }

    .member-involvement div {
        padding: 0;
    }

    .member-involvement div:first-of-type {
        padding-bottom: 50px;
    }

    .member-involvement img {
        width: 100%;
    }

}

/* NAVIGATION */
@media only screen and (max-width: 1450px) {

    a.logo {
        margin-top: 13.5px;
    }

    footer a.logo {
        margin: 0;
    }

    #nav-trigger {
        display: none;
    }

    .nav-trigger {
        position: absolute;
    }

    label[for="nav-trigger"] {
        position: fixed;
        right: 20px;
        top: 29px;
        z-index: 200;
        cursor: pointer;
    }

    .nav-trigger + label,
    .navigation {
        transition: right 0.4s;
    }

    .nav-trigger:checked + label {
        right: 255px;
    }

    .nav-trigger:checked ~ .navigation {
        right: 0;
    }

    label {
        font-size: 4em;
        line-height: 13px;
    }

    nav ul {
        list-style-type: none;
        padding: 0;
        border: 1px solid black;

        margin: 0;
        width: 235px;
        height: 100%;
        position: fixed;
        top: 0;
        right: -235px;
        bottom: 0;
        z-index: 200;
        text-align: left;
        background: #FFFFFF;
    }

    nav li {
        margin: 10px 0;
    }

    nav button {
        margin: 0 8.5px;

    }

    .navigation button a {
        text-align: center !important;
    }

    .navigation a {
        text-align: left;
    }

    a.active::after {
        content: "\00a0\00a0 \00261C";
        font-size: 18px;
        position: relative;
        top: 2px;
    }

    .highlights .desc {
        padding: 20px 100px;
    }

}    

@media only screen and (min-width: 1025px) {

    .home h1 {
        letter-spacing: -6px;
    }

    h1 {
        font-size: 5.5vw;
    }

    h3,
    .larger {
        font-size: 2.2vw;
    }

    .video-desc p{
        width: calc(80vw / 6);
    }

    .photos img {
        width: calc((80vw - 40px) / 3);
    }

    .photos li p {
        padding: 30px 30px 0;
    }

    .col1 {
        grid-column-end: span 12;
    }

    .col2 {
        grid-column-end: span 6;
    }

    .col3 {
        grid-column-end: span 4;
    }

    .col4 {
        grid-column-end: span 3;
    }

    .col6 {
        grid-column-end: span 2;
    }

}


/* NAVIGATION */
@media only screen and (min-width: 1451px) {

    nav {
        position: sticky;
        top: 0;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
        background: rgba(255, 255, 255, 0.85);
    }

    nav div {
        align-items: center;
        height: 68px;
    }

    a {
        display: block;
        text-decoration: none;
        padding: 10px 20px;
        text-align: center;
    }

    .hidden {
        display: none;
    }

    nav ul {
        grid-column-end: 13;
        list-style-type: none;
        padding: 0;
        display: inline-flex;

        height: 100%;
        z-index: 999;
    }

    nav li {
        margin: 0 10px;
        display: flex;
        align-items: center;
    }

}