:root {
    --is-mobile: false;

    --main-text-color: #dadad4;
    --light-text-color: #a5a5a0;
    --highlight-text-color: #FFFFFF;
    --link-text-color: #D1E751;
    --dirt-color: #593d29;

    --main-font-family: 'Nunito';
    --title-font-family: 'Montserrat', sans-serif;
    --brand-font-family: 'Neo Sans Std Regular', sans-serif;

    --sidemenu-main-text-color: var(--highlight-text-color); /*  #aabbaa;*/
    --sidemenu-strip-height: 48px;
    --sidemenu-font-size: 18px;
    --sidemenu-small-font-size: 14px;
    --sidemenu-strip-background-color: #004000;
    --sidemenu-background-color: #003000;
    
    --title-background: #004000;
    /* --title-background: #553A72; */
    --back-color: #48494B;
    --info-background: #515151;
    --note-background: #333333;
    --warning-background: #8D0000;
    --important-background: #af5d00;
    --group-background: #a39700;
    --products-background: #746c00;
    --disabled-color: #888888;
    --products-color: #eeeeee;

    --column-width: 55%;
    --main-padding: 8vw;
    --main-margin: 15vw;

    --main-font-size: 16px;
    --strong-font-size: 20px;
    --large-font-size: 22px;
    --iconrow-font-size: 18px;
    --iconrow-small-font-size: 13px;
    --banner-font-size: 56px;
    --title-font-size: 24px;
    --subtitle-font-size: 18px;
    --subsubtitle-font-size: 16px;
    --table-filter-font-size: 22px;
    --packlist-font-size: 20px;
    --footer-font-size: 14px;
    --backlink-font-size: 14px;
    --blog-font-size: 18px;

}
@font-face {
    font-family: 'Neo Sans Std Medium';
    src: url('includes/fonts/Neo Sans Std Medium.otf') format('opentype');
}
@font-face {
    font-family: 'Neo Sans Std Bold';
    src: url('includes/fonts/Neo Sans Std Bold.otf') format('opentype');
}
@font-face {
    font-family: 'Neo Sans Std Regular';
    src: url('includes/fonts/Neo Sans Std Regular.otf') format('opentype');
}
.fontmainsize {
    font-size: var(--main-font-size);
}
.fontstrongsize {
    font-size: var(--strong-font-size);
}
.fontlargesize {
    font-size: var(--large-font-size);
}
.fonttitlesize {
    font-size: var(--title-font-size);
}
.fontbannersize {
    font-size: var(--banner-font-size);
}
.fontfootersize {
    font-size: var(--footer-font-size);
}

html {
    width:100%;
}

body {
    width:100vw;
    margin-top: 0; 
    margin-left: 0;
    color: var(--main-text-color);
    background: var(--back-color);
    font-size: var(--main-font-size);
    font-family: var(--main-font-family);  
    overflow-x: hidden;

}

.dontnewline {
    display: inline;
}

/* paragraph sections */

.regularclass {
    font-size: var(--main-font-size);
    color: var(--highlight-text-color);
    font-weight: normal;
}

.thinclass {
    font-size: var(--main-font-size);
    color: var(--highlight-text-color);
    font-weight: lighter;
}

.largeclass{
    font-size: var(--large-font-size);
    font-weight: lighter;
    color: var(--highlight-text-color);
}

.strongclass {
    font-size: var(--strong-font-size);
    font-weight: bolder;
    color: var(--highlight-text-color);
}

a {
    color: var(--link-text-color);
    text-decoration: none;
}


/* banner */

.banner {
    margin-top: var(--sidemenu-strip-height);
    width: 100vw;
    height: 200px;
    background-color: var(--dirt-color);
    background-image: url("img/website_banner_1.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: flex-end;
    margin-bottom: 64px;
}

.banner_logocomp {
    margin: auto;
}
.banner_logocomp img {
    margin-top: 16px;
    width: 50vw;
    height: auto;
    max-width: 600px;
}

/* title and note classes  */
.pagesection {
    font-size: var(--main-font-size);
    font-family: var(--main-font-family);
    color: var(--light-text-color);
    background: var(--info-background);
    height: auto;
    margin-left: var(--main-margin);
    margin-right: var(--main-margin);
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
    padding-top: 32px;
    padding-bottom: 32px;
    line-height: 32px;
    margin-bottom: 32px;
}

.subsection {
    font-size: var(--subtitle-font-size);
    font-family: var(--main-font-family);
    color: var(--main-text-color);
    background: var(--note-background);
    height: auto;
    margin-left: calc(var(--main-margin) + 5%);
    margin-right: calc(var(--main-margin) + 5%);
    padding-left: var(--main-padding);
    padding-right: var(--main-padding);
    padding-top: 1px;
    padding-bottom: 1px;
    line-height: 24px;
    margin-bottom: 32px;
}

.pagesection h1 {
    color: var(--main-text-color);
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 26px;
    font-weight: bold;
}

.pagesection h2 {
    color: var(--main-text-color);
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 26px;
    font-weight: bold;
}

.subsection h2 {
    color: var(--light-text-color);
    font-size: 24px;
    font-weight: normal;
}

.aboutsection {
    margin-left: 20%;
    margin-right: 20%;
    padding-left: 40px;
    padding-right: 40px;
    background: var(--note-background);
}

.productssection {
    display: flex;
    margin-left: 25%;
    margin-right: 25%;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 8px;
    flex-direction: column;
    font-weight: bold;
    color: var(--light-text-color);
    background: var(--dirt-color);
}

.productssection .producttitle {
    font-variant: small-caps;
    color: var(--products-color);
    font-size: 26px;
    font-weight: bolder;
    width: 100%;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 24px;
    padding-top: 16px;
    padding-bottom: 16px;
    background-color: var(--title-background);
}

.productssection img {
    width: 150px;
    height: 150px;
    margin-top: 8px;
    margin-bottom: 32px;
    box-shadow: black 0px 0px 16px 0px;
    border-radius: 8px;
}

.productssection p {
    margin-left: 16px;
    margin-right: 16px;
}

.productssection .horizontalflex {
    display: flex;
    flex-direction: row;
    vertical-align: middle;
    padding-left: 5%;
    padding-right: 5%;
}

.productssection .horizontalflex p {
    text-align: justify;
}

.productssection .horizontalflex img {
    margin-top: 24px;
    margin-right: 16px;
}

/* buttons */

#button  {
    font-size: var(--packlist-font-size);
    border: var(--main-text-color);
    text-decoration: none;
}

#buttondisabled {
    font-size: var(--packlist-font-size);
    border: var(--disabled-color);
    color: var(--disabled-color);
    text-decoration: none;
}

#buttondisabled span {
    display: initial;
    font-style: italic;
    font-variant: small-caps;
}

/* snipette */

.codesnippet pre {
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
}
    
.codesnippet code {
    padding: 8px;
    font-family: Courier, 'New Courier', monospace;
    font-weight: bold;
    font-size: 14px;
    background-color: #aaaaaa;
    color: black;
}
    
.codesnippet {
    font-family: Courier, 'New Courier', monospace;
    font-weight: bold;
    font-size: 16px;
    margin: 1em 0;
}

/* element table */

.elemtable {
    width: 100%;
    border-style: solid;
    border-width: 1px;
    border-collapse: collapse;
    border-color: var(--note-background);
}

.elemtable tr:nth-child(even) {
    background-color: var(--back-color);
}

.elemtable>tbody>tr>th {
    background-color: var(--note-background);
    padding-left: 16px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.elemtable>tbody>tr>td {
    padding-left: 16px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.elemtable p {
    text-align: left;
    font-size: small;
}

.elemtable h5 {
    text-align: left;
    font-size: small;
    font-variant: small-caps;
    margin: 0px;
}

.backclass {
    font-size: var(--backlink-font-size);
    font-weight: bold;
    color: var(--light-text-color);
}
/* ---------------- SCREENSHOTS -------------- */
div.screenshotclass img {
    border-radius: 8px;
    width: 100%;
    cursor: pointer;
    transition: 0.3s;
}
div.screenshotclass img:hover {
    opacity: 0.5;
}

.screenshotmodal {
    display: none;
    position: fixed;
    z-index: 3;
    /* padding-top: 32px; */
    cursor: pointer;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.9);
}

.screenshotmodal-content {
    margin: auto;
    display: block;
    height: 95vh;
    max-height: 95vh;
    max-width: 95%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
}

.screenshotclose {
    position: absolute;
    top: 16px;
    right: 16px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.screenshotclose:hover,
.screenshotclose:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
    .screenshotmodal-content {
        width: 100%;
    }
}