.grid {
    position: relative;
    width: 95.00%;
    max-width: 1200px;
    margin: 0 auto;
    /*border: 1px dotted orange;*/
    padding: 1.00em;
}

/* CSS THEME --------------------------------------------- */

header.header {
    z-index: 100;
}

main.main,
aside.aside {
    z-index: 50;
}

footer.footer {
    z-index: 40;
}

/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */

body {
	position: relative;
	min-height: 100.00vh;
	
	display: -moz-box;
	display: -webkit-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
		
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	-o-flex-direction: column;
	flex-direction: column;
}

body > div.gridwrap,
div.navigation-overlay-grid {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
}

body.swiped {
	position: fixed;
}

main.main {
    flex: 1;
}

/* CSS THEME --------------------------------------------- */

.header-placeholder {
    border: 1px solid transparent;
    visibility: hidden;
    z-index: 2000;
    
    height: calc(1.70 * 1.750em);
    margin: 3.00em 0;
}

header.header {
    position: fixed;
    top: 0;
    width: 100.00vw;
    padding: 2.00em 0;
    background-color: rgba(255,255,255,0.95);
    border-bottom: 1px solid transparent;
    box-shadow: 0 0 0 transparent;
}

header.header figure.header-logo {
    margin: 0;
    padding: 0;
}

header.header svg.svg-logo {
    width: calc(5.00 * 1.750em);
    height: calc(1.70 * 1.750em);
    line-height: 0;
    max-width: 100.00%;
}

header.header svg.svg-logo.svg-logo-25 {
    width: calc(7.05 * 1.750em);
    height: calc(1.70 * 1.750em);
    line-height: 0;
}
/*
header.header .grid {
    border: 1px dotted orange;
}
*/
header.header.shrink {
    padding: 0;
    box-shadow: 0 0 1.5em rgba(0,0,0,0.25);
}

header.header.shrink svg.svg-logo {
    width: calc(5.00 * 1.50em);
    height: calc(1.70 * 1.50em);
}

header.header.shrink svg.svg-logo.svg-logo-25 {
    width: calc(7.05 * 1.50em);
    height: calc(1.70 * 1.50em);
}

/* CSS THEME --------------------------------------------- */

header.header,
header.header svg.svg-logo .svg-logo-secondary,
header.header svg.svg-logo .svg-logo-primary,
header.header svg.togglebars-svg .icon-color.togglebar,
header.header nav.menu {
    transition: all 0.25s ease-in-out;
}

/* CSS THEME --------------------------------------------- */

.header-columns {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: fit-content(50%); 
    align-items: center;
    margin: 0 -1.00em;
}

.header-columns .header-column-1.header-column-logo {
    grid-column: 1/3;
    grid-row: 1/3;
}

.header-columns .header-column-2.header-column-menu {
    grid-column: 3/13;
    grid-row: 1/2;
}

.header-columns .header-column-3.header-column-menu {
    grid-column: 3/13;
    grid-row: 2/3;
}

.header-columns .header-column-1.header-column-logo,
.header-columns .header-column-2.header-column-menu,
.header-columns .header-column-3.header-column-menu {
    padding: 0 1.00em;
}

.header-columns .header-column-2.header-column-menu,
.header-columns .header-column-3.header-column-menu {
    display: flex;
    justify-content: flex-end;
}

/**/
.navigation-overlay-grid {
    margin: 0 -1.00em;
}
.navigation-overlay-grid .column-main,
.navigation-overlay-grid .column-side {
    padding: 1.00em;
}


/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */

@media (max-width: 638.8px) {
    .header-columns {
        grid-template-columns: repeat(6, 1fr);
    }
    
    .header-columns .header-column-1.header-column-logo {
        grid-column: 1/4;
    }
    
    .header-columns .header-column-2.header-column-menu {
        grid-column: 4/7;
    }
    
    .quick-menu span.label {
        display: none;
    }
}

@media (max-width: 1023.8px) {
    .header-column-3.header-column-menu.desk {
        display: none;
    }
    
    .header-columns .header-column-1.header-column-logo,
    .header-columns .header-column-2.header-column-menu {
        grid-row: 1/2;
    }
}

@media (min-width: 1024px) {
    .header-columns .header-column-1.header-column-logo,
    .header-columns .header-column-2.header-column-menu,
    .header-columns .header-column-3.header-column-menu {
        grid-row: 1/2;
    }
    
    .header-columns .header-column-3.header-column-menu {
        grid-column: 3/11;
        justify-content: center;
    }
    
    .header-columns .header-column-2.header-column-menu {
        grid-column: 11/13;
    }
    
    nav.menu.quick-menu li.item-x {
        displaY: none;
    }
}

@media (max-width: 2303.8px) {
    aside.aside {
        display: none;
    }
}

aside.aside {
        display: none;
    }

/*
@media (min-width: 2304px) {
    
    body:not(.landingpage) > div.gridwrap,
    div.navigation-overlay-grid {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        grid-template-rows: fit-content(50%);  
        
        flex: 1 0 auto;
        flex-shrink: 0;
    }
    
    body:not(.landingpage) > div.gridwrap,
    header.header .navigation-overlay .grid,
    div.navigation-overlay .grid {
        width: 95.00%;
        max-width: 2560px;
        margin: 0 auto;
    }
    
    
    
    header.header {
        grid-column: 1/13;
    }
    
    .header-columns .header-column-1.header-column-logo {
        grid-row: 1/2;
    }
    .header-columns .header-column-2.header-column-menu {
        grid-column: 9/13;
        grid-row: 1/2;
    }
    .header-columns .header-column-3.header-column-menu {
        grid-column: 3/9;
        grid-row: 1/2;
    }
    
    .navigation-overlay-grid .column-main {
        grid-column: 1/9;
    }
    .navigation-overlay-grid .column-side {
        grid-column: 9/13;
    }
    
    main.main {
        grid-column: 1/9;
        grid-row: 1/3;
    }
    
    aside.aside {
        grid-column: 9/13;
        overflow: visible;
        grid-row: 1/4;
    }
    
    footer.footer {
        grid-column: 1/9;
    }
    
    header.header .grid,
    div.navigation-overlay .grid,
    main.main .grid,
    aside.aside .grid,
    footer.footer .grid {
        margin: 0;
        width: 100.00%;
        max-width: none;
    }
    
    
    
    aside.aside {
        display: flex;
    }
    
    aside.aside .grid {
        margin: 1.00em;
        max-width: calc(100.00% - 2.00em);
        border: 1px solid rgb(220,220,220);
        background-color: rgb(240,240,240);
    }
    
    aside.aside .aside-content {
        position: sticky;
        top: 1.00em;
    }
}
*/

/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */

div.scrollway {
    position: relative;
}

div.scrollway > div.scrollway-indicator {
    position: absolute;
    left: 0;
    bottom: -1px;
    border-bottom: 1px solid rgba(120,170,225,1.00);
}

div.scrollway > div.scrollway-indicator > span {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    padding: 0 0.50em;
    border: 1px solid rgba(90,95,100,0.50);
    border-top: none;
    background-color: rgba(255,255,255,0.90);
    color: rgba(90,95,100,0.50);
    
    display: none;
}

div.scrollway > div.scrollway-dots {
    position: fixed;
    left: 0;
    right: 0;
    height: 0;
    bottom: 15.00vh;
    text-align: center;
    pointer-events: none;
    
    display: none;
    
    /*border: 1px solid red;*/
    -webkit-animation: moveDots 1.00s ease;
}

@keyframes moveDots {
    0% {
        opacity: 0.0;
        bottom: 0.00vh;
    }
    100% {
        opacity: 1.0;
        bottom: 15.00vh;
    }
}

div.scrollway > div.scrollway-dots > div.scrollway-dot {
    position: relative;
    display: inline-block;
    
    height: 5.00em;
    width: 3.00em;
    margin-top: -2.50em;
    border-radius: 2.00em;
    
    background-color: rgba(120,170,225,0.75);
    border: 1px solid rgba(255,255,255,0.75);
    color: rgb(255,255,255);
    
    box-shadow: 0 0 1.750em rgba(0,0,0,0.25);
    
    background: linear-gradient(0deg, rgba(5,20,55,0.75) 0%, rgba(120,170,225,0.95) 100%);
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span {
    position: absolute;
    width: 10px;
    left: calc(50.00% - 5px);
    opacity: 0;
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span {
    width: 12px;
    height: 12px;
    left: calc(50.00% - 6px);
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.750);
    background-color: rgba(255,255,255,0.250);
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span > i.fa-solid {
    display: none;
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span {
    -webkit-animation: scrollDown_1 2.0s infinite ease-in-out;
    animation: scrollDown_1 2.0s infinite ease-in-out;
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span.scrollway-dot-1 {
    animation-delay: 0.0s;
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span.scrollway-dot-2 {
    animation-delay: 0.75s;
}

div.scrollway > div.scrollway-dots > div.scrollway-dot > span.scrollway-dot-3 {
    animation-delay: 1.50s;
}

@keyframes scrollDown_1 {
    0% {
        opacity: 0.0;
        transform: translateY(-2.00em);
    }  50% {
        opacity: 1.0;
    } 100% {
        opacity: 0.0;
        transform: translateY(5.00em);
    }
}

/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */

section.section-content {}

section.section-summary {
    background-color: rgba(243,243,243,1.00);
    border-top: 1px solid rgba(0,0,0,0.050);
}

/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */

footer.footer > div.footer-bottom .flxwrap.columns {
    align-items: center;
}

footer.footer > div.footer-bottom .footer-bottom-left,
footer.footer > div.footer-bottom .footer-bottom-right {
    text-align: center;
}

@media (min-width: 768px) {
    footer.footer > div.footer-bottom .footer-bottom-left {
        text-align: left;
    }

    footer.footer > div.footer-bottom .footer-bottom-right {
        text-align: right;
    }
    
    .menu.socialmedia-menu {
        align-self: flex-end;
    }
}

/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */



/* CSS THEME --------------------------------------------- */
/* CSS THEME --------------------------------------------- */
