@import url('https://fonts.googleapis.com/css2?family=Nunito&display=swap');

/* Fonts */

h1 {
    text-transform: uppercase;
    font-size: 3.125rem;
}

h2 {
    text-transform: uppercase;
    font-size: 1.875rem;
    color: #d9d9d9;
    letter-spacing: 1px;

}

p {
    font-size: 1.25rem;
    line-height: 40px;
    text-align: justify;
    margin: 30px 0px;

}

h3 {
    font-size: 0.88235rem;
    color: #d9d9d9;
    text-transform: uppercase;
}

div>label {
    font-size: 1.25rem;
    letter-spacing: 1px;
}

/* Structural css */

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

.section-style {
    margin: auto;
    margin-top: 110px;
    margin-bottom: 75px;
    width: 80%;
    padding: 2px;
    clear: both;
}

body {
    font-family: Nunito, sans-serif;
    font-weight: 400;
    color: #d9d9d9;
    background-color: #1a1a1a;
}

/* Navigation & logo style */

#logo-style {
    float: left;
    font-size: 3.8rem;
    list-style-type: none;
    margin: 25px;
    line-height: 35px;
}

#logo-style a {
    text-decoration: none;
    color: #8B008B;
}

#nav-style {
    float: right;
    text-transform: uppercase;
    letter-spacing: 5px;
    list-style-type: none;
    margin: 30px;
    text-decoration: none;
    line-height: 35px;

    /* Following informed by informed by resources from CSS Tricks */
    display: flex;
    flex-direction: row;
}

li {
    display: inline;
    padding: 10px 10px;
}

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

#nav-style a:hover {
    background-color: #d9d9d9;
    color: #1a1a1a;
}

#logo-style a:hover {
    background-color: #8B008B;
    color: #1a1a1a;
    border-radius: 30%;
}

/* Hero image and text*/

#hero-container {
    height: 70vh;
    max-width: 100%;
    overflow: hidden;
    margin: auto;
    position: relative;
    border: rgba(217, 217, 217, 0.5) solid 1px;
    border-radius: 3px;
}

#hero-image {
    height: 100%;
    width: 100%;
    background: url(../images/hero-image.jpeg) no-repeat center center;
    position: relative;

    /* Following informed by informed by resources from CODEPEN */
    background-size: cover;
    transition: transform 4s;
}

/* Following informed by informed by resources from CODEPEN */
#hero-image:hover {
    transform: scale(1.15);
}

/* Following informed by informed by resources from W3Schools */
#hero-text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    letter-spacing: 2px;
    transform: translate(-50%, -50%);
    color: white;
    background-color: rgba(139, 0, 139, 0.3);
}

/* About us button & form button */

#form-section-style {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

#form-align-style {
    display: inline-block;
}

#button-style {
    padding: 10px 30px;
    list-style-type: none;
    border-radius: 2px;
    font-size: 1.5625rem;
    font-family: Nunito, sans-serif;
    text-transform: uppercase;
    color: #d9d9d9;
    background-color: rgb(139, 0, 139, 0.6);

    /* Following informed by informed by resources from W3SCHOOLS */
    cursor: pointer;
}

#button-style:hover {
    background-color: #d9d9d9;
    color: #1a1a1a;
}

/* Style opening times table */

/* Following informed by informed by resources from Love Running */
table {
    width: 100%;
    font-size: 1.25rem;
    text-transform: uppercase;
}

.th-style {
    border-bottom: solid rgb(139, 0, 139, 0.6);
}

tr {
    display: grid;
    grid-template-columns: 5fr 10fr 3fr;
}

tr,
th,
td {
    text-align: center;
}

th,
td {
    border: none;
    padding: 5px;
}

/* Style google map feature and hover link */

#map-style {
    width: 100%;
    height: 250px;
    padding: 40px 0px;
}

#sunny-link-style {
    color: #d9d9d9;
    font-family: Nunito, sans-serif;
}

#sunny-link-style:hover {
    background-color: #d9d9d9;
    color: #1a1a1a;
}

/* Footer styling for email subscription, address and social media icons */

footer {
    height: 150px;
    font-family: Nunito, sans-serif;
    color: #d9d9d9;
    text-align: center;
    clear: both;
}

#social-media-style i {
    letter-spacing: 2px;
    color: #d9d9d9;
    margin: 1%;
    padding: 1%;
    font-size: 1.8rem;
}

#social-media-style i:hover {
    background-color: #d9d9d9;
    color: #1a1a1a;
    border-radius: 50%;
    border: 1px;
}

footer p {
    float: left;
    font-size: 0.9375rem;
    margin: 25px;
    line-height: 35px;
    font-weight: bold;
}

#mailing-list-style {
    float: right;
    margin: 25px;
    line-height: 35px;
    display: grid;
}

#subcribe-button-style {
    color: #d9d9d9;
    font: inherit;
    cursor: pointer;
    padding: 2px 8px;
    list-style-type: none;
    border-radius: 2px;
    font-size: 0.9375rem;
    font-family: Nunito, sans-serif;
    text-transform: uppercase;
    background-color: rgb(139, 0, 139, 0.6);
    cursor: pointer;
}

/* Style for images in game library */

img {
    max-width: 300px;
    height: 300px;
    border-radius: 50%;
    margin: auto;
}

div>p {
    margin: 0px;
}

#library-images {
    column-count: 3;
    text-align: center;
    max-width: 100%;
    margin: auto;
    position: relative;
}

#library-images>p {
    text-align: center;
    text-transform: uppercase;
}

/* Booking form style */

/* Following informed by informed by resources from W3SCHOOLS */
#booking-form-background {
    height: 600px;
    width: 100%;
    background: url(../images/book.jpg) no-repeat center;
    background-size: contain;
    background-attachment: fixed;
}

section form {
    padding: 20px;
    border: solid 2px rgb(139, 0, 139, 0.6);
    margin: 0px;
}

form h2 {
    text-align: center;
}

input,
textarea {
    padding: 5px 10px;
    font-family: inherit;
    font-size: 1rem;
    margin-top: 5px;
    margin-bottom: 15px;
    border-radius: 2px;
    max-width: 100%;
    display: block;
}

.section-style>table {
    margin-top: 20px;
}

.radio-button-style {
    margin: 0px 20px;
}

.form-button-style {
    text-transform: uppercase;
    padding: 10px 30px;
    font-size: 1.5625rem;
    font: inherit;
    color: #d9d9d9;
    background-color: rgb(139, 0, 139, 0.6);
    cursor: pointer;
}

.form-button-style:hover {
    background-color: #d9d9d9;
    color: #1a1a1a;
}

/* Events style*/

/* Following informed by informed by resources from W3Schools */
.event-style {
    background: linear-gradient(to bottom, rgb(139, 0, 139, 0.6), #ffffff2b);
    width: 19%;
    height: 127px;
    float: left;
    text-align: center;
    border: 4px solid #1a1a1a;
    border-radius: 3px;
    display: grid;
    padding-top: 23px;
}

/* Media queries */

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

    #library-images {
        column-count: 2;
    }

    .event-style {
        width: 100%;
        clear: both;
        height: 140px;
        padding: 10px;
    }
}

/* For medium to smaller screen sizes from 950px wide and down */
@media screen and (max-width: 950px) {
    #library-images {
        column-count: 1;
    }

    .home-mobile-scale-style {
        display: none;
    }

    .event-style {
        padding: 0px;
    }

    #nav-style li {
        background-color: rgb(139, 0, 139, 0.6);
        margin-left: 2px;
        margin-right: 41px;
    }
}

/* For smaller screen sizes from 375px wide and down */

@media screen and (max-width: 375px) {
    h1 {
        font-size: 2.1875rem;
    }

    .form-button-style {
        padding: 16px;
    }

    #nav-style li {
        margin-left: 12px;
        margin-right: 8px;
    }

    img {
        max-width: 250px;
        height: 250px;
    }

    input,
    textarea {
        padding: 5px 20px;
    }

    #booking-form-background {
        height: 300px;
    }

    .section-style {
        min-width: 300px;
    }

    .event-style {
        padding: 0px;
    }
}