/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600');

@font-face {
    font-family: "Japanese";
    src: url("//db.onlinewebfonts.com/t/fc87c87c07938e0484418e4c0a773b02.eot"),
        url("//db.onlinewebfonts.com/t/fc87c87c07938e0484418e4c0a773b02.eot?#iefix") format("embedded-opentype"),
        url("//db.onlinewebfonts.com/t/fc87c87c07938e0484418e4c0a773b02.woff2") format("woff2"),
        url("//db.onlinewebfonts.com/t/fc87c87c07938e0484418e4c0a773b02.woff") format("woff"),
        url("//db.onlinewebfonts.com/t/fc87c87c07938e0484418e4c0a773b02.ttf") format("truetype"),
        url("//db.onlinewebfonts.com/t/fc87c87c07938e0484418e4c0a773b02.svg#JapaneseBrushMasterW00-Rg") format("svg");
    font-display: swap
}

html,
body {
    overflow-x: hidden;
}

body {
    background-color: #f0f0f0;
}

h2 {
    padding: 3% 5% 5%;
    font-family: 'Crimson text', sans-serif;
}

p {
    margin-bottom: 0;
}

.hidden {
    display: none;
}

/* ----- BACKGROUNDS -----*/

.backg-off-seet {
    background-color: rgba(245, 245, 245, 0.541);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px)
}

.backg-seet {
    background-color: rgba(255, 255, 255, 0.3);
}

/* Code taken and modified from: https://stackoverflow.com/questions/15814346/is-it-possible-to-use-css-to-make-a-background-image-fade-or-gradient-the-bott */
.backg-about {
    background-color: #f0f0f0;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#f0f0f0)), url(../images/tip.jpeg);
    background: -o-linear-gradient(top, transparent, #f0f0f0), url(../images/tip.jpeg);
    background: linear-gradient(to bottom, transparent, #f0f0f0), url(../images/tip.jpeg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* END credit */

.backg-contact {
    background: -webkit-gradient(linear, left bottom, left top, from(transparent), to(#f0f0f0)), url(../images/contact.jpg) center no-repeat;
    background: -o-linear-gradient(bottom, transparent, #f0f0f0), url(../images/contact.jpg) center no-repeat;
    background: linear-gradient(to top, transparent, #f0f0f0), url(../images/contact.jpg) center no-repeat;
    background-size: cover
}

.backg-contact-night {
    background: -webkit-gradient(linear, left bottom, left top, from(transparent), to(#768291)), url(../images/contact.jpg) center no-repeat;
    background: -o-linear-gradient(bottom, transparent, #768291), url(../images/contact.jpg) center no-repeat;
    background: linear-gradient(to top, transparent, #768291), url(../images/contact.jpg) center no-repeat;
    background-size: cover
}

.backg-about-info {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), to(#0f1927));
    background-image: -o-linear-gradient(#f0f0f0, #0f1927);
    background-image: linear-gradient(#f0f0f0, #0f1927);
}

.backg-404 {
    background-color: #0f1927;
}

/* ----- NAVBAR ------ */

.navbar {
    -webkit-transition: top 0.5s;
    -o-transition: top 0.5s;
    transition: top 0.5s;
    padding: 3px 5px
}

.navbar-nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.nav-item {
    margin: 0 10px;
}

.nav-link {
    color: #0f1927 !important;
    font-family: 'Crimson text', sans-serif;
    font-size: 1.3rem;
}

.nav-link:hover {
    color: #6c809b !important;
}

.navbar-brand {
    font-family: 'Japanese', 'Crimson text', sans-serif;
    font-size: 35px;
    margin-left: 1rem;
    color: #0f1927 !important;
}

/*----- HERO IMAGE -----*/

/* CREDIT, CSS based on:  https://github.com/JimLynx/CI-MS2-Safari-Africa/blob/master/assets/css/style.css & 
                          https://css-tricks.com/snippets/jquery/simple-auto-playing-slideshow/ */

#home {
    width: 100vw;
    height: 100vh;
}

.home-gallery {
    position: relative;
    height: 100vh;
}

.img-frame {
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
}

.img-frame img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/* END of credit */

/* ----- ABOUT SECTION ----- */

.about-row {
    box-sizing: border-box;
    height: 50%;
    display: flex;
    align-items: center;
    color: #0f1927;
}

.about-row-night {
    box-sizing: border-box;
    height: 50%;
    display: flex;
    align-items: center;
    color: #f0f0f0;
}

.about-heading {
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    color: #0f1927;
}

.about-heading h2 {
    padding-top: 100px;
    font-family: 'Japanese', 'Crimson text', sans-serif;
    font-size: 5em;
}

.about-heading p {
    padding: 2% 8% 6%;
}

.about-body {
    padding: 0 5%;
}

.about-info {
    text-align: center;
    padding: 10%;
    display: table-cell;
    vertical-align: middle;
}

.about-info a {
    color: #101c2b;
    text-decoration: underline;
    font-weight: 700;
}

.about-img {
    text-align: center;
}

.about-img img {
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    border-radius: 20px;
}

.separator {
    box-shadow: 0 0 8px rgba(60, 60, 60, 0.5);
    border-radius: 1px;
    padding-bottom: 3px;
    margin-bottom: 5%;
}

/* ----- LOCATIONS ----- */

.menu {
    min-height: 60px;
    text-align: center;
}

.menu h2 {
    padding-bottom: 10px;
    font-family: 'Japanese', 'Crimson text', sans-serif;
    font-size: 50px;
    color: #0f1927;
}

.menu>.btn {
    margin: 0 50px 50px !important;
}

.btn-light {
    color: #0f1927;
    background-color: #f0f0f0;
}

.btn-dark {
    color: #f0f0f0;
    background-color: #0f1927;
}

.activity-choice {
    text-align: center;
    border-radius: 10px;
    margin: 0 30px;
    box-shadow: 0 0 8px rgba(60, 60, 60, 0.5);
}

.activity-choice>.btn {
    margin: 20px;
    color: #f0f0f0;
    background-color: #0f1927;
    border: 1px solid #f0f0f0;
}

.btn:hover {
    transform: scale(1.04);
}

.locations-section {
    padding: 35px 0;
}

.locations-box {
    text-align: center;
    margin: 20px 30px 20px;
    box-shadow: 0 0 8px rgba(60, 60, 60, 0.5);
    padding-bottom: 10px;
    border-radius: 10px;
}

.locations-list li button {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

.locations-list {
    padding-top: 3%;
    padding-left: 0;
}

.locations-list li {
    list-style-type: none;
    padding: 12px 16px 12px;
}

.locations-list button {
    border: none;
    border-bottom: 1px solid #0f1927;
    color: #0f1927;
}

.map-box {
    padding: 0 30px 30px;
}

#map {
    min-height: 500px;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(60, 60, 60, 0.5);
}

.night-mode {
    background-color: #768291;
}

/* ----- CONTACT ----- */

.contact-box {
    padding-top: 7%;
    padding-bottom: 10%;
}

.form-box {
    padding: 0 15% 1%;

    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 15px;
}

.contact-heading {
    text-align: center;
    vertical-align: middle;
    color: #0f1927;
}

.contact-heading h2 {
    padding-top: 40px;
    font-family: 'Japanese', 'Crimson text', sans-serif;
    font-size: 50px;
}

.fill-form {
    margin-bottom: 50px;
}

.form-control {
    border: none !important;
    border-bottom: 1px solid #0f1927 !important;
    margin: 1% 0 3% !important;
}

.btn-submit {
    background-color: #0f1927;
    color: #f0f0f0;
}

/* ----- FOOTER ----- */

.footer {
    border-top: 1px solid #252a31;
    background-color: #0f1927;
}

.copyright {
    padding: 50px 0 0;
    height: 30px;
    text-align: left;
    color: #f0f0f0;
    font-size: 12px;
}

.footer-items {
    padding: 40px 0 30px;
    height: 40px;
    text-align: right;
}

.footer-logo {
    padding: 23px 0 37px;
    height: 50px;
    text-align: center;
    color: #f0f0f0;
}

.footer-items i {
    padding: 0 3vw;
    font-size: 20px;
    line-height: 7px;
    color: #f0f0f0;
}

.list-inline-item:not(:last-child) {
    /* To override right-margin set by default in social media logos: they were causing one of the logos to switch row in mobile screen mode */
    margin-right: 0;
}

.footer-items i:hover {
    color: #6c809b;
}

.active {
    border: 3px solid #f8e856 !important;
    font-weight: 700 !important
}

/* ----- 404 ----- */

.error-text {
    color: #f0f0f0;
    font-family: 'Crimson text', sans-serif;
    font-size: 20px
}

.error-text h1 {
    font-family: 'Japanese', 'Crimson text', sans-serif;
    font-size: 60px
}

/* ----- MEDIA QUERIES ----- */

@media (min-width: 1500px) {
    .about-img img {
        height: 90%;
        width: 90%;
    }

    .about-body {
        padding: 0 8%;
    }
}

@media (max-width: 767px) {

    /* nav */
    .navbar-nav {
        display: block;
        text-align: center;
        margin-top: 15px;
    }

    .navbar-brand {
        font-size: 25px;
    }

    /* about */

    .about-heading h2 {
        font-size: 3em;
    }

    .backg-about {
        background: #f0f0f0;
    }

    /* locations */
    .menu>.btn {
        margin: 0 10px 20px 15px !important;
    }

    .activity-choice {
        border-radius: 10px;
        padding: 8px 0;
    }

    .locations-list {
        min-height: 0;
    }

    .locations-list li {
        padding: 3px 16px 3px;
    }

    .activity-choice {
        border-radius: 10px;
        padding: 8px 0;
    }

    .activity-choice>.btn {
        margin: 2px;
    }

    #map {
        min-height: 300px !important;
    }

    /* contact */

    .form-box {
        padding: 0 5% 1%;
    }

    /* footer */

    .copyright,
    .footer-items {
        text-align: center;
        padding: 0;
    }

    .footer-items {
        margin-top: 10px;
        height: auto;
        padding: 15px 0 0;
    }
}

@media (max-width: 576px) {

    .container {
        width: auto;
        margin: 0 5%;
    }
}

@media (max-width: 300px) {

    .navbar-brand {
        font-size: 20px;
    }
}