@import url('https://fonts.googleapis.com/css2?family=Philosopher:wght@700&family=Signika+Negative:wght@300&display=swap');

* {
    margin: 0;
    padding: 0;
    border: none;
}

div {
    display: grid;
}

body {
    font-family: 'Signika Negative', sans-serif;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    margin: 0;
}

/* Header and Nav*/


nav {
    display: inline;
}

nav a {
    color: #757575;
    font-size: 120%;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 5px;
    margin: auto 0;
}

nav li {
    list-style-type: none;
    padding-top: 10px;
    padding-bottom: 10px;
}

header {
    position: fixed;
    line-height: 60px;
    padding: 0;
    overflow: hidden;
    width: 100%;
    background: #ffffff;
    z-index: 3;
}

#logo {
    font-family: 'Philosopher', sans-serif;
    color: #585858;
    font-size: 200%;
    letter-spacing: 4px;
    text-decoration: none;

    animation-name: logo-zoom;
    animation-duration: 10s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;

}

.menu {
    display: flex;
    justify-content: space-evenly;
    padding-left: 5%;
}

.menu a:hover {
    border-bottom: 1px solid #585858;
}

.right-nav {
    float: right;
}

.left-nav {
    float: left;
}

#nav-menu-right {
    position: relative;
    right: 18%;
}

#nav-menu-left {
    position: relative;
    left: 22%;
}

@keyframes logo-zoom {
    from {
        transform: scale(1);

    }

    to {
        transform: scale(1.2);

    }

}

/*Main image*/

.mainphoto-container {
    height: 830px;
    width: 100%;
    overflow: hidden;
}

#main-photo {
    height: 830px;
    width: 100%;
    background: url('../images/yogapracticenamaste.webp') no-repeat center top;
}


#intro-box {
    font-size: 100%;
    text-transform: uppercase;
    width: 33%;
    height: 250px;
    padding: 2% 2% 2% 2%;
    background-color: rgba(180, 178, 178, 0.305);
    position: absolute;
    top: 38%;
    left: 150px;
    color: #ffffff;
}

#intro-box>h4 {
    font-weight: 100;
    font-size: 100%;
    padding-bottom: 30px;
}


#intro-box #triallesson-button {
    color: #ffffff;
    background-color: rgba(86, 141, 136, 0.623);
    border: solid 0.5px #585858;
    border-radius: 10px;

    position: absolute;
    bottom: 15%;
    right: 5%;
    text-decoration: none;
    padding: 1.5%;
}

#triallesson-button:hover {
    box-shadow: 3px 12px 15px 3px rgba(77, 77, 77, 0.24);
}


/*Home Page*/

div li {
    list-style: none;
    padding: 0.2%;
}

.main-info {
    padding: 5%;
    max-height: 250px;
    max-width: 100%;
    font-size: 115%;
    color: #333333;
    text-transform: uppercase;

    display: flex;
    justify-content: space-around;
    align-items: baseline;
    text-align: center;
}

#info-opening-times {
    display: grid;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    height: 15px;
    align-content: center;
    justify-items: stretch;
}

.horizontal-line {
    border: solid 0.5px #5858585b;
}

#info-teachers {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 250px;
    justify-content: space-evenly;
}

.teachers-container {
    position: relative;
}

#teachers>ul>li {
    font-weight: 300;
    margin-bottom: 2.5%;
}

#teachers {
    font-weight: 300;
}

.teacher-photo {
    width: 350px;
    height: 350px;
    border-radius: 50%;
}

.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 350px;
    width: 350px;
    border-radius: 50%;
    opacity: 0;
    transition: .8s ease;
    background-color: #585858;
}

.overlay:hover {
    opacity: 1;
}

.text {
    color: white;
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}

#info-spaces {
    height: 400px;
    background: url('../images/multipleyogapracticesbothindoorsandoutdoors.webp') no-repeat;
    background-size: contain;
    display: flex;
    padding: 0;
}

#in-and-out {
    display: grid;
    justify-content: center;
    justify-items: center;
    text-align: center;
    padding: 3%;
}

#in-and-out>h2 {
    padding: 1%;
}

/* Schedule page */

#schedule {
    background-color: rgba(180, 178, 178, 0.305);
    color: #ffffff;
    text-align: center;
    width: 100%;
    height: 60%;
    padding: 2%;
    padding-top: 10%;
    position: relative;
    border-collapse: collapse;
    font-size: 100%;
}

.table-header {
    padding: 15px;
    font-weight: 700;
    font-size: 120%;
}


.table-data {
    font-weight: 100;
}

tr {
    width: 100%;
    display: flex;
    flex-direction: column;
}

td {
    padding: 10px;
}

/*Sign-up page*/

#form-container {
    background-color: rgba(54, 54, 54, 0.459);
    padding: 1%;
    border-radius: 15px;
    transform: translate(0%, 12%);
}

#main-photo {
    height: 770px;
    width: 100%;
    background: url('../images/yogapracticenamaste.webp') no-repeat center top;
    background-size: cover;
}

#main-photo-form {
    height: 830px;
    width: 100%;
    background: url('../images/yogapracticenamaste.webp') no-repeat center top;
    background-size: cover;
    margin-top: 61px;
}

form {
    width: 90%;
    height: 350px;
    padding: 7% 5% 7% 5%;

    font-weight: 100;
    font-size: 130%;
    color: #ffffff;
}

form legend {
    font-weight: 400;
    font-size: 150%;
    color: #ffffff;
}

form input {
    background-color: rgba(141, 141, 141, 0);
    border: solid 1px #ffffffa6;
    border-radius: 10px;
    height: 200%;
    font-size: 90%;
    font-family: 'Signika Negative', sans-serif;
    color: #ffffff8a;
    padding: 4px;
    box-shadow: 0 0 0.7px 1px #d3d2d250;
    margin: 1%;
}

legend {
    padding-top: 3%;
}

:focus-visible {
    outline: #ffffffa6 1px;
}

#submitbutton {
    font-size: 120%;
    background-color: #cfcfcf91;
    padding: 5px 20px 5px 20px;
}

#submitbutton:hover {
    box-shadow: 0 12px 16px 0 rgba(0, 0, 0, 0.24);
}

#submitbutton:active {
    background-color: #585858;
}

/*Contact page*/

.contact-container {
    background-color: rgba(54, 54, 54, 0.459);
    font-size: 115%;
    padding: 4%;
    border-radius: 15px;
    color: #ffffff;
    height: 35%;
    width: 20%;
    align-content: center;
    text-align: center;
    justify-content: center;
}

.main-photo-contact {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 82px;
}

.main-photo-schedule {
    margin-top: 82px;
}

.summary {
    margin-bottom: 10px;
}

.labelforfqa {
    display: block;
    background: transparent;
    padding: 1px;
    cursor: pointer;
}

.fqatext {
    display: none;
    padding: 10px;
}


input[type="radio"] {
    display: none;
    background: transparent;
}

input[type="radio"]:checked+.summary .fqatext {
    background: transparent;
}

input[type="radio"]:checked+.summary .fqatext {
    display: block;
}


#map {
    width: 300px;
    height: 100%;
    align-items: center;
    padding: 5px;
}

.fa-whatsapp {
    color: #ffffff;
    height: 5%;
    width: 5%;
    align-items: center;
    padding: 3%;
    margin: 3%;
}

#fqa-header {
    text-align: center;
    padding: 0% 0% 5% 0%;
}

summary {
    padding: 3%;
    list-style: none;
    display: flex;
    justify-content: space-between;
    transition: height 1s ease;
}

summary::-webkit-details-marker {
    display: none;
}

summary:after {
    content: "\002B";
}

details[open] summary {
    border-bottom: 1px solid #aaa;
    margin-bottom: 1.5%;
}

details[open] summary:after {
    content: "\00D7";
}

details[open] div {
    padding: 1.5% 3%;
}

/*Confirmation page*/

#thankyou-container {
    display: flex;
    position: fixed;
    top: 20%;
    left: 34%;
    width: 450px;
    height: 450px;
    border: #585858 solid 1px;
    border-radius: 50%;
    padding: 3%;
    margin: 3%;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;

    animation-name: container-scaleup;
    animation-duration: 15s;
    animation-timing-function: ease-in-out;

}

.thank-you {
    color: #585858;
    text-align: center;
    position: fixed;
}

.thank-you h1 {
    text-transform: uppercase;
    color: #424242;
}

.thank-you a {
    text-decoration: none;
    color: #585858;
}

.thank-you a:hover {
    text-decoration: underline;
}

@keyframes container-scaleup {
    from {
        transform: scale(1.0);

    }

    to {
        transform: scale(1.1);

    }
}

/*Footer*/

footer {
    text-align: center;
    height: 20%;
}

ul .social-platforms {
    margin-block-start: 0px;
    margin-block-end: 0px;
    padding-inline-start: 0px;
    height: 20%;
}

.social-platforms li {
    display: inline;
}

.social-platforms>li>a>i {
    color: #585858;
    margin: 3%;
    padding-left: 3%;
    padding-right: 3%;
}

/*Scroll bar for Chrome, Edge, Safari and Opera*/

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: #649ea0b7;
}

.error {
    text-align: center;
    padding: 10%;
    background-color: #c4c4c4;
    align-content: center;
    height: 390px;
}

.error-header {
    text-align: center;
    padding: 5%;
}

/* Media queries Max-Width 2560 */

@media screen and (max-width: 2560px) {
    body {
        font-size: 120%;
    }

    #info-spaces {
        background-size: cover;
    }

    #form {
        padding-top: 0.5%;
    }

}

/* Media queries Max-Width 1800px */

@media screen and (max-width: 1800px) {
    body {
        font-size: 100%;
    }

    #form-container {
        transform: translate(0%, 31%);
    }

    #form {
        padding-top: 0;
    }

    #info-spaces {
        background-size: contain;
    }

    #thankyou-container {
        left: 29%;
    }
}

/* Media queries Max-Width 1540px */

@media screen and (max-width: 1540px) {
    .mainphoto-container {
        height: 770px;
    }

    #main-photo {
        height: 770px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
    }

    .main-photo-contact {
        margin-top: 81px;
    }

    div #intro-box {
        width: 40%;
        left: 120px;
    }

    #in-and-out {
        padding: 0% 1% 5% 1%;

    }

    fieldset {
        padding: 3%;
    }

    #map {
        width: 300px;
    }

    #thankyou-container {
        left: 28%;
    }
}

/* Media queries Max-Width 1440px */

@media screen and (max-width: 1440px) {
    .mainphoto-container {
        height: 770px;
    }

    #main-photo {
        height: 770px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
    }

    .main-photo-contact {
        margin-top: 82px;
        margin-bottom: 20px;
    }

    .main-photo-schedule {
        margin-bottom: 17px;
    }

    div #intro-box {
        width: 42%;
        left: 100px;
    }

    #info- #in-and-out {
        padding: 0% 1% 3% 1%;
        /* margin-top: -3%; */
    }

    fieldset {
        padding: 3%;
    }

    #map {
        width: 250px;
    }
}

/* Media queries Max-Width 1240px */

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

    .mainphoto-container {
        height: 770px;
    }

    #main-photo {
        height: 770px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
    }

    div #intro-box {
        width: 50%;
        left: 100px;
        font-size: 87%;
    }

    #in-and-out {
        padding: 0% 1% 3% 1%;
        /* margin-top: -6%; */
    }

    #form-container {
        transform: translate(0%, 31%);
    }

    fieldset {
        padding: 3%;
    }

    #map {
        width: 250px;
    }

    #thankyou-container {
        left: 24%;
    }
}

/* Media queries Max-Width 1024px */

@media screen and (max-width: 1024px) {
    .mainphoto-container {
        height: 770px;
    }

    #main-photo {
        height: 770px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
        background-size: cover;
    }

    div #intro-box {
        width: 50%;
        left: 100px;
    }

    #in-and-out {
        padding: 0% 1% 3% 1%;
        /* margin-top: -6%; */
    }

    #info-spaces {
        height: 145px;
    }

    #info-opening-times {
        padding: 10%;
    }

    #form-container {
        transform: translate(0%, 41%);
    }

    input[type="submit"] {
        width: 25%;
    }

    fieldset {
        padding: 3%;
    }

    #map {
        width: 250px;
    }

    .main-photo-contact {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        margin-bottom: 24px;
    }

    .contact-container {
        width: 70%;
        height: 150px;
        font-size: 90%;
        padding: 4%;
    }

    #fqa-header {
        padding: 3% 0% 3% 0%;
    }

    .fa-whatsapp {
        padding: 0;
        margin: 0;
    }

    .teacher-photo {
        width: 250px;
        height: 250px;
        border-radius: 50%;
    }

    .overlay {
        height: 250px;
        width: 250px;
    }

    .text {
        color: white;
        font-size: 12px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        text-align: center;
    }

    .mainphoto-container {
        height: 770px;
    }

    #main-photo {
        height: 770px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
        background-size: cover;
    }

    #schedule {
        height: 50%;
        font-size: 82%;
    }

    #thankyou-container {
        left: 20%;
    }

    .error {
        height: 473px;
    }
}

/* Media queries Max-Width 768px */

@media screen and (max-width: 768px) {
    nav a {
        letter-spacing: 2px;
        font-size: 100%;
    }

    .mainphoto-container {
        height: 770px;
    }

    .main-photo-contact {
        height: 927px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
        background-size: cover;
    }

    div #intro-box {
        width: 60%;
        left: 40px;
        font-size: 80%;
        height: 200px;
    }

    #info-opening-times {
        font-size: 90%;
        padding-top: 10%;
        padding-bottom: 10%;
    }

    #in-and-out {
        padding: 0% 1% 3% 1%;
        background-size: contain;
        font-size: 85%;
    }

    #info-spaces {
        height: 120px;
    }

    #form-container {
        transform: translate(0%, 27%);
    }

    fieldset {
        padding: 3%;
        padding: 3%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    form {
        width: 90%;
        height: 550px;
        font-size: 100%;
        color: #ffffff;
        position: absolute;
    }

    form input {
        width: 30%;
        height: 200%;
        font-size: 90%;
        font-family: 'Signika Negative', sans-serif;
        color: #ffffff8a;
        padding: 4px 40px 4px 40px;
        box-shadow: 0 0 0.1px 0.7px #d3d2d250;
        margin: 1.6%;
        box-sizing: content-box;
        text-align: center;
    }

    #thankyou-container {
        left: 13.5%;
    }

    .contact-container {
        padding: 5%;
    }

    #map {
        height: 100px;
    }

    #schedule {
        width: 100%;
        font-size: 64%;
        height: 100%;
    }

    .main-photo-schedule {
        margin-bottom: 33px;
        margin-top: 81px;
    }

    .table-header {
        padding: 3px;
        font-weight: 700;
        text-decoration-line: underline;
    }

    tbody {
        display: flex;
        flex-wrap: wrap;
    }

    .period {
        display: none;
    }

    .error {
        height: 524px;
    }
}

/* Media queries Max-Width 640px */

@media screen and (max-width: 640px) {
    #thankyou-container {
        left: 7.5%;
    }

    #form-container {
        transform: translate(0%, 32%);
    }
}

/* Media queries Max-Width 425px */

@media screen and (max-width: 425px) {
    body {
        font-size: 75%;
        align-content: space-between;
    }

    header {
        position: static;
    }

    .menu {
        display: flex;
        padding-left: 5%;
        flex-direction: column;
        align-items: center;
    }

    nav li {
        padding-top: 0;
        padding-bottom: 0;
    }

    .mainphoto-container {
        height: 300px;
        position: relative;
    }

    #main-photo {
        height: 600px;
    }

    .main-photo-contact {
        height: 670px;
        background: url('../images/yogapracticenamaste.webp') no-repeat center top;
        background-size: cover;
        margin-top: 0;
        margin-bottom: 0;
    }

    .main-photo-schedule {
        margin-top: 0;
        margin-bottom: 0;
    }

    div #intro-box {
        width: 80%;
        left: 10px;
        font-size: 60%;
        height: 100px;
    }

    #intro-box>h4 {
        font-weight: 100;
        font-size: 75%;
        padding-bottom: 5px;
    }

    #intro-box #triallesson-button {
        bottom: 10%;
        right: 3.5%;
    }

    #info-opening-times {
        grid: 30px / auto auto;
        height: auto;
        font-size: 65%;
        padding-top: 25px;
    }

    #info-teachers {
        justify-content: flex-start;
        flex-direction: column;
        font-size: 70%;
        height: 386px;
        max-height: 408px;
    }

    #info-spaces {
        height: 65px;
    }

    #teachers h4 {
        padding-top: 15px;
    }

    .teacher-photo {
        width: 250px;
        height: 250px;
        border-radius: 50%;
    }

    .overlay {
        height: 250px;
        width: 250px;
    }

    .text {
        color: white;
        font-size: 12px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        text-align: center;
    }

    #in-and-out {
        padding: 0% 1% 6% 1%;
        font-size: 75%;
    }

    #main-photo-form {
        height: 620px;
        width: 100%;
        background: url('../images/yogapracticenamaste.webp') no-repeat right top;
        background-size: cover;
        margin-top: 0;
    }

    form {
        width: 90%;
        height: 390px;
        font-size: 90%;
        color: #ffffff;
        position: absolute;
        z-index: 3;
        padding-top: 17.5%;
    }

    #form-container {
        transform: translate(0%, 29%);
        height: auto;
    }

    fieldset {
        padding: 3%;
        padding: 3%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    form input {
        width: 30%;
        height: 200%;
        font-size: 90%;
        font-family: 'Signika Negative', sans-serif;
        color: #ffffff8a;
        padding: 4px 40px 4px 40px;
        box-shadow: 0 0 0.1px 0.7px #d3d2d250;
        margin: 1.6%;
        box-sizing: content-box;
        text-align: center;
    }

    #map {
        left: unset;
        padding-left: 20px;
        padding-right: 20px;
    }

    #schedule {
        height: 100%;
        top: 0;
        padding-top: 0;
    }

    footer {
        margin-top: 0;
        line-height: 65px;
    }

    #footer-bottom {
        position: relative;
    }

    #footer-contact {
        position: relative;
    }

    .social-platforms li {
        display: inline;
    }

    #thankyou-container {
        height: 280px;
        width: 280px;
        left: 11.5%;
        top: 47%;
        font-size: 70%;
    }

    #thank-you {
        height: 280px;
        width: 280px;
    }

    .error {
        height: 293px;
    }
}


/* Media queries Max-Width 375px */

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

    #thankyou-container {
        left: 5%;
    }

    .error {
        height: 303px;
    }

    #map {
        padding: 1px;
    }
}

/* Media queries Max-Width 320px */

@media screen and (max-width: 320px) {
    nav {
        display: flex;
        flex-direction: column;
    }

    #form-container {
        margin-top: 7%;
    }

    #thankyou-container {
        height: 230px;
        width: 230px;
        left: 7.5%;
        font-size: 65%;
    }

    #thank-you {
        height: 230px;
        width: 230px;
    }

    .error {
        height: 314px;
    }

    #map {
        width: 200px;
    }

    .main-photo-contact {
        margin-top: 24px;
    }

    .contact-container {
        padding: 23px;
    }
}

@media screen and (max-height: 675px) {

    #thankyou-container {
        height: 180px;
        width: 180px;
        font-size: 35%;
        right: 0;
        left: 0;
        top: 20%;
    }

    #thank-you {
        height: 130px;
        width: 130px;
        display: flex;
    }

    .menu-confirmation {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        font-size: 65%;
        padding: 0 10px 0 10px;
    }

    .body-confirmation {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    @media screen and (max-width: 768px) {
        #thankyou-container {
            top: 22%;
            margin-left: 32%;
        }
    }

    @media screen and (max-width: 678px) {
        #thankyou-container {
            top: 22%;
            margin-left: 30%;
        }
    }

    @media screen and (max-width: 425px) {
        #thankyou-container {
            margin-left: 23%;
        }
    }

    @media screen and (max-width: 375px) {
        #thankyou-container {
            margin-left: 20%;
        }
    }

    @media screen and (max-width: 375px) {
        #thankyou-container {
            margin-left: 17%;
        }
    }

}