/* =========================
ROOT COLORS
========================= */
:root{
    --darkpink:#E94E77;
    --lighttan:#EEEBE6;
    --rose:#D68189;
    --tan:#C6A49A;
    --bluegreen:#C6E5D9;
    --ivory:#E3CFB4;
}


/* =========================
GLOBAL
========================= */

body{
    margin:0;
    font-family:'Roboto', sans-serif;
}

img{
    width:100%;
}

h1{
    font-family:'Aubrey', cursive;
    font-size:48px;
    text-align:center;
}

h2.section-title{
    text-align:center;
    letter-spacing:1em;
    text-transform:uppercase;
    font-weight:400;
    margin-bottom:6px;
    margin-right:-1em;
}

p{
    font-size:18px;
}

p.section-subtitle{
    text-align:center;
    margin-top:6px;
    font-weight:300;
}

.section{
    padding:30px;
}

.container{
    width:960px;
    margin:50px auto;
}

.bgcolor{
    background-color:var(--lighttan);
}


/* =========================
HEADER
========================= */

header{
    background:white;
    padding:20px 30px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

#logo-container{
    width:400px;
}

header img.dark-version{
    display:none;
}

header.dark img.light-version{
    display:none;
}

header.dark img.dark-version{
    display:block;
}

header.dark{
    background-color:var(--tan);
}


/* NAVIGATION */

nav ul{
    display:flex;
}

nav ul li{
    list-style:none;
    margin-left:20px;
}

nav ul li a{
    background:var(--rose);
    text-decoration:none;
    color:white;

    padding:15px 20px;
    border-radius:10px;

    position:relative;
    top:0;

    transition:top .2s;
}

nav ul li a:hover{
    background:var(--darkpink);
    top:-10px;
}


/* =========================
FEATURED LESSON
========================= */

.featured-img img{
    border-radius:10px;
}

.featured-text{
    display:flex;
}

.featured-cta{
    flex:0 0 300px;

    margin-top:30px;
    padding:20px;

    background:var(--tan);
    color:white;

    text-align:center;
    border-radius:10px;
}

.featured-cta sup{
    font-size:18px;
}


/* PRICE CIRCLE */

.price{
    width:100px;
    height:100px;

    margin:0 auto;

    background:var(--ivory);
    border-radius:50%;
    border:3px solid white;

    text-align:center;
    font-size:40px;
}

.price span{
    display:inline-block;
    margin-top:25px;
    color:var(--darkpink);
}


/* BUTTON */

a.button{
    background:var(--darkpink);
    color:white;

    padding:10px 20px;
    border-radius:10px;

    cursor:pointer;
}

a.button:hover{
    background:black;
}


/* =========================
CARDS
========================= */

.card-container{
    display:flex;
    justify-content:space-between;
}

.card-container.lessons{
    flex-wrap:wrap;
}


/* CARD */

.card{
    width:22%;

    padding:10px;
    margin-bottom:20px;

    border-radius:10px;
    background:white;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.card img{
    border-radius:10px;
}

.card h3{
    align-self:center;
    margin-bottom:0;
}

.card p{
    font-size:16px;
}

.lesson-description{
    flex-grow:1;
}


/* LESSONS */

.lessons .card{
    align-items:center;
    background:var(--ivory);
}

.lessons.videos .card{
    width:30%;
    background:white;
}

.lessons .card h3{
    flex-grow:1;
}


/* SKILL LEVEL */

.skill-level{
    background:var(--darkpink);

    padding:10px;
    border-radius:10px;

    display:flex;
    flex-direction:column;
    align-items:center;
}

.skill{
    color:white;
    font-weight:700;
    font-size:24px;
}


/* =========================
PAGE TITLE
========================= */

section.page-title{
    background:var(--tan);
    background-image:url("../images/bg_tile.png");

    color:white;
    padding:5px 30px;
}

section.page-title h1{
    text-align:left !important;

    font-family:'Roboto', sans-serif;
    font-weight:400;

    text-shadow:0 0 15px rgba(0,0,0,.2);
}


/* =========================
CONTACT
========================= */

.contactcontent{
    display:flex;
    justify-content:space-between;
}

#form-container{
    flex-basis:60%;
}

#contactinfo-container{
    flex-basis:30%;
}


/* FORM */

.form-group{
    display:flex;
    align-items:flex-start;
    margin-bottom:12px;
}

.form-group label{
    flex-basis:100px;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="number"],
.form-group select,
.form-group textarea{
    flex:1 1 300px;

    font-size:16px;
    padding:10px;

    border:none;
    border-radius:10px;

    background:var(--lighttan);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    outline:none;
}

.form-row{
    display:flex;
    align-items:center;
}


/* SUBMIT BUTTON */

.form-group input[type="submit"]{
    background:var(--darkpink);
    color:white;

    font-size:20px;
    font-weight:700;

    padding:10px 20px;

    border:none;
    border-radius:10px;

    cursor:pointer;
}

.form-group input[type="submit"]:hover{
    background:black;
}


/* CONTACT INFO */

.contact-row{
    display:flex;
    align-items:center;
    margin-bottom:12px;
}

.contact-row label{
    flex-basis:70px;
    font-weight:700;
}


/* SOCIAL MEDIA */

.socmed-container{
    display:flex;
    align-items:center;
}

ul.socmed-container{
    padding:0;
}

ul.socmed-container li{
    list-style:none;
}

ul.socmed-container li svg{
    width:30px;
    margin-right:10px;

    opacity:.5;
    transition:margin-top .2s;
}

ul.socmed-container li svg:hover{
    opacity:1;
    margin-top:-5px;
}


/* =========================
ABOUT
========================= */

.masters-container{
    display:flex;
    justify-content:center;
}

.masters-content{
    flex:0 0 250px;
    margin:0 30px;
    text-align:center;
}

.about-content h3,
.about-content small{
    margin:0;
}

.masters-content img{
    border-radius:50%;
}


/* SCHOOL MASTERS */

.schoolmasters-container{
    display:flex;
    align-items:flex-start;
}

.headmaster{
    flex:0 0 300px;
    text-align:center;
    margin-right:200px;
}

.headmaster img{
    border-radius:25px;
}


/* LESSON MASTERS */

.lessonmasters{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    flex-wrap:wrap;
}

.lessonmaster-content{
    flex:0 0 45%;
    margin-bottom:30px;
    text-align:center;
}

.lessonmaster-content img{
    width:114px;

    border-radius:50%;
    border:5px solid var(--lighttan);
}

.lessonmaster-content img:hover{
    border:5px solid var(--darkpink);
}


/* =========================
FOOTER
========================= */

footer{
    background:var(--tan);
    padding:10px 30px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

footer img{
    width:200px;
    margin-right:10px;
}

footer p{
    font-size:12px;
    margin-left:auto;
}


/* =========================
MOBILE RESPONSIVE
========================= */

@media (max-width: 428px){
    .container{
        width:auto;
        margin:20px 15px;
    }

    .section{
        padding:20px 15px;
    }

    h1{
        font-size:34px;
    }

    h2.section-title{
        letter-spacing:.35em;
        margin-right:-.35em;
    }

    p{
        font-size:16px;
    }

    header{
        flex-direction:column;
        gap:12px;
        padding:15px;
    }

    #logo-container{
        width:100%;
        max-width:320px;
    }

    nav ul{
        flex-direction:row;
        flex-wrap:nowrap;
        justify-content:center;
        align-items:center;
        gap:8px;
        padding:0;
        margin:0;
    }

    nav ul li{
        margin-left:0;
        width:auto;
        display:block;
    }

    nav ul li a{
        display:inline-block;
        padding:10px 12px;
        text-align:center;
    }

    .featured-text,
    .card-container,
    .contactcontent,
    .form-row,
    .masters-container,
    .lessonmasters,
    .schoolmasters-container,
    footer{
        flex-direction:column;
    }

    .featured-cta,
    #form-container,
    #contactinfo-container,
    .headmaster,
    .lessonmaster-content{
        width:100%;
        flex:1 1 auto;
        margin-top:15px;
        margin-right:0;
    }

    .card,
    .lessons.videos .card,
    .masters-content,
    .lessonmaster-content{
        width:100%;
        margin-left:0;
        margin-right:0;
    }

    .form-group{
        flex-direction:column;
        gap:6px;
    }

    .form-group label,
    .contact-row label{
        flex-basis:auto;
    }

    .headmaster{
        flex:1 1 auto;
    }

    .lessonmasters{
        gap:15px;
    }

    footer p{
        margin-left:0;
        text-align:center;
    }
}

