@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;800&family=Play:wght@700&family=Sacramento&display=swap');

* {
    margin: 0px;
    padding: 0px;
    max-width: 100%;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: #0C81C2;
    padding: 0;
    margin: 0;
    justify-content: center;
    align-items: center;
    width: 100vw;
    overflow-x: hidden;
    height: 100%;
}

/*Alert Headbanner*/
header {
    background-color: #BDC022;
}

.headbanner {
    background-color: #BDC022;
    font-size: 70%;
    text-align: center;
    padding: 5px;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font: bolder;
    text-shadow:
        -1px 0 #013D60,
        0 1px #013D60,
        1px 0 #013D60,
        0 -1px #013D60;
}

/*Index Hero Image */
.logo {
    max-width: 70%;
    height: auto;
}

/*Characters*/
#avatar {
    z-index: 1;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 80%;
    object-fit: cover;
    margin: auto;
    top: 40%;
}

/*Mobile Gif*/
#mobile {
    position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    object-fit: cover;
}

/*Background Scenes*/
#scene {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    object-fit: cover;
    margin: auto;
}

/*Button Stylings*/
.btnContainer {
    width: 800px;
    max-width: 80%;
    padding: 5%;
    border-radius: 5px;
    margin-top: 50px;
    margin-left: 20px;
    justify-content: center;
    align-items: center;
    display: block;
    margin-left: auto;
    margin-right: auto
}

#startbtn,
#howtoplaybtn,
#contactbtn,
#modalbtn,
#tryAgainBtn {
    max-width: 60%;
    height: auto;
    margin-bottom: 15px;
}

#modalbtn {
    max-width: 60%;
    height: auto;
}

.btn-grid {
    display: grid;
    grid-template-columns: repeat(1, auto);
    gap: 10px;
    margin-bottom: 20%;
    z-index: 1;
}

.btn {
    background-color: #0A6CA3;
    opacity: 0.9;
    width: 70%;
    height: 100px;
    font-size: large;
    border: 1px solid #013D60;
    border-radius: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 5% 5% 5% 5%;
    z-index: 1;
    color: #FFFFFF;
    outline: none;
    font-family: 'Montserrat', sans-serif;
    /* taken from https://stackoverflow.com/questions/43753646/stroke-or-border-color-on-a-btn or more recent tool: https://www.geeksforgeeks.org/css-font-border/*/
    text-shadow:
        -1px 0 #013D60,
        0 1px #013D60,
        1px 0 #013D60,
        0 -1px #013D60;
}

.btn:hover {
    border-color: #013D60;
    background-image: linear-gradient(135deg, #0A6CA3 5%, #0C81C2 15%, #2FE3FE 50%, #FFFFFF 100%);
}

/*Text Container*/
#text {
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    background-color: #0A6CA3;
    opacity: 0.9;
    max-width: 80%;
    padding: 5%;
    border-radius: 5px;
    margin-top: 50px;
    margin-bottom: 10px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.fixedBottom {
    margin-left: auto;
    margin-right: auto;
}

/*Modal*/
.modal-content {
    background-color: #013D60;
    color: #FFFFFF;
    justify-content: center;
}

/* Social Links customised from: https://github.com/nemixu/Milestone1*/
.social-links li a i {
    width: 52px;
    height: 52px;
    padding: 22px 0;
    border-radius: 50%;
    font-size: 1.4375rem;
    line-height: 7px;
    text-align: center;
    justify-content: center;
    color: #FFFFFF;
    background: #0A6CA3;
    transition: all 0.35s ease-in-out;
    margin-right: auto;
    margin-left: auto;
}

.social-links li a i:hover {
    color: #FFFFFF;
    justify-content: center;
    border-color: #013D60;
    background-image: linear-gradient(135deg, #0A6CA3 5%, #0C81C2 15%, #2FE3FE 50%, #FFFFFF 100%);
}

#socials {
    margin-left: auto;
    margin-right: auto;
    padding-right: 8%;
}

/* End Image */
.image-container {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
}

/* End Pages */
#end-text {
    color: #FFFFFF;
    text-shadow:
        -1px 0 #013D60,
        0 1px #013D60,
        1px 0 #013D60,
        0 -1px #013D60;
    margin-top: 40px;
    margin-bottom: 40px;
    text-align: center;
    font-size: 20px;
}

/*  Media Screens*/
@media only screen and (min-width: 100px) {
    #mobile {
        width: 80%;
        height: 90%;
        padding: 10% 0% 30% 10%;
        margin-left: 5%;
    }

    .btn-grid {
        margin-bottom: 0%;
    }
}


@media only screen and (min-width: 300px) {
    #mobile {
        width: 80%;
        height: 90%;
        padding: 10% 0% 30% 10%;
        margin-left: 5%;
    }

    .btn-grid {
        margin-bottom: 0%;
    }  
}

@media only screen and (min-width: 500px) {
    .headbanner {
        font-size: 120%;
    }

    #startbtn,
    #howtoplaybtn,
    #contactbtn,
    #tryAgainBtn {
        max-width: 50%;
    }

    #mobile {
        width: auto;
        height: 70%;
        padding: 0;
    }
}

@media only screen and (min-width: 768px) {
    #end-text {
        padding: 0 15%;
        font-size: 200%;
    }

    .logo {
        max-width: 40%;
    } 
}

@media only screen and (min-width: 980px) {
    .headbanner {
        font-size: 100%;
    }

    #startbtn,
    #howtoplaybtn,
    #contactbtn,
    #tryAgainBtn {
        max-width: 30%;
    }

    .logo {
        max-width: 50%;
    } 
}

@media only screen and (min-width: 1020px) {
    .logo {
        max-width: 30%;
    }

    #startbtn,
    #howtoplaybtn,
    #contactbtn,
    #tryAgainBtn {
        max-width: 40%;
    }

    .btn {
        width: 50%;
    }
}

@media only screen and (min-width: 1500px) {
    .headbanner {
        font-size: 70%;
    }

    .text {
        font-size: xx-large;
    }

    #startbtn,
    #howtoplaybtn,
    #contactbtn,
    #tryAgainBtn {
        max-width: 16%;
    }

    .btn-secondary {
        max-width: 50%;

    }

    #mobile {
        width: auto;
    }

    .logo {
        max-width: 22%;
    }
}

@media (orientation: landscape) {
    body {
        flex-direction: row;
    }

    #text {
        padding: 3%;
    }

    #scene {
        width: 100%;
    }

    .btnContainer {
        padding: 0%;
    }

    .btn-grid {
        margin-bottom: 15%;
    }

    .btn {
        padding: 2% 2% 2% 2%;
    }

    #mobile {
        width: auto;
    }
}