@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700;800&display=swap');

/* CUSTOM PROPERTY VARIABLES */
:root {
    --bp-xs: 576px;
    --bp-sm: 768px;
    --bp-md: 992px;
    --bp-lg: 1200px;
    --bp-xl: 1400px;
}


body {
    font-size:15px;
    font-family: 'Figtree', sans-serif;
    font-weight: 400;
    line-height: 1.3;
    background-color:#edf0f3;
    color:#24303d;
}

h1, h2 {
    color:#24303d;
    font-size:4rem;
    font-weight:800;
    margin-top:0;
    margin-bottom:3rem;
    line-height:1.1;
}

h2 {
    color:#24303d;
    font-size:3rem;
    font-weight:800;
    margin-top:0;
    margin-bottom:2.5rem;
    line-height:1.25;
}

p {
    font-size:1.5rem;
    color:#24303d;
    margin-bottom:1.5rem;
    line-height:1.5;
}

p.med {
    font-size:0.9rem;
}

a {
    text-decoration:none;
}

.container {
    max-width:1900px;
    padding:0 4rem;
}

.btn-primary {
    padding:10px 40px;
    background-color:#85639e;
    color:#fff;
    font-size:1.6rem;
    font-weight:800;
    border:0;
    width:50%;
}

.btn-primary:hover {
    background-color:#a180ba;
}

.top-margin {
    margin-top:20px;
}



#nav {
    background-color:#1f2936;
    padding:40px 0;
    display:flex;
}

#nav .container {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
}

#nav img {
    height:40px;
}

#nav-links {
    float:right;
}

#nav-links .link {
    display:inline-block;
    margin-left:2rem;
}

#nav-links form {
    margin:0;
}

#nav-links button {
    padding:0;
    border:0;
    margin:0;
    background-color:transparent;
}

#nav-links a, #nav-links button {
    font-weight:800;
    color:#fff;
    font-size:1.6rem;
}

#nav-links a:hover {
    text-decoration:none;
    color:#fff;
}



.section {
    padding:80px 0;
}
.section.no-bottom-padding {
    padding-bottom:0;
}


#hero {
    max-height:800px;
    overflow:hidden;
    background-color:#24303d;
}

#hero h1, #hero h2, #hero p {
    color:#fff;
}

#hero a, #hero a:hover {
    color:#fff;
    font-weight:800;
}

#hero img {
    width:100%;
}



#playlists {
    background: #edf0f3;
    overflow:hidden;
    /*background: linear-gradient(58deg, rgba(223,227,231,1) 0%, rgba(203,212,224,1) 20%, rgba(237,240,243,1) 70%, rgba(245,247,249,1) 100%);*/
}

#playlists .image-container {
    padding:0 60px;
    text-align:center;
}

#playlists img {
    width:100%;
    max-width:690px;
    margin:0 auto;
    filter: drop-shadow(0px 120px 100px rgba(142,159,179,0.6));
}



#upcoming {
    text-align:center;
    background-color:#242e39;
    overflow:hidden;
}

#upcoming h1, #upcoming h2, #upcoming p {
    color:#fff;
}

#upcoming p {
    max-width:600px;
    margin:0 auto;
}

#upcoming img {
    margin-top:3rem;
    width:100%;
    max-width:600px;
    filter: drop-shadow(0px 160px 120px rgba(133,99,158,0.9));
}



#sign-up {
    background-color:#1d2630;
}

#sign-up .container {
    max-width:1400px;
}

#sign-up h2, #sign-up p {
    color:#fff;
}

#sign-up p.blue {
    color:#8fa2b9;
}

#sign-up p.small {
    color:#8fa2b9;
    font-size:1rem;
}



#faq {
    background-color:#fff;
}

#faq .container {
    max-width:1400px;
}

#faq .col-12 {
    margin-bottom:2rem;
}



#pre-footer {
    height:200px;
    background-image:url(../images/pre-footer-bg.png);
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center 65%;
}



#footer {
    min-height:350px;
    background-color:#edf0f3;
}

#footer .container {
    max-width:1400px;
}

#footer h3 {
    font-weight:600;
    color:#7f8fa2;
}

#footer p {
    color:#7f8fa2;
}

#footer a {
    color:#7f8fa2;
    font-weight:700;
}

#footer .links {
    padding-top:1.5rem;
}

#footer .links, #footer .links a {
    font-size:0.8rem;
    color:#7f8fa2;
    font-weight:600;
}

#footer .links .sep {
    display:inline-block;
    width:1rem;
}

#footer .badges {
    text-align:center;
}

#footer .badges img {
    height:60px;
    margin:1rem 1rem;
}



#content-page {
    background-color:#24303d;
}

#content-page .container {
    max-width:1400px;
}

#content-page h1 {
    font-size:1.8rem;
    color:#fff;
}

#content-page h2 {
    font-size:1.2rem;
    margin-bottom:1rem;
    color:#fff;
}

#content-page h3 {
    font-size:1rem;
    margin-bottom:1rem;
    color:#fff;
}

#content-page p, #content-page li {
    font-size:1rem;
    color:#a2b3c9;
}

#content-page a, #content-page a:hover {
    color:#a2b3c9;
    font-weight:800;
}





@media (max-width: 1400px) {

    .section {
        padding:40px 0;
    }

}

@media (max-width: 1200px) {

    #nav {
        padding:30px 0;
    }

    #footer .badges {
        text-align:left;
    }

    #footer .badges img {
        margin:1rem 1rem 1rem 0;
    }

}


@media (max-width: 991px) {

    #faq .col-12 {
        margin-bottom:1.25rem;
    }

}


@media (max-width: 576px) {

    #nav img {
        height:30px;
    }

    .container {
        padding:0 1.75rem;
    }

    .section {
        padding:45px 0;
    }

    h1 {
        font-size:2.8rem;
        font-weight:700;
        line-height:1.1;
        margin-bottom:2rem;
    }

    h2 {
        font-size:1.9rem;
        font-weight:700;
        line-height:1.2;
        margin-bottom:1.5rem;
    }

    p {
        font-size:1.1rem;
        line-height:1.4;
    }

    #faq .col-12 {
        margin-bottom:1rem;
    }

    #nav-links .link {
        margin-left:1rem;
    }

    #nav-links a, #nav-links button {
        font-size:1rem;
    }

    #hero {
        max-height:1000px;
    }

    #hero .image-container {
        margin-top:2rem;
        margin-right:-1.75rem;
        overflow:hidden;
    }

    #hero img {
        width:175%;
    }

    #playlists .image-container {
        padding:1.25rem 0rem 2.5rem 0rem;
    }

    #playlists img {
        filter: drop-shadow(0px 40px 80px rgba(142,159,179,0.6));
    }

    #sign-up p.small {
        font-size:0.8rem;
    }

    .btn-primary {
        width:100%;
        font-size:1.4rem;
        padding:8px 40px;
    }

    #pre-footer {
        background-position:80% 95%;
        background-size:125%;
        background-clip:content-box;
    }

    #footer .links .sep {
        display:block;
        width:100%;
        margin:0;
        height:1rem;
    }

    #footer .links a {
        display:block;
        width:100%;
        margin:0 0 0 0;
    }

    #footer .badges img {
        height:40px;
    }

}



