/* Colors Palette
Gradient Color
Blue Jeans - #35A7FF
Turquoise - #69EBD0


Text Color
White  - #ffffff
Jet - #292929

Optional Background
Light Gray - #d6d6d6
*/

/* Location Section */
.maps {
    text-align: center;
}

.maps p {
    margin-top: 0;
}


/*Contact Form Section*/
form {
    display: block;
}

form label {
    font-style: italic;
}

fieldset {
    margin: 0px auto 20px;
    border: 5px solid #69EBD0;
}

fieldset,
label {
    width: 80%;
    font: 14px Roboto;
}

legend {
    padding: 0.75rem;
    font: 18px Vesper Libre;
    font-weight: bold;
}

input,
textarea {
    padding: 0.4em;
    display: block;
    width: 80%;
    border-radius: 10px;
    margin-bottom: 10px;
}

input.textbox:invalid {
    background-color: #fdd;
    border-bottom: 3px solid red;
}

input.textbox:valid {
    background-color: #dfd;
    border-bottom: 3px solid green;
}

@media only screen and (min-width: 50em) {

    fieldset,
    label {
        width: 100%;
        font-size: 1.1em;
    }

    legend {
        font-size: 1.4em;
    }

    input,
    textarea {
        padding: 0.75rem;
        width: 90%;
        margin-bottom: 20px;
    }

    select {
        padding: 0.75rem;
        width: 96%;
        margin-bottom: 20px;
    }

    .submit-button {
        font-size: 1.1em;
    }
}


@media only screen and (min-width: 80em) {

    /* Reservation Form Section */
    fieldset,
    label {
        font-size: 1.2em;
    }

    legend {
        font-size: 1.6em;
    }

}

/* Colors Palette
Gradient Color
Blue Jeans - #35A7FF
Turquoise - #69EBD0


Text Color
White  - #ffffff
Jet - #292929

Optional Background
Light Gray - #d6d6d6
*/

/*Main Style for Website Pages*/
/*Header Part*/
header {
    background: linear-gradient(180deg, #69EBD0, #35A7FF);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0em;
}

picture.site-logo img {
    margin: 5px 5px;
    border-radius: 50%;
}

.message {
    display: none;
    padding-top: 0.8em;
    background-color: #69EBD0;
    color: #292929;
    font: 0.7em Roboto Serif;
    text-align: center;
    font-weight: bold;
}


h1 {
    font: 2em Vesper Libre;
    font-weight: 700;
    margin: 0px;
}

.site-heading p {
    margin: -15px 0 0 0;
    font: 0.8em Roboto;
    font-weight: bold;
}


/*Button Section*/
button {
    background-color: #35A7FF;
    font: 1.2em Roboto;
    width: 100%;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: none;
    border-right: none;
    padding: 6px 0;
    display: flex;
    justify-content: center;
}

form .reserve-button, .submit-button {
    background-color: #35A7FF;
    border: 1px solid #292929;
}

form .reserve-button:hover, .submit-button:hover {
    color: #292929;
    background-color: #69EBD0;
}

/*Navigation Section*/
nav {
    background-color: #35A7FF;
}

nav ul.hide {
    display: none;
}

nav ul {
    display: flex;
    flex-direction: column;
    margin-top: 0;
    padding-left: 0;
    font-weight: bold;
}

nav ul li {
    list-style-type: none;
    flex: 1 1 auto;
    border-bottom: solid;
    border-width: 1px;
}

nav ul li a {
    text-decoration: none;
    font-family: Roboto, sans-serif;
    color: white;
    display: block;
    text-align: center;
    font-size: 1.1em;
    padding: 8px 0;
}

nav ul li a:hover {
    color: #292929;
    background-color: #69EBD0;

}

li.active a {
    color: black;
    font-family: Roboto, sans-serif;
    font-weight: bold;
}

.clearfix:after {
    display: table;
    clear: both;
}

/*Body Part*/

body {
    margin: 0;
}

div.mainpage-size {
    width: 80%;
    margin: 0 auto;
}

h2 {
    font: 1.6em Vesper Libre;
    line-height: 1em;
}

h3 {
    font: 1.2em Vesper Libre;
    line-height: 1em;
}

h4 {
    font: 1.1em Vesper Libre;
    line-height: 1em;
}

p {
    font: 1em Roboto;
}

/* Contact Info Section */
div.contact-section {
    display: block;
    background-color: #35a7ff;
}

div.contact-section h3 {
    margin: 0;
    padding: 0.5em;
    text-align: center;
}

div.contact-section ul li {
    font: 0.9em Roboto;
}

.fa-location-arrow {
    content: "\f124";
}

.fa-phone {
    content: "\f095";
}

.fa-envelope {
    content: "\f0e0";
}

.fa-li {
    position: absolute;
    left: -2.14285714em;
    width: 2.14285714em;
    top: .14285714em;
    text-align: center;

}

.fa {
    display: inline-block;
    font: normal normal normal 14px/1 Roboto;
    font-size: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fa-ul {
    padding-left: 0;
    margin-left: 2.14285714em;
    list-style-type: none;

}

div.contact-section ul {
    margin-top: 0;
    text-align: left;
}

/*Social Links Section*/
div.social-links {
margin-left: 14px;
}

div.social-links .fa-facebook-square,
div.social-links .fa-twitter-square,
div.social-links .fa-skype {
    color: #000000;
    font-size: 30px;
}

div.social-links a:hover .fa-facebook-square,
div.social-links a:hover .fa-twitter-square,
div.social-links a:hover .fa-skype {
    cursor: pointer;
    color: white;
}


/*Footer Part*/
footer {
    background: linear-gradient(180deg, #35A7FF, #69EBD0);
    margin: auto;
    text-align: center;
    padding: 8px 0;
    font: 0.7em Roboto;
}

@media only screen and (min-width: 50em) {

    /*Header Part*/
    .message {
        font-size: 1.4em;
    }

    h1 {
        font-size: 2.4em;
    }

    picture.site-logo img {
        margin: 5px 5px;
    }

    .site-heading p {
        margin-top: -18px;
        font-size: 1.2em;
    }

    /*Nav Section*/
    nav ul {
        flex-direction: unset;
        width: 80%;
        margin: 0 auto;
    }

    nav ul li {
        border-bottom: none;
    }

    nav ul li a {
        font-size: 1.4em;
    }

    nav div button {
        display: none;
    }

    nav ul.hide {
        display: flex;
    }

    /*Body Part*/
    div.mainpage-size {
        width: 60%;
    }

    h2 {
        font-size: 2em;
    }

    h3 {
        font-size: 1.6em;
    }

    h4 {
        font-size: 1.4em
    }

    p {
        font-size: 1.1em;
    }

    /* Contact Info Section */
    div.contact-section {
        display: grid;
        grid-template-rows: 40% 1fr;
        grid-template-columns: 1fr 1fr;
        justify-items: center;
        align-items: center;
        font-size: 1em;
    }

    div.contact-section h3 {
        grid-row: 1/2;
        grid-column: 1/end;
    }

    div.contact-info {
        grid-row: 2/3;
        grid-column: 1/2;
    }

    div.contact-section ul li {
        font-size: 1em;
    }

    /*Social Links Section*/
    div.social-links {
        grid-row: 2/3;
        grid-column: 2/3;
        margin-left: 0;
    }

    div.social-links .fa-facebook-square,
    div.social-links .fa-twitter-square,
    div.social-links .fa-skype {
        font-size: 40px;
    }

    /* Footer Part */
    footer {
        font-size: 0.9em;
    }
}

@media only screen and (min-width: 80em) {

    /*Header Part*/
    .message {
        font-size: 1.8em;
    }

    h1 {
        font-size: 2.8em;
    }

    .site-heading p {
        margin-top: -30px;
        font-size: 1.4em;
    }

    /*Nav Section*/
    nav ul li a {
        font-size: 1.8em;
    }

    /*Body Part*/
    h2 {
        font-size: 2.4em;
    }

    h3 {
        font-size: 2em;
    }

    h4 {
        font-size: 1.6em
    }

    p {
        font-size: 1.2em;
    }

    /* Contact Info Section */
    div.contact-section {
        grid-template-rows: 1fr 1fr;
    }

    /* Social Links Section */
    div.contact-section ul li {
        font-size: 1.1em;
    }

    /* Footer Part */
    footer {
        font-size: 1em;
    }
}