   /* =========================================================
   ÐÇ¿ÕÎÞÏÞ´«Ã½app PIANO STUDIES
   MEET OUR STUDENTS
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

#container_one,
#container_one * {
    box-sizing: border-box;
}

#container_one {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #000;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 1.1rem;
    line-height: 1.65;
}

#container_one img {
    max-width: 100%;
    height: auto;
}

#container_one p {
    margin: 0 0 18px;
    color: #000;
}

#container_one a {
    color: #663399;
    font-weight: 700;
    text-decoration: underline;
}

#container_one a:hover,
#container_one a:focus {
    color: #800080;
}


/* =========================================================
   HERO IMAGE
   ========================================================= */

#container_one .students-hero {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

#container_one .students-hero img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

#container_one .students-hero-title {
    width: 100%;
    margin: 0;
    padding: 17px 20px 18px;

    background: #fff;
    color: #663399;
    border-bottom: 1px solid #B8860B;

    font-family: Lato, "Open Sans", Arial, Helvetica, sans-serif;
    font-size: clamp(1.7rem, 3.5vw, 3rem);
    font-weight: 300;
    line-height: 1.2;
    text-align: center;
}


/* =========================================================
   MAIN PAGE
   ========================================================= */

#container_one .students-page {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 30px 25px 45px;
}


/* =========================================================
   SECTIONS
   ========================================================= */

#container_one .studio-section,
#container_one .students-section {
    width: 100%;
    margin: 0 0 30px;
    padding: 25px 30px;

    background: #fff;
    border: 1px solid #d8d9da;
}


/* =========================================================
   SECTION TITLES
   ========================================================= */

#container_one .section-title {
    margin: 0 0 25px;
    padding: 0 0 10px;

    color: #663399;
    border-bottom: 2px solid #B8860B;

    font-family: Lato, "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.35;
}


/* =========================================================
   GROUP PHOTO / INTRO
   ========================================================= */

#container_one .studio-intro {
    display: grid;
    grid-template-columns: minmax(0, 650px) minmax(0, 1fr);
    gap: 35px;

    /* TOP ALIGNMENT */
    align-items: start;
}


/* =========================================================
   GROUP PHOTO
   ========================================================= */

#container_one .studio-photo {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    padding: 0;

    /* TOP ALIGNMENT */
    align-self: start;
}

#container_one .studio-photo img {
    display: block;
    width: 100%;
    max-width: 650px;
    height: auto;
    margin: 0;
    padding: 0;

    vertical-align: top;
}


/* =========================================================
   GROUP DESCRIPTION
   ========================================================= */

#container_one .studio-description {
    width: 100%;
    margin: 0;
    padding: 0;

    align-self: start;
}

#container_one .studio-description p:last-child {
    margin-bottom: 0;
}

#container_one .studio-caption {
    margin-top: 20px;
}

#container_one .studio-note {
    margin-top: 18px;
}


/* =========================================================
   STUDENT LIST
   ONE STUDENT PER ROW
   ========================================================= */

#container_one .student-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
}


/* =========================================================
   STUDENT CARD
   ========================================================= */

#container_one .student-card {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 30px;

    width: 100%;
    margin: 0;
    padding: 25px;

    background: #fff;
    border: 1px solid #d8d9da;

    /*
       IMPORTANT:
       Align both the photo and content
       to the TOP of the row.
    */
    align-items: start;
}


/* =========================================================
   STUDENT PHOTO AREA
   VALIGN TOP
   ========================================================= */

#container_one .student-photo-area {
    display: block;

    width: 100%;
    margin: 0;
    padding: 0;

    /*
       CSS Grid equivalent of valign="top"
    */
    align-self: start;

    /*
       Also explicitly set for the image element
       in case the area is used in another layout.
    */
    vertical-align: top;
}


/* =========================================================
   STUDENT PHOTO
   ========================================================= */

#container_one .student-photo {
    display: block;

    width: 230px;
    height: 280px;

    max-width: 230px;

    margin: 0;
    padding: 0;

    /*
       Keep every photo at the same displayed size.
    */
    object-fit: cover;

    /*
       Keep the TOP of the actual photograph visible.
    */
    object-position: top center;

    /*
       Prevent inline-image baseline behavior.
    */
    vertical-align: top;
}


/* =========================================================
   STUDENT CONTENT
   ========================================================= */

#container_one .student-content {
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;

    /* TOP ALIGNMENT */
    align-self: start;
}

#container_one .student-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   STUDENT NAME
   ========================================================= */

#container_one .student-name {
    margin: 0 0 5px;
    padding: 0;

    color: #663399;

    font-family: Lato, "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


/* =========================================================
   PROGRAM / CLASS
   ========================================================= */

#container_one .student-program {
    margin: 0 0 18px;
    padding: 0;

    color: #000;

    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.5;
}


/* =========================================================
   STUDENT BIO
   ========================================================= */

#container_one .student-content p {
    margin: 0 0 18px;

    color: #000;

    font-size: 1.1rem;
    line-height: 1.65;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    #container_one .students-page {
        padding: 25px 20px 40px;
    }

    #container_one .studio-section,
    #container_one .students-section {
        padding: 25px;
    }

    #container_one .studio-intro {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 25px;

        align-items: start;
    }

    #container_one .student-card {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 25px;

        align-items: start;
    }

    #container_one .student-photo-area {
        align-self: start;
        vertical-align: top;
    }

    #container_one .student-photo {
        width: 210px;
        height: 260px;
        max-width: 210px;

        margin: 0;
        vertical-align: top;
    }
}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 800px) {

    #container_one .students-page {
        padding: 20px 15px 35px;
    }

    #container_one .studio-section,
    #container_one .students-section {
        padding: 20px;
    }

    #container_one .studio-intro {
        grid-template-columns: 1fr;
        gap: 25px;

        align-items: start;
    }

    #container_one .studio-photo {
        max-width: 650px;
        margin: 0 auto;

        align-self: start;
    }

    #container_one .student-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /*
       Mobile/tablet student card:
       photo goes above the content.
    */
    #container_one .student-card {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;

        padding: 22px;

        align-items: start;
    }

    #container_one .student-photo-area {
        display: block;
        width: 100%;

        margin: 0;
        padding: 0;

        align-self: start;
        text-align: center;
        vertical-align: top;
    }

    #container_one .student-photo {
        display: block;

        width: 230px;
        height: 280px;
        max-width: 230px;

        margin: 0 auto;
        vertical-align: top;

        object-fit: cover;
        object-position: top center;
    }

    #container_one .student-content {
        width: 100%;
        min-width: 0;

        margin: 0;
        padding: 0;

        align-self: start;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    #container_one {
        font-size: 1.05rem;
        line-height: 1.6;
    }

    #container_one .students-hero-title {
        padding: 15px 15px 16px;
        font-size: 2rem;
    }

    #container_one .students-page {
        padding: 15px 8px 30px;
    }

    #container_one .studio-section,
    #container_one .students-section {
        margin-bottom: 20px;
        padding: 16px;
    }

    #container_one .section-title {
        margin-bottom: 20px;
        font-size: 1.3rem;
    }

    #container_one .studio-intro {
        gap: 20px;
    }

    #container_one .studio-photo {
        width: 100%;
        max-width: 600px;
    }

    #container_one .studio-photo img {
        width: 100%;
        max-width: 600px;
    }

    #container_one .student-card {
        padding: 18px;
        gap: 18px;

        align-items: start;
    }

    #container_one .student-photo-area {
        align-self: start;
        text-align: center;
        vertical-align: top;
    }

    #container_one .student-photo {
        width: 210px;
        height: 255px;
        max-width: 210px;

        margin: 0 auto;
        vertical-align: top;

        object-position: top center;
    }

    #container_one .student-name {
        font-size: 1.3rem;
    }

    #container_one .student-program {
        font-size: 1rem;
        margin-bottom: 15px;
    }

    #container_one .student-content p {
        font-size: 1.05rem;
        line-height: 1.6;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 430px) {

    #container_one .students-hero-title {
        padding: 14px 12px 15px;
        font-size: 1.7rem;
    }

    #container_one .students-page {
        padding: 10px 6px 25px;
    }

    #container_one .studio-section,
    #container_one .students-section {
        padding: 14px;
    }

    #container_one .section-title {
        font-size: 1.2rem;
    }

    #container_one .student-card {
        padding: 15px;
        align-items: start;
    }

    #container_one .student-photo-area {
        align-self: start;
        vertical-align: top;
    }

    #container_one .student-photo {
        width: 200px;
        height: 245px;
        max-width: 200px;

        margin: 0 auto;
        vertical-align: top;

        object-position: top center;
    }

    #container_one .student-name {
        font-size: 1.2rem;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {

    #container_one .students-hero-title {
        font-size: 1.5rem;
    }

    #container_one .section-title {
        font-size: 1.15rem;
    }

    #container_one .student-photo {
        width: 190px;
        height: 235px;
        max-width: 190px;
    }

    #container_one .student-content p {
        font-size: 1rem;
    }
}