/* fiscalog archive INDEX PAGE css-style */

/*
    Z-INDEX
    (keep index levels free for later additions)

    body            => z-index 0
    logo/text logo  => z-index 10
    text/buttons    => z-index 20
    message boxes   => z-index 30
*/


/* global colour scheme */

@import "css_constants.css";

/* ########|   ALL SCREENS   |######## */

/* Global html inherited to all elements */
html {
    width: 100vw;
    height: 100vh;
    font: -apple-system-body;
    font-size: 1vmax;   /* important for mobile phone in landscape orientation (otherwise false rem font size) */
}

p {
    padding: 0;
    margin: 0;
}

h4 {
	display:inline;
    color: var(--primary);
    font-family: 'Open Sans Semibold', sans serif;
    font-size: var(--h4-font-size);
	margin: 0;
    padding: 0 0 1vw 0; /* top right bottom left */
}

/* ######################################## */
/* ########|                      |######## */
/* ########|   NORMAL PC SCREEN   |######## */
/* ########|                      |######## */
/* ######################################## */

@media only screen and (orientation: landscape) {
    
    body {
        display: block;
        font-family: 'Open Sans', sans serif;
        font-size: var(--root-font-size);
        font-weight: 400;
        color: var(--primary);
        background-color: var(--background-gradient-dark);
        background-image: linear-gradient(290deg, var(--background-gradient-dark) 0%, var(--background-gradient-bright) 100%);
        margin: 0;
        padding: 0;
        overflow: hidden;
        z-index: 0;
    }

    /* image logo animation */
    .image-container {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
    .image-container img {
        object-fit: cover;  /* crop logo to keep inside screen */
    }
    .image-logo {
        opacity: 0; /* invisible at page start */
        z-index: 10;
    }
    .animate-image-logo {
        position:fixed;
        float: right;
        opacity: 1;
        -webkit-animation: 1.5s logo-zoom forwards;
        -moz-animation: 1.5s logo-zoom forwards;
        -ms-animation: 1.5s logo-zoom forwards;
        -o-animation: 1.5s logo-zoom forwards;
        animation: 1.5s logo-zoom forwards;
    }
    @-webkit-keyframes logo-zoom {
        from {
            right: -3.6vw;
            bottom: -7vh;
            height: 114vh;
            opacity: 0
        } to {
            right: -3.6vw;
            bottom: -9.5vh;
            height: 119vh;
            opacity: 1;
        }
    }
    @-moz-keyframes logo-zoom {
        from {
            right: -3.6vw;
            bottom: -7vh;
            height: 114vh;
            opacity: 0
        } to {
            right: -3.6vw;
            bottom: -9.5vh;
            height: 119vh;
            opacity: 1;
        }
    }
    @-ms-keyframes logo-zoom {
        from {
            right: -3.6vw;
            bottom: -7vh;
            height: 114vh;
            opacity: 0
        } to {
            right: -3.6vw;
            bottom: -9.5vh;
            height: 119vh;
            opacity: 1;
        }
    }
    @-o-keyframes logo-zoom {
        from {
            right: -3.6vw;
            bottom: -7vh;
            height: 114vh;
            opacity: 0
        } to {
            right: -3.6vw;
            bottom: -9.5vh;
            height: 119vh;
            opacity: 1;
        }
    }
    @keyframes logo-zoom {
        from {
            right: -3.6vw;
            bottom: -7vh;
            height: 114vh;
            opacity: 0
        } to {
            right: -3.6vw;
            bottom: -9.5vh;
            height: 119vh;
            opacity: 1;
        }
    }

    /* SIGN IN button (upper left) */
    .sign-in-button {
        display: block;
        position: fixed;
        cursor: pointer;
        color: var(--primary);
        font-size: 1.3rem;
        top: 5vh;
        left: 3vw;
        z-index: 20;
    }
    .sign-in-button:hover {
        color: var(--link-hover);
    }

   
    /* FISCALOG TEXT LOGO (lower left) */
    .text-logo {
        color: var(--primary);
        display: block;
        font-family: "Open Sans Light";
        font-weight: 200;
        cursor: default;
        position: fixed;
        bottom: 5vh;
        left: 3vw;
        z-index: 10;
    }
    .logo-topline {
        font-size: 4rem;
    }
    .logo-subline {
        color: #222;
        font-size: 2rem;
    }

    /* FISCALOG TEXT LOGO embedded HYPERLINK to fiscalog.com (lower left) */
    .fiscalog-hyperlink {
        cursor: pointer;
        color: var(--fiscalog-website-hyperlink-color);
        text-decoration: none;
    }
    .fiscalog-hyperlink:hover {
        color: var(--fiscalog-website-hyperlink-color-hover);
        text-decoration: none;
    }

    /* IMPRESSUM link (lower right) */
    .impressum-button {
        display: block;
        position: fixed;
        cursor: pointer;
        color: var(--primary);
        font-size: 1.3rem;
        bottom: 5vh;
        right: 3vw;
        z-index: 20;
    }
    .impressum-button:hover {
        color: var(--link-hover);
    }

    /* HYPERLINKS, LINKS and pseudo-text buttons */
    a,
    .text-link,
    .text-link a {
        color: var(--link);
        text-decoration:var(--link-text-decoration);
    }
    a:hover,
    .text-link:hover,
    .text-link a:hover {
        cursor: pointer;
	    color: var(--link-hover);
   	    text-decoration:var(--link-text-decoration-hover);
    }

    .text-link-underlined,
    .text-link-underlined a {
        color: var(--link);
        text-decoration:underline;
    }
    .text-link-underlined:hover,
    .text-link-underlined a:hover {
        cursor: pointer;
        color: var(--link-hover);
        text-decoration:underline;
    }

    /*  OVERLAY BOXES */
   
    /* SCREEN CONTAINER FOR BOX => full screen, covered by semi-transparent black */
    .overlay-box-screen-container {
	    display: none; /* invisible at start */
	    position: absolute;
        z-index:30;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	    width: 100%; /* Full width */
	    height: 100%; /* Full height */
	    overflow: hidden;
	    background-color: var(--background-fading-color);
        -webkit-animation: 1s fadescreen;
        -moz-animation: 1s fadescreen;
        -ms-animation: 1s fadescreen;
        -o-animation: 1s fadescreen;
        animation: 1s fadescreen;
    }
    /* Background fading dark animation	*/
    @-webkit-keyframes fadescreen {
	    0% {background-color: rgba(0,0,0,0)} 
	    100% {background-color: var(--background-fading-color)} 
    }
    @-moz-keyframes fadescreen {
	    0% {background-color: rgba(0,0,0,0)} 
	    100% {background-color: var(--background-fading-color)} 
    }
    @-ms-keyframes fadescreen {
	    0% {background-color: rgba(0,0,0,0)} 
	    100%{background-color: var(--background-fading-color)} 
    }
    @-o-keyframes fadescreen {
	    0% {background-color: rgba(0,0,0,0)} 
	    100% {background-color: var(--background-fading-color)} 
    }
    @keyframes fadescreen {
	    0% {background-color: rgba(0,0,0,0)} 
	    100% {background-color: var(--background-fading-color)} 
    }

    /* EMPTY OVERLAY BOX (for header, body and optional footer) */
    .overlay-box {
	    display: flex;
	    flex-direction: column;
	    align-content: flex-start;
	    position: absolute;
        top: 50%;	/* center */
	    left: 50%;	/* center */
	    width: auto;
        z-index: 35;
        opacity: 1;
        color: var(--primary);
        background-color: var(--boxes-background);
	    margin: 0;
	    padding: 2.5rem;	/* spacing to text/content inside box */
        max-height: 80%;
        min-height: 150px;
        overflow: hidden;
	    font-size: var(--overlay-box-font-size);
	    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-animation: 0.4s animatezoom;
        -moz-animation: 0.4s animatezoom;
        -ms-animation: 0.4s animatezoom;
        -o-animation: 0.4s animatezoom;
        animation: 0.4s animatezoom;
    }
    /* Zoom and fade in overlay-box */
    @-webkit-keyframes animatezoom {
	    from {-webkit-transform: scale(0.8) translate(-50%, -50%); opacity:0} 
	    to {-webkit-transform: scale(1) translate(-50%, -50%); opacity:1}
    }
    @-moz-keyframes animatezoom {
	    from {-moz-transform: scale(0.8) translate(-50%, -50%); opacity:0} 
	    to {-moz-transform: scale(1) translate(-50%, -50%); opacity:1}
    }
    @-ms-keyframes animatezoom {
	    from {-ms-transform: scale(0.8) translate(-50%, -50%); opacity:0} 
	    to {-ms-transform: scale(1) translate(-50%, -50%); opacity:1}
    }
    @-o-keyframes animatezoom {
	    from {-o-transform: scale(0.8) translate(-50%, -50%); opacity:0} 
	    to {-o-transform: scale(1) translate(-50%, -50%); opacity:1}
    }
    @keyframes animatezoom {
	    from {transform: scale(0.8) translate(-50%, -50%);opacity:0}
	    to {transform: scale(1) translate(-50%, -50%);opacity:1}
    }

    /* BOX "x" CLOSING SYMBOL in right upper corner */
    .overlay-box-closing-symbol {
        position: absolute;
        top: 0px;                  
	    right: 1.2rem;
	    color: var(--close-symbol);
	    font-size: 1.8rem;
	    font-weight: bold;
	    cursor: pointer;
    }
    .overlay-box-closing-symbol:hover,
    .overlay-box-closing-symbol:focus {
    	color: var(--close-symbol-hover);
	    text-decoration: none;
    }

    /* BOX HEADER (with border line) */
    .overlay-box-header {
	    flex: none;	/* fixed height */
	    font-family: 'Open Sans', sans serif;
	    font-weight: bold;
	    padding: 0 0 1.2rem 0;
	    margin: 0; /* from bottom */
        border-bottom: solid var(--boxes-headline-separator) 2px;
    }

    /* BOX BODY (content) */
    .overlay-box-body {
	    flex: initial; /* flexible height */
	    overflow-x: hidden;
        align-items: center;
    }
    /* BOX BODY PRE tag */
    .overlay-box-body pre {
    	cursor: default;
	    height: 100%; /* of body div */
    	overflow-y: auto;
	    overflow-x: hidden;
    	font-family: 'Open Sans', sans serif;
	    font-weight: normal;
        white-space: pre-wrap;                 /* CSS3 browsers  */
        white-space: -moz-pre-wrap !important; /* 1999+ Mozilla  */
        white-space: -pre-wrap;                /* Opera 4 thru 6 */
        white-space: -o-pre-wrap;              /* Opera 7 and up */
 	    white-space: -ms-pre-wrap;  		   /* IE */
	    white-space: -webkit-pre-wrap; 		   /* Chrome and Safari */
        word-wrap: break-word;                 /* IE 5.5+ and up */
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
        -o-hyphens: auto;
        hyphens: auto;
    }

    /* BOX BODY LINE */
    .overlay-box-line {
        display: flex;
        overflow: auto;
	    flex-wrap: nowrap;
        flex-direction: row;
	    justify-content:flex-start;
	    margin: 1rem 0;  /* up/down left/right */
        padding: 0;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
        -o-hyphens: auto;
        hyphens: auto;
    }

    /* BOX TEXT CATEGORY FIELD (sign in) */
    .overlay-box-category-field {
	    height: 2rem;
        width: 14rem;
        margin: 0;
	    padding: 0;
	    font-size: 1.2rem;
	    font-weight:500;
	    color: var(--primary);
    }

    /* BOX TEXT INPUT FIELD (sign in) */
    .overlay-box-input-field {
	    height: 2.1rem; /* + 2x 0.2rem in padding => 2.5rem total height, important for grey button */
	    width: 14vw;
        margin: 0 0 0 1rem; /* top | right | bottom | left */
	    padding: 0.2rem 0.5rem; /* up/down | left/right */
	    border: 0;
	    font-size: 1.2rem;
	    font-weight:500;
        background-color: var(--input-field-background);
	    color: var(--input-field-text);
    }

    /* BOX TEXT OK BUTTON (sign in) */
    .overlay-box-grey-button {
	    height: 2.5rem; /* 2.1rem + 2x 0.2rem padding */
	    width: auto;
	    margin: 0 0 0 10px;
	    padding: 0.2rem 0.6rem; /* up/down | left/right */
	    border: none;
	    font-size: 1.2rem;
	    font-weight:500;
	    background-color: var(--button-grey-background);
	    color: var(--button-grey-text);
    }
    .overlay-box-grey-button:focus {
        outline: none;
    }
    .overlay-box-grey-button:hover {
	    background-color: var(--button-grey-background-hover);
	    cursor:	pointer;
	    color: var(--button-grey-text-hover);
    }

    /* BOX TEXT CHECKBOX FIELD (renew password) */
    .overlay-box-checkbox-field {
        accent-color: red;
        width: 1.5rem;
        height: 1.5rem;
        margin: 0 0 0 1rem; /* top | right | bottom | left */
        padding: 0;
        cursor: pointer;
    }

    /* BOX TEXT CHECKBOX LABEL (renew password) */
    .overlay-box-checkbox-label {
        color: var(--primary);
        font-size: 1rem;
        margin: 0 0 0 1rem; /* top | right | bottom | left */
        padding: 0;
    }

    /* BOX BOTTOM */
    .overlay-box-footer {
	    display: flex;
	    justify-content: space-between;
	    padding: 1.5rem 0 0 0; /* top | right | bottom | left */
        margin: 0;
    }
    .overlay-box-footer a {
    	color: var(--link);
	    text-decoration:var(--link-text-decoration);
    }
    .overlay-box-footer a:hover {
	    color: var(--link-hover);
	    text-decoration:var(--link-text-decoration-hover);
    }
    
    /* INDIVIDUAL BOX WIDTH */
    .impressum-overlay-box-width {
        width: 50vw;
    }
    .agb-overlay-box-width {
	    width: 80vw;
    }
    .dsgvo-overlay-box-width {
	    width: 80vw;
    }

    /* ERROR MESSAGE BOX (with OK button) */
    .notice-box {
        min-width: 30vw;
        max-width: 60vw;
    }
    .notice-confirm-button {
        justify-content: center;
    }

} /* Normal PC screen */

