/*
@import url('https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Offside&display=swap');
*/

/* hachi-maru-pop-regular - latin */
@font-face {
  font-family: 'Hachi Maru Pop';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url('../fonts/hachi-maru-pop-v3/hachi-maru-pop-v3-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('../fonts/hachi-maru-pop-v3/hachi-maru-pop-v3-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/hachi-maru-pop-v3/hachi-maru-pop-v3-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/hachi-maru-pop-v3/hachi-maru-pop-v3-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/hachi-maru-pop-v3/hachi-maru-pop-v3-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/hachi-maru-pop-v3/hachi-maru-pop-v3-latin-regular.svg#HachiMaruPop') format('svg'); /* Legacy iOS */
}

body {
    background-color: white;
    margin: 0px;
}

div#page_container{
    position: relative;
}

/* ****   T E X T   F O N T S   **** */
.text_topline {  /* Top line text (selection and link to parent album */
    font-family: Arial;
    font-weight: bold;
    font-size: 13px;
}
.text_title {  /* All Title text */
    font-family: 'Offset';
    /* See import at the beginning */
    /*
    font-family: 'Architects Daughter';
    font-family: 'Offside';
    */
}
.text_caption { /* Caption like Videos */
    flex-basis: 100%;
    font-size: 23px;
    font-weight: bold;
    padding: 1px 8px;
    margin-bottom: 10px; /* optional: sorgt für Abstand nach unten */
    text-shadow: 1px 1px 0px #000000, -1px -1px 0px #000000, 1px 1px 3px #ffffff;
}
.text_normal {  /* All normal text */
    font-family: Arial;
}
.header_text {
  text-shadow: 1px 1px 0px #000000, -1px -1px 0px #000000, 1px 1px 3px #ffffff;
}
.child_album_text {
    text-shadow: 1px 1px 0px #ffffff, -1px -1px 0px #ffffff, 1px 1px 3px #000000;
}


/* The whole thing */
.custom-menu {
    display: none;
    z-index: 1000;
    position: absolute;
    overflow: hidden;
    border: 1px solid #CCC;
    white-space: nowrap;
    font-family: Arial;
    background: #f9ffbf;
    color: #000;
    border-radius: 0.7em;
    padding: 0;
}
/* Each of the items in the list */
.custom-menu li {
    padding: 8px 12px;
    cursor: pointer;
    list-style-type: none;
    transition: all .3s ease;
    user-select: none;
}
.custom-menu li:hover {
    background-color: yellow;
}


div#topline {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 25px;
    background-color: black;
}
div.dashboard {
    display: flex;
    width: 95%;
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
}
div.dashboard_right {
    display: flex;
    flex-wrap: nowrap;
    margin-left: 20px
}
a.parent_album_link {
    margin-top: 1px;
    text-decoration: none;
    background-color: #222222;
    color: #bbbbbb;
    padding: 2px 6px 2px 6px;
    border-top: 1px solid #CCCCCC;
    border-right: 1px solid #333333;
    border-bottom: 1px solid #333333;
    border-left: 1px solid #CCCCCC;
}
select {
    margin-top: 1px;
    text-decoration: none;
    background-color: #222222;
    color: #bbbbbb;
    padding: 2px 6px 2px 6px;
    border-top: 1px solid #CCCCCC;
    border-right: 1px solid #333333;
    border-bottom: 1px solid #333333;
    border-left: 1px solid #CCCCCC;
}
div#copyright {
    margin-top: 1px;
    font: 13px Arial;
    text-decoration: none;
    color: #bbbbbb;
    margin-left: 20px;
    padding: 2px 6px 2px 6px;
}



div#content_container {
    width: 90%;
    min-height: calc(100vh - 25px);
    margin-right: auto;
    margin-left: auto;
}


/* The Header Container */
div.header_container {
    display: flex;
}
div.header_container>.header_image {
    margin-top: 60px;
    background-image: url('../../cover.jpg');
    background-size: 100% auto;
    flex-grow: 1;
    background-position: center 50%;
    background-repeat: no-repeat;
    border-radius: 1.6em;
}
div.header_container>.header_image>.header_color {
    background-color: rgba(0, 0, 0, 0.5);
    background-position: center 30%;
    background-repeat: no-repeat;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1.6em;
}
div.header_container>.header_image>.header_color>.header {
    display: block;
    align-items: center;
    justify-content: center;
}
.album_header_title {
    font-size: calc(18px + 6 * ((100vw - 320px) / 680));
    text-align: center;
    color: white;
    margin-bottom: 1em;
}
.album_header_text {
    font-size: calc(8px + 4 * ((100vw - 320px) / 680));
    text-align: center;
    color: white;
}

/* The Album Text (HTML) */
div.album_txt {
    margin-top: 1em;
    margin-bottom: 1em;
}

/* The Album Container */
div.album_container {
    margin-top: 2em;
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
}
div.album_link>a {
    /* Distance between images in the Thumbnail preview */
    width:420px;
    height:200px;
    display:flex;
    margin: 0.5rem;
    margin-left: 2rem;
    justify-content: space-between;
    text-decoration: none;
    border-style: solid;
    border-color: black;
    border-width: 1px;
    border-radius: 1.6em;
}
div.album_container>.album_link>a>.album_link_image>img {
    width:200px;
    height:200px;
    border-radius: 1.6em;
}
div.album_container>.album_link>a>.album_link_description>.title {
        font-size: 19px;
}
div.album_container>.album_link>a>.album_link_description {
    width:200px;
    height:200px;
    display:block;
    border-radius: 1.6em;
    margin-left: 1em;
    margin-right: 1em;
}
.child_album_title { /* The title of a child album link */
    margin-top: 1em;
    font-size: 20px;
    line-height: 1.1;
    text-align: center;
    color:black;
    margin-bottom: 1em;
}
.child_album_text { /* The text (number of fotos, date, description) of a child album link */
    font-size: 12px;
    text-align: center;
    color:black
}


/* The Photo Container */
div.photo_container {
    margin-top: 2em;
    display: flex;
    flex-wrap: wrap;
    background-color: white;
}
div.photo_container>a {
    /* Distance between images in the Thumbnail preview */
    margin: 0.15rem;
    flex-grow: calc(var(--w) / var(--h) * 100);
    /* Here you can change the size of the photo thumbnails, this depends on the thumbnail size as well */
    width: calc(var(--w) * 0.60px);
}
div.photo_container>a>img {
    border-radius: 0.7em;
    display: block;
    width: 100%;
}
div.photo_container::after {
    --w: 2;
    --h: 1;
    content: '';
    flex-grow: 1000000;
}


/* The Video Container */
h3 {
    font-family: 'Hachi Maru Pop';
    width: 100%;
    height: 20px;
}
div.video_container {
    margin-top: 2em;
    display: flex;
    flex-wrap: wrap;
    background-color: white;
}
div.video_container>a {
    /* Distance between images in the Thumbnail preview */
    margin: 0.15rem;
    flex-grow: calc(var(--w) / var(--h) * 100);
    /* Here you can change the size of the photo thumbnails */
    width: calc(var(--w) * 0.7px);
}
div.video_container>a>img {
    border-radius: 0.7em;
    display: block;
    width: 100%;
}
div.video_container::after {
    --w: 2;
    --h: 1;
    content: '';
    flex-grow: 1000000;
    margin-bottom: 50px;
}

div#space_before_footer {
    margin-bottom: 40px;
}

div#footer {
    position: relative;
    width: 100%;
    height: 25px;
    background-color: black;
}

.swal_box>a:link {
    color: rgb(33 150 243);
}
.swal_box>a:visited {
    color: rgb(33 150 243);
}
.swal_box>a:hover {
    color: rgb(131 201 255);
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1200px) {

    div#content_container {
        width: 96%;
    }

    div.album_link>a {
        width:380px;
        height: 180px;
        margin-top: 0.5rem;
        margin-left:0px;
    }
    div.album_container>.album_link>a>.album_link_image>img {
        width:180px;
        height:180px;
        border-radius: 1.6em;
    }
    div.album_container>.album_link>a>.album_link_description>.title {
        font-size: 19px;
    }
}

/* Mobile phone */
@media (max-width: 500px) and (max-aspect-ratio: 1/1) {

    .text_title {  /* All Title text */
        font-family: Arial;
        font-weight: bold;
    }

    body {
        margin: 0px;
    }

    div#topline {
        position: relative;
    }

    div#content_container {
        width: 96vw;
        margin-right: auto;
        margin-left: auto;
    }


    div.header_container>.header_image {
        /* No background image on mobile phones */
        margin-top: 20px;
        /* background-image:none*/
    }
    div.header_container>.header_image>.header_color {
        background-color: rgba(0, 0, 0, 0.8);
        background-position: center 30%;
        background-repeat: no-repeat;
        height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    div.header_container>.header_image>.header_color>.header {
        display: block;
        align-items: center;
        justify-content: center;
    }
    .album_header_title {
        font-size: 3vw;
        color: white;
        margin-bottom: 0.4em;
    }
    .album_header_text {
        font-size: 12px;
        text-align: center;
        color: white;
    }

    div.album_link>a {
        width: 96vw;
        height: 40vw;
        margin-top: 0.5rem;
        margin-left: 0px;
        margin-right:0px;
        margin-bottom: 0px;
        border-radius: 5vw;
    }

    div.album_container>.album_link>a>.album_link_description>.title {
        font-size: 12px;
        font-weight: bold;
    }

    div.album_container>.album_link>a>.album_link_description>.text_normal {
        font-size: 10px;
    }

    div.album_container>.album_link>a>.album_link_image>img {
        width: 40vw;
        height: 40vw;
        border-radius: 5vw;
    }

    div.photo_container {
        margin-top: 1em;
        background-color: white;
        display: block;
    }
    div.photo_container>a {
        width: calc(var(--w) * 0.7px);
        margin: 0.rem;
    }
    div.photo_container>a>img {
        width: 100%;
    }
    div.photo_container>a>img>.photo {
        border-radius: 5vw;
    }
}