@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300&family=Playfair+Display&display=swap');

body {
    font-family: Playfair Display, serif;
    color: #476770;
    background-color: #d3d8cf;
    padding-bottom: 100px;

}

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

}

/* headings and logo*/

h1, h2, h3 {
    font-family: Playfair Display, serif;
    text-transform: uppercase;
    letter-spacing: 5px;
    color: #476770;
}

#logo {
    float: left;
    position: absolute;
    font-size: 255%;
    padding: 30px;
    margin: 2% 0 0 5.5%;
    line-height: 50px;
}


/*navigation links*/

#menu {
    float: left;
    position: relative;
    font-size: 150%;
    letter-spacing: 3px;
    margin-top: 7%;
    margin-left: 6.5%;
    margin-bottom: 2%;
    
}

#menu li {
    float: left;    
    list-style-type: none;
    padding: 10px;
}

#menu a {
    text-decoration: none;
    color: #324A51;

}

#menu a:hover {
    color: #8AA69F;
    border-bottom: 1px solid #8AA69F;
}

.active {
    border-bottom: 1px solid #8AA69F;
}

#gallery {
    font-size: 150%;
    float: right;
    list-style-type: none;
    margin-right: 10%;
    letter-spacing: 3px;
    line-height: 170px;
}

#gallery a {
    text-decoration: none;
    color: inherit;
}

#gallery a:hover {
    color: #8AA69F;
    border-bottom: 1px solid #8AA69F;
}

/* hero image and cover text*/

#hero-outer {
    height: 600px;
    width: 100%;
    overflow: hidden;
    position: relative;
}

#cover-text, #cover-text h2 {
    color: #ffffff;

}

#hero-image {
    height: 600px;
    width: 100%;
    background: url(../images/pexels-musicfactory-lehmannsound-215957-_1_\ \(1\)\ \(1\).webp) no-repeat center center;
    background-size: cover;
}

/* line (hr) styling*/

hr {
    border-top: 1px solid #476770;
    width: 95%;
    margin: 5px;
}

/* about us */

.offers {
    display: block;
    padding: 5px;
    justify-content: center;
    margin: 5px;
}

.offers p {
    color: #324A51;
}

.about {
    float: left;
    font-size: 130%;
    width: 40%;
    height: 330px;
    background-color: #AEBAB2;
    position: relative;
    font-family: Lato, sans-serif;
    margin-top: 8%;
    margin-left: 4%;
    padding: 1%;
    border: 1px solid #476770;
    letter-spacing: 1px;

}
 /* open times */

.times {
    float: right;
    font-size: 130%;
    width: 40%;
    height: 330px;
    background-color: #AEBAB2;
    position: relative;
    font-family: Lato, sans-serif;
    margin-top: 8%;
    margin-right: 4%;
    padding: 1%;
    border: 1px solid #476770;
    letter-spacing: 1px;

}

/* what we offer */

.services {
    float: left;
    font-size: 130%;
    width: 40%;
    height: 330px;
    background-color: #AEBAB2;
    position: relative;
    font-family: Lato, sans-serif;
    margin-top: 8%;
    margin-left: 4%;
    padding: 1%;
    border: 1px solid #476770;
    letter-spacing: 1px;
}

/* something extra */

.extra {
    float: right;
    font-size: 130%;
    width: 40%;
    height: 330px;
    background-color: #AEBAB2;
    position: relative;
    font-family: Lato, sans-serif;
    margin-top: 8%;
    margin-right: 4%;
    padding: 1%;
    border: 1px solid #476770;
    letter-spacing: 1px;
}

/*application form*/

form {
    font-size: 150%;
    width: 85%;
    margin-top: 10%;
    background-color: #AEBAB2;
    border: 1px solid #476770;
    margin-left: 4%;
    margin-bottom: 10%;
    padding: 50px;
    color: #476770;
    font-family: Lato, sans-serif;
    display: inline-block;
    justify-content: center;

}

form > h2 {
    color: #476770;
}

#submit {
    background-color: #d3d8cf;
    padding: 7px;
    margin: 10px;
    font-family: Lato, sans-serif;
    font-size: 100%;
    border: 1px solid #476770;
}

#submit:hover {
    background-color: #8AA69F;
}

.form-input {
    padding: 5px;
    margin: 10px;
    background-color: #d3d8cf;
    opacity: .6;
    border: 1px solid #fff;
    font-size: 65%;
    font-family: Lato, sans-serif;
    line-height: 10px;
}

.form-input:hover {
    background-color: #476770;
}

.label-font {
    font-family: Lato, sans-serif;
    font-size: 100%;
    padding: 10px;
    font-weight: bold;
}


/* gallery */

img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 20px;
    padding: 10px;
    box-sizing: border-box;
}

#photos {
    clear: both;
    line-height: 0;
    column-count: 4;
    column-gap: 2%;
    margin: 0 auto;
    padding: 20px;
    
}

img {
    width: 100%;
}

/* confirmation page for application */

.confirmation {
    float: left;
    font-size: 130%;
    margin: 10% 0% 10% 25%;
    text-align: center;

}

/* footer */

footer {
    float: left;
    text-align: center;
    height: 150px;
    margin: 5% 0% 5% 32%;
    
}

.social-networks {
    text-align: center;
}

.social-networks > li {
    display: inline;
}

.social-networks i {
    font-size: 160%;
    margin: 1%;
    padding: 5%;
    color: #476770;
}

/* Media queries */

/* For medium screens sizes from 1200px wide and down */
@media screen and (max-width: 1200px) {

    #hero-image {
        width: 100%;
        
    }

    #logo {
        font-size: 230%;
        float: left;
        clear: left;
        margin: 4% 6% 15% 11%;
        padding: 0%;
    }

    #menu {
        display: flex;
        justify-content: space-between;
        clear: left;
        float: left;
        margin-top: 9%;
    }

    #gallery {
        clear: left;
        float: right;
        font-size: 150%;
        margin-top: 5%;
        margin-right: 10%;
        margin-bottom: 20px;
        line-height: 25px;
    
    }

    .times, .extra {
        width: 90%;
        height: 330px;
        padding-top: 5%;
        padding-bottom: 5%;
        text-align: center;
    }

    .about, .services {
        width: 90%;
        height: 400px;
        padding-top: 5%;
        text-align: center;
    }

    .about, .times, .extra, .services {
        width: 90%;
        margin: 5%;
        text-align: center;
    }

    .about h2, .times h2, .extra h2, .services h2 {
        width: 90%;
        text-align: center;
    }

    .extra h3 {
        width: 90%;
        text-align: center;
    }

    .about p, .times p, .extra p, .services p {
        text-align: center;
        padding: 5px;

    }

    #apply {
        width: 78%;
        display: flex;
        flex-flow: column;
        align-items: center;
        text-align: center;
        font-size: 130%;
    }

    .form-input {
        width: 200px;
    }

    .label-font {
        padding: 10px;
        font-size: 120%;
    }

    input[type="radio"] {
        margin-bottom: 10px;
        vertical-align: middle;
      }

    #photos {
        column-count: 3;
    }

    footer {
        text-align: center;
        margin-right: 25%;
    }

    .confirmation {
        float: left;
        font-size: 100%;
        margin: 10% 0% 10% 17%;
        text-align: center;
    
    }
}

/* For small screen size 600px and down*/
@media screen and (max-width: 600px){

    #hero-image {
        width: 100%;
        
    }

    #logo {
        font-size: 160%;
        float: left;
        clear: left;
        margin: 0% 0% 0% 5%;

    }

    #gallery {
        clear: left;
        float: right;
        margin-right: 10%;
        margin-bottom: 8%;
        margin-top: 8%;
        line-height: 25px;
        font-size: 100%;
        overflow: hidden;
    }

    #menu {
        font-size: 80%;
        float: left;
        margin-left: 2%;
        margin-top: 10%;
        margin-bottom: 7%;
        padding: 0px;
    }

    #menu ul {
        font-size: 120%;
    }

    .about, .times, .extra, .services {
        width: 80%;
        height: 600px;
        align-content: center;
    }

    .times {
        height: 350px;
    }

    .extra {
        height: 400px;
        margin-bottom: 10%;
    }
    
    .services {
        height: 650px;
    }

    .about h2, .times h2, .extra h2, .services h2 {
        width: 100%;
        font-size: 120%;
        text-align: center;
    }

    .extra h3 {
        width: 90%;
        font-size: 90%;
        text-align: center;
    }

    .about p, .times p, .extra p, .services p {
        text-align: center;
        padding: 5px;
        font-size: 100%;
    }

    #apply {
        width: 63%;
        display: flex;
        flex-flow: column;
        align-items: center;
        text-align: left;
        font-size: 100%;
    }

    .label-font {
        padding: 10px;
    }

    input[type="radio"] {
        margin-bottom: 0px;
        vertical-align: middle;
      }

    #photos {
        column-count: 2;
        column-gap: 5%;
    }

    footer {
        font-size: 80%;
        width: 90%;
        margin: 5%;
    }

    .confirmation {
        float: left;
        font-size: 90%;
        margin: 10% 0% 10% 0%;
        text-align: center;
    
    }

/* For small screen size 378px and down*/
@media screen and (max-width: 378px){
    #menu ul {
        font-size: 90%;
    }

    .confirmation {
        float: left;
        font-size: 80%;
        margin: 10% 5% 15% 10%;
        text-align: center;
    
    }
}
}