/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: defaults,not ie 11
*/

/***********
** Global **
***********/
@charset 'utf-8';

/* navigation bar */
@import url('https://fonts.googleapis.com/earlyaccess/nicomoji.css');

/* body */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

/* news date */
@import url('https://fonts.googleapis.com/css2?family=Luckiest+Guy&display=swap');

:root {
    --pink-color: #e585b3;
    --blue-color: #38bee0;
    --gold-color: #efcd7c;
    --link-color: #0aa;
    --link-color-alt: #11d6d6;
    --alpha-black-color: rgba(0, 0, 0, 0.266);
    --navbar-bg-padding-lr: 30px;
    --navbar-height: 4.4rem;
    --navbar-font-size: 1.7rem;
    --navbar-height-mb: 40.38px;
    --navbar-btn-size: 20px;
    --navbar-btn-line-thichness: 3px;
    --num: calc((var(--navbar-btn-size) - var(--navbar-btn-line-thichness)) / 2);
    --about-height: max(100vh, 50vw);
    --ribbon-url: url('https://static.minatoaqua.info/svg/ribbon.svg');
    
    --loading-transition: ease-in-out 500ms;
}

body {
    height: 100vh;
    width: 100%;
    margin: 0;
    -webkit-text-size-adjust: 100%;
    font-family: "Kosugi Maru", sans-serif;
    
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

p {
    max-width: 100%;
}
p,
li {
    line-height: 1.6rem;
}

a {
    word-break: break-all;
    color: var(--link-color);
    text-decoration: none;
}
.no-bg-box a {
    color: var(--link-color-alt);
}
a:hover {
    text-decoration: underline;
}

figure {
    margin: 0;
}
figure > img {
    display: block;
}

li > ul:nth-child(1) {
    margin-bottom: 0.5rem;
}
.no-disc {
    list-style: none;
}
ul.no-disc {
    padding-left: 1.5rem;
}
li.no-disc {
    padding-left: 0;
}
ul.precaution,
li.precaution {
    list-style: none;
    margin-left: -1.5rem;
}
ul.precaution > li::before,
li.precaution::before {
    content: '\203b';
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.precaution:not(ul):not(li)::before {
    content: '\203b\20';
    padding-left: 1.5rem;
}

.line-through {
    text-decoration: line-through;
}

.d-none {
    display: none;
}

.pink {
    color: var(--pink-color);
}
.blue {
    color: var(--blue-color);
}
.gold {
    color: var(--gold-color);
    font-size: calc(var(--navbar-font-size) * 0.8);
}

.overview h2,
.goods h3,
.news h2 {
    margin-bottom: 0.7rem;
    padding-bottom: 0.2rem;
    border-bottom: 2px solid aqua;
}

.innerRoute {
    margin-right: 1.5rem;
}
.innerRoute::after {
    content: '';
    position: absolute;
    width: 0.4rem;
    height: 0.4rem;
    border-top: solid 2px var(--link-color);
    border-right: solid 2px var(--link-color);
    transform: rotate(45deg) translate(4px, 6px);
    border-left: solid 2px transparent;
    border-bottom: solid 2px transparent;
}

.outerRoute {
    margin-right: 1.5rem;
}
.outerRoute::after {
    content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3Qwe2ZpbGw6IzBhYTt9PC9zdHlsZT48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjgwLjc4MSwxNDQuMzkxbDQyLjA0Nyw1OS4xMjVjLTU3LjgxMyw2NS42ODgtMjE3LjI4MSwxNDUuNzY2LTIxNy4yODEsMTQ1Ljc2NmMxNjEuNDIyLDEyLjQwNiwyODUuNTk0LTQwLjY3MiwyODUuNTk0LTQwLjY3Mmw0Mi4wNDcsNjguMzEzTDUxMiwxNDQuMzkxSDI4MC43ODF6Ij48L3BhdGg+PHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyOTYuNDUzLDM5My41NDcgMjk2LjQ1Myw0MTguOTg0IDY4LjI5Nyw0MTguOTg0IDY4LjI5Nyw5My4wMzEgMzY0Ljc1LDkzLjAzMSAzNjQuNzUsMjQuNzM0IDAsMjQuNzM0IDAsNDg3LjI2NiAzNjQuNzUsNDg3LjI2NiAzNjQuNzUsNDE4LjU2MyAzNDkuMzc1LDM5My41NDciPjwvcG9seWdvbj48L3N2Zz4=');
    position: absolute;
    width: 0.9rem;
    height: 0.9rem;
    transform: translate(0.3rem, 2px);
}


/*******************
** Navigation bar **
*******************/
.navbar {
    width: 100%;
    position: fixed;
    background-color: white;
    z-index: 10;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border-bottom: solid 1px var(--gold-color);
    -webkit-filter: drop-shadow(0 0 5px var(--alpha-black-color));
            filter: drop-shadow(0 0 5px var(--alpha-black-color));
    display: flex;
    padding: 0 var(--navbar-bg-padding-lr);
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

.official-logo-wrapper {
    width: 100%;
    text-align: left;
}
.official-logo-link {
}
.official-logo {
    height: calc(var(--navbar-font-size) * 2);
}
.navbar-logo-link {
    display: flex;
}
.navbar-logo {
    height: calc(var(--navbar-font-size) * 2.3);
}

.navbar-list {
    width: 100%;
    text-align: right;
    list-style: none;
    margin: 0;
}

.navbar-item {
    display: inline-block;
    padding: calc((var(--navbar-height) - var(--navbar-font-size)) / 2) 1rem;
    color: black;
    height: var(--navbar-font-size);
    font-size: var(--navbar-font-size);
    font-family: "Nico Moji";
    line-height: initial;
}
.navbar-item:hover {
    text-decoration: none;
}

.navbar-item > * {
    padding: 0 0.2rem;
}

.underline-anime {
    position: relative;
}
.underline-anime::after {
    position: absolute;
    bottom: 0rem;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: calc(100% - 1.5rem);
    height: 2px;
    background: #ffc489;
    transform: scale(0, 1) translateX(-50%);
    transform-origin: left top;
    transition: transform 0.3s;
}
.underline-anime:hover::after {
    transform: scale(1, 1) translateX(-50%);
}

.close-wrapper {
    transition: 400ms ease-in-out 0s;
    opacity: 0;
    background-color: var(--alpha-black-color);
    position: fixed;
    width: 100%;
    height: calc(100vh - var(--navbar-height-mb));
    pointer-events: none;
}
.close-wrapper.active {
    opacity: 1;
    pointer-events: initial;
}


/**************
** Container **
**************/
.container {
    padding-top: var(--navbar-height);
    /*min-height: calc(100vh - var(--navbar-height));*/
    width: 100%;
}
.container::before {
    content: "";
    background: url("https://static.minatoaqua.info/img/aqua_live.jpg") no-repeat;
    background-size: cover;
    width: 100%;
    height: calc(100% - var(--navbar-height));
    -webkit-filter: grayscale(0.4) blur(7px);
            filter: grayscale(0.4) blur(7px);
    position: fixed;
    z-index: -11;
}
.container::after {
    content: '';
    background-color: rgba(0, 0, 0, 0.811);
    width: 100%;
    height: 100%;
    top: 0;
    position: fixed;
    z-index: -10;
}


/*********
** Body **
*********/
.bg-container {
    width: 100%;
    position: absolute;
    top: var(--navbar-height);
    left: 0;
}
.top-image {
    width: 100%;
    position: -webkit-sticky;
    position: sticky;
    display: block;
    top: var(--navbar-height);
    z-index: -1;
}
.dummy-fullscreen-box {
    width: 100%;
}

.no-bg-box {
    width: 100%;
    /*background-color: rgba(0, 0, 0, 0.811);*/
    color: white;
    padding-top: 5rem;
    padding-bottom: 4rem;
}
.no-bg-box.border-bottom {
    border-bottom: solid 3px var(--gold-color);
}

.bg-box {
    width: 100%;
    border-bottom: solid 3px var(--gold-color);
    border-top: solid 3px var(--gold-color);
    background-color: #ffffff;
    background-image: url("https://static.minatoaqua.info/img/live_bg.jpg");
    background-position-x: -28vw;
    background-repeat: no-repeat;
    -webkit-filter: drop-shadow(0 0 5px var(--alpha-black-color));
            filter: drop-shadow(0 0 5px var(--alpha-black-color));
}

.section-svg-title {
    background-repeat: no-repeat;
    background-position-x: center;
    height: 6rem;
    align-items: flex-end;
    display: flex;
    justify-content: center;
    font-size: 1rem;
}


/******************
** Scroll to top **
******************/
.scroll-to-top {
    position: fixed;
    width: 50px;
    height: 50px;
    right: 25px;
    bottom: 30px;
    background-color: violet;
    border-radius: 50%;
    border: solid 4px violet;
    pointer-events: none;
    transition: ease-in-out 100ms;
    opacity: 0;
    fill: white;
}
.scroll-to-top:hover {
    transform: translateY(-10px);
}
.scroll-to-top.show {
    pointer-events: initial;
    opacity: 0.8;
}


/***********
** Footer **
***********/
.footer {
    background: url('https://static.minatoaqua.info/svg/footer_bg.svg') center/cover no-repeat;
    padding: 2rem 0 3rem 0;
    text-align: center;
    font-size: small;
}
.footer-block {
    padding-bottom: 0.3rem;
}
.footer-block h5 {
    font-size: 1rem;
    margin-bottom: 0.6rem;
}
.footer-logo {
    width: 100px;
    margin: .2rem .7rem;
}
.copyright {
    margin-top: 1rem;
}


/*********************
** Unofficial Alert **
*********************/
.unofficial-alert {
    position: fixed;
    background-color: rgba(255, 255, 255, 0.7);
    bottom: 0;
    left: 0;
    pointer-events: none;
    padding: 0.4rem;
    font-size: small;
    -webkit-filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.4));
            filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.4));
    width: 100%;
    z-index: 1000;
    text-align: center;
    color: #dd0000;
}


/***************
** Responsive **
***************/
@media (max-width: 1400px) {
    .bg-box {
        background-position-x: center;
    }
}

@media (max-width: 1262px) {
    .official-logo-wrapper {
        display: none;
    }
}

@media (max-width: 900px) {
    .no-bg-box {
        padding-top: 3rem;
    }
    .navbar-item {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
    }
    .navbar-item > * {
        padding: 0 0.1rem;
    }
}

@media (max-width: 750px) {
    .container::before {
        background-image: url("https://static.minatoaqua.info/img/aqua_live_sp.jpg");
    }
}
@media (min-width: 701px) {
    .navbar-list li {
        display: inline-block;
    }
    .navbar-item {
        transform: translateY(-4px);
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }
    .navbar-btn-wrapper {
        display: none;
    }
    .underline-anime::after {
        bottom: 1rem;
    }
    .close-wrapper {
        display: none;
    }
}

@media (max-width: 700px) {
    .navbar {
        display: block;
        height: var(--navbar-height-mb);
        margin: 0;
    }
    .navbar-logo {
        height: calc(var(--navbar-font-size) * 1.5);
        display: block;
        margin: 0 auto;
    }
    .navbar-list {
        position: absolute;
        padding-left: 0;
        background-color: white;
        width: 100%;
        top: -70px;
        left: 0;
        z-index: -1;
        transition-property: top, opacity;
        transition: 400ms ease-in-out;
        opacity: 0;
        pointer-events: none;
        padding-bottom: 5px;
        text-align: inherit;
    }
    .navbar-list.active {
        pointer-events: initial;
        opacity: 1;
        top: var(--navbar-height-mb);
    }

    .navbar-item {
        display: block;
        padding: 0.3rem 1rem;
        text-align: center;
    }
    .navbar-btn-wrapper {
        display: flex;
        position: absolute;
        top: 0;
        right: 0;
        height: var(--navbar-height-mb);
        width: calc(var(--navbar-height-mb) * 1.3);
        align-items: center;
        justify-content: center;
    }
    .navbar-btn,
    .navbar-btn span {
        display: inline-block;
        transition: all 0.4s;
        box-sizing: border-box;
    }
    .navbar-btn {
        width: calc(var(--navbar-btn-size) + var(--navbar-btn-line-thichness) * 2);
        height: calc(var(--navbar-height-mb) - 20px);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .navbar-btn span {
        left: 0;
        width: 100%;
        height: var(--navbar-btn-line-thichness);
        border-radius: var(--navbar-btn-line-thichness);
        background-color: var(--pink-color);
    }
    .navbar-btn span:nth-child(2) {
        background-color: var(--blue-color);
    }
    .navbar-btn.active span:nth-child(1) {
        transform: translateY(var(--num)) rotate(-45deg);
    }
    .navbar-btn.active span:nth-child(2) {
        opacity: 0;
    }
    .navbar-btn.active span:nth-child(3) {
        transform: translateY(calc(-1 * var(--num))) rotate(45deg);
    }

    .close-wrapper {
        z-index: -2;
        left: 0;
    }

    .container {
        padding-top: var(--navbar-height-mb);
        /*min-height: calc(100vh - var(--navbar-height-mb));*/
    }
    .container::before {
        height: calc(100% - var(--navbar-height-mb));
    }
    
    .bg-container,
    .top-image {
        top: var(--navbar-height-mb);
    }
}