/*
white - #F2F8FC
dark white - #D9EAF6
darker white - #C0DCEF

light primary - #5BA4D5
primary - #2888C7
dark primary - #206898

black - #050708
background primary - #081014
background secondary - #0A1820

light green - #65DAA3
green - #36D085
dark green - #2A9E66

light red - #D45A54
red - #CF433C
dark red - #9D342F
*/

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300;400;700&display=swap');

ul {
    list-style-type: disc;
    margin-block-start: 0px;
    margin-block-end: 0px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
}

header .navbar .navbar-list .navbar-list-element:hover .navbar-list-element-absolute {
    color: #186EA7 !important;
}

header .navbar .navbar-list .navbar-list-element:hover .navbar-list-element-link-select {
    color: #186EA7 !important;
}

.navbar-list-element-link-select {
    background-color: transparent;
    outline: none;
    overflow: hidden !important;
    border:0px;
    outline:0px;
    cursor: pointer;
    padding-right: 0vh !important;
    padding-left: 2vh !important;
    text-align: center;
    display: block;
    padding: 2.2vh 1.2vh;
    color: #F2F8FC;
    font-size: 1.7vh;
}

.navbar-list-element-link-select select {
    outline: none; /* remove the outline shown on focus */
    cursor: pointer; /* change the mouse cursor icon */
    color: white;  /* text color */
    height: 100%;
    font-size: 1.7vh;
    text-align: center;
    z-index: 10;
}

.navbar-list-element-link-select option {
    background: black;
    color: white;
    outline: none;
}

.navbar-list-element-absolute {
    position: absolute;
    right: 8.3vh;
    top: 25%;
    font-size: 2.5vh;
    z-index: 0;
    pointer-events: none;
}
.main {
    display: grid;
}
  
  /* Content Container */
.content {
    display: grid;
    grid-template-columns: repeat(7, 14vh);
    grid-template-rows: repeat(6, 13.6vh);
    align-content: center;
    align-items: center;
    justify-items: stretch;
    justify-content: center;
    grid-column-gap: 1.5vh;
    grid-row-gap: 0.3vh;
}
  
  /* First Button */
.first {
    grid-area: 1 / 1 / 7 / 4;
    display: flex;
    justify-content: flex-end;
    align-content: flex-start;
}
  
.interiors {
    background-image: url(img/background.png);
    background-size: cover;
}

.first a {
    width: 46.5vh;
    height: 83.5vh;
    padding: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    align-content: center;
    border-radius: 1vh;
}

  /* Up Button */
.up {
    grid-area: 1 / 4 / 5 / 6;
    display: flex;
    justify-content: center;
}
  
.up a {
    background-image: url(img/background2.webp);
    background-size: cover;
    width: 31vh;
    height: 55.45vh;
    padding: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    align-content: center;
    border-radius: 1vh;
}
  
  /* Up2 Button */
.up2 {
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
    flex-wrap: nowrap;
    grid-area: 1 / 6 / 5 / 8;
    border-radius: 1vh;
}
  
.up2 a {
    background-image: url(img/background3.webp);
    background-size: cover;
    width: 31vh;
    height: 55.45vh;
    padding: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    border-radius: 1vh;
}
  
  /* Down Button */
.down {
    display: flex;
    justify-content: center;
    grid-area: 5 / 4 / 7 / 8;
    align-items: flex-start;
    align-content: flex-start;
}
  
.down a {
    background-size: cover;
    background-position: center;
    width: 62vh;
    height: 25.5vh;
    display: flex;
    align-items: flex-end;
    align-content: flex-end;
    padding: 0;
    border-radius: 1vh;
}

.slider-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.slider-list {
    display: flex;
    transition: transform 0.5s ease-in-out;
    padding-left: 0px;
}


.slider-item {
    min-width: 100%;
    box-sizing: border-box;
    text-align: center;
    height: 26vh;
    width: 100%;
    list-style: none;
    margin-top: 1.1vh;
    user-select: none;
    background-size: cover;
}

body {
    font-family: 'Figtree', sans-serif;
    margin: 0;
    background-color: #050708;
    color: #F2F8FC;
    font-size: 16px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    user-select: none;
}

a {
    text-decoration: none;
    color: #F2F8FC;
}

a:hover,
a:focus {
    color: #C0DCEF;
}

.copyright-a:hover {
    color: #C0DCEF;
}

a:active {
    color: #F2F8FC;
}

/* Alerts */
.alert {
    padding: 20px;
    font-size: 16px;
    color: #F2F8FC;
    background-color: rgba(242, 248, 252, 0.1);
}

.alert.alert-info {
    color: #2888C7;
    background-color: rgba(40, 135, 199, 0.1);
}

.alert.alert-success {
    color: #36D085;
    background-color: rgba(54, 208, 134, 0.1);
}

.alert.alert-error {
    color: #CF433C;
    background-color: rgba(207, 67, 60, 0.1);
}

/* Inputs */
.input {
    background-color: #050708;
    color: #F2F8FC;
    border: 1px solid rgb(242 248 252 / 10%);
    font-size: 14px;
    padding: 10px;
}

/* Buttons */
.button {
    display: block;
    padding: 14px 32px;
    font-size: 12px;
    color: #2888C7;
    border: none;
}

.button:hover,
.button:focus {
    background-color: rgba(91, 164, 213, 0.1);
    color: #5BA4D5;
    -webkit-box-shadow: 0px 0px 0.8vh 0.3vh rgba(40, 136, 199, 0.7);
-moz-box-shadow: 0px 0px 0.8vh 0.3vh rgba(40, 136, 199, 0.7);
box-shadow: 0px 0px 0.8vh 0.3vh rgba(40, 136, 199, 0.7);

    
    transition: box-shadow 0.5s ease-in-out;
}

.button:active {
    background-color: rgba(40, 135, 199, 0.1);
    color: #2888C7;
}

/* Tooltip */
.tooltip {
    position: relative;
}

.tooltip .tooltip-message {
    position: absolute;
    top: 20px;
    left: 0;
    padding: 5px;
    background-color: #050708;
    border: 1px solid rgb(242 248 252 / 10%);
    width: max-content;
    font-size: 14px;
}

/* Header */
header {
    border-bottom: 0.093vh solid rgb(242 248 252 / 10%);
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 0.6vh;
    background-color: #050708;
    height: 6.5vh;
}

header .logo {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    padding: 0 0.6vh;
    border-bottom: 1px solid transparent;
}

header .logo:hover,
header .logo:focus,
header .logo:active {
    border-color: #F2F8FC;
}

header .logo:hover .logo-text,
header .logo:focus .logo-text,
header .logo:active .logo-text {
    color: #F2F8FC;
}

.ti-menu-2 {
    font-size: 4vh;
}

.ti-filter {
    height: 3.5vh;
    margin-left: 2vh;
    align-content: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.3vh;
    color: white;
}

.ti-filter:hover {
    height: 3.5vh;
    margin-left: 2vh;
    align-content: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.3vh;
    color: #186EA7;
    cursor: pointer;
}

header .logo .logo-image {
    width: 4vh;
    margin-right: 0.7vh;
    padding-left: 1vh;
    height: 4vh;
}

header .logo .logo-text {
    font-size: 2vh;
}

header .navbar .navbar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

header .navbar .navbar-list .navbar-list-element {
    display: inline-block;
    border-bottom: 1px solid transparent;
    height: 100%;
}

header .navbar .navbar-list .navbar-list-element .navbar-list-element-link {
    display: block;
    padding: 2.2vh 1.2vh;
    color: #F2F8FC;
    font-size: 1.7vh;
}

header .navbar .navbar-list .navbar-list-element:hover,
header .navbar .navbar-list .navbar-list-element:focus {
    border-color: #186EA7;
}

header .navbar .navbar-list .navbar-list-element:active {
    border-color: #5BA4D5;
}

header .navbar .navbar-list .navbar-list-element:hover .navbar-list-element-link,
header .navbar .navbar-list .navbar-list-element:focus .navbar-list-element-link {
    color: #186EA7;
}

header .navbar .navbar-list .navbar-list-element:active .navbar-list-element-link {
    color: #5BA4D5;
}

header .navbar .navbar-list .navbar-list-element.language {
    position: relative;
}

header .navbar .language-list {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #050708;
    border: 1px solid rgb(242 248 252 / 10%);
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 1px;
}

header .navbar .language-list-element {
    font-size: 14px;
    padding: 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

header .navbar .language-list-element:hover {
    background-color: rgb(242 248 252 / 10%);
}

header .navbar .language-list-element img {
    width: 16px;
    margin-right: 10px;
}

header .navbar .mobile {
    display: none;
    font-size: 32px
}

/* Main */
main {
    padding: 2vh;
    width: 100%;
    box-sizing: border-box;
}

/* Index */
main.index {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    height: 100%;
}

main.index .cards {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 40px 0;
    border: 1px solid rgb(242 248 252 / 10%);
}

main.index .categories {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: stretch;
}

main.index .categories .category {
    display: block;
    width: 400px;
    height: 400px;
    background-position: center;
    background-size: cover;
    padding: 10px;
    box-sizing: border-box;
}

main.index .categories .category.category-maps {
    background-image: url('../images/maps.png');
}

main.index .categories .line {
    width: 1px;
    border: 0;
    background-color: rgb(242 248 252 / 10%);
    margin: 0;
}

main.index .categories .category .category-label {
    display: inline-block;
    padding: 10px 20px;
    background-color: rgb(242 248 252 / 10%);
    text-shadow: 0 0 2px #050708;
    box-shadow: 0 0 1px 0px #050708;
    border: 1px solid rgb(242 248 252 / 10%);
    font-size: 14px;
}

main.index .documentation {
    display: block;
    width: 800px;
    height: 100px;
    background-image: url('../images/documentation.png');
    background-position: center;
    background-size: cover;
    padding: 10px;
    box-sizing: border-box;
    border-top: 1px solid rgb(242 248 252 / 10%);
}

main.index .documentation .documentation-label {
    display: inline-block;
    padding: 10px 20px;
    background-color: rgb(242 248 252 / 10%);
    text-shadow: 0 0 2px #050708;
    box-shadow: 0 0 1px 0px #050708;
    border: 1px solid rgb(242 248 252 / 10%);
    font-size: 14px;
}

/* Documentation */
main.documentation {
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    height: 100%;
}

main.documentation .resources {
    width: 30vh;
    border-right: 1px solid rgb(242 248 252 / 10%);
    list-style: none;
    margin: 0;
    padding: 0;
}

main.documentation .resources .resource {
    border-bottom: 1px solid rgb(242 248 252 / 10%);
    padding: 20px;
}

main.documentation .resources .resource .resource-name {
    font-size: 16px;
}

main.documentation .resources .resource .resource-name .resource-name-selected {
    font-weight: 600;
}

main.documentation .resources .resource-list {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: 10px;
}

main.documentation .resources .resource-list .resource-list-element .resource-list-element-link {
    font-size: 14px;
    display: block;
    padding: 10px;
    background-color: rgb(242 248 252 / 10%);
}

main.documentation .content {
    width: -webkit-fill-available;
    height: 88vh;
}

main.documentation .content .name {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}

main.documentation .content .description {
    font-size: 14px;
}

/* Browse */
main.browse {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
}

main.browse .products {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    width: 1090px;
}

main.browse .products .product {
    border: 1px solid rgb(242 248 252 / 10%);
    padding: 10px;
    margin: 10px;
    width: 320px;
    height: 180px;
    background-image: url('../images/maps.png');
    background-position: center;
    background-size: cover;
}

main.browse .products .product:last-child {
    margin-bottom: 0;
}

/* Creators */
main.creators {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    height: 100%;
}

main.creators img {
    width: 72px;
    border: 1px solid rgb(242 248 252 / 10%);
    margin: 10px;
}

main.creators .creator {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 10px;
    padding: 10px;
    border: 1px solid rgb(242 248 252 / 10%);
}

main.creators .creator .creator-informations {
    margin-right: 10px;
}

main.creators .creator .creator-informations .creator-name {
    font-size: 24px;
    font-weight: 600;
}

main.creators .creator .creator-informations .creator-categories .creator-category {
    font-size: 10px;
    text-transform: uppercase;
    padding: 2.5px 5px;
    border: 1px solid rgb(242 248 252 / 10%);
    margin-right: 2.5px;
}

main.creators .creator .creator-informations .creator-socials {
    margin-top: 10px;
}

main.creators .creator .creator-informations .creator-socials .icon {
    font-size: 14px;
    margin-right: 5px;
}

/* Creator */
main.creator img {
    width: 128px;
    border: 1px solid rgb(242 248 252 / 10%);
}

/* Admin */
main.admin {
    padding: 0;
}

main.admin .subbar {
    border-bottom: 1px solid rgb(242 248 252 / 10%);
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    padding: 0 15px;
    background-color: #050708;
}

main.admin .subbar .subbar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

main.admin .subbar .subbar-list .subbar-list-element {
    display: inline-block;
    border-bottom: 1px solid transparent;
}

main.admin .subbar .subbar-list .subbar-list-element .subbar-list-element-link {
    display: block;
    padding: 15px 5px;
    font-size: 14px;
    color: #F2F8FC;
}

main.admin .subbar .subbar-list .subbar-list-element:hover,
main.admin .subbar .subbar-list .subbar-list-element:focus {
    border-color: #186EA7;
}

main.admin .subbar .subbar-list .subbar-list-element:active {
    border-color: #5BA4D5;
}

main.admin .subbar .subbar-list .subbar-list-element:hover .subbar-list-element-link,
main.admin .subbar .subbar-list .subbar-list-element:focus .subbar-list-element-link {
    color: #186EA7;
}

main.admin .subbar .subbar-list .subbar-list-element:active .subbar-list-element-link {
    color: #5BA4D5;
}

main.admin .content {
    padding: 20px;
}

main.admin .list {
    border: 1px solid rgb(242 248 252 / 10%);
}

main.admin .list .list-head {
    border-bottom: 1px solid rgb(242 248 252 / 10%);
    font-weight: 600;
}

main.admin .list .list-body {
    font-size: 14px;
}

main.admin .list .list-element {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgb(242 248 252 / 10%);
}

main.admin .list .list-element:last-child {
    border: none;
}

main.admin .list .list-element .list-element-entry {
    padding: 10px;
}

main.admin .list .list-element .list-element-entry.id {
    width: 5%;
}

main.admin .list .list-element .list-element-entry.category {
    width: 10%;
}

main.admin .list .list-element .list-element-entry.name {
    width: 75%;
}

main.admin-documentation .list .list-element .list-element-entry.name {
    width: 80%;
}

main.admin .list .list-element .list-element-entry.action {
    width: 10%;
}

/* Error */
main.error {
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

main.error .icon {
    color: #c72828;
    font-size: 200px;
    margin-bottom: -10px;
}

main.error .label {
    color: #c72828;
    font-size: 40px;
    font-weight: 600;
    margin-bottom: 10px;
}

main.error .status {
    padding: 10px;
    margin-bottom: 16px;
    text-transform: uppercase;
    background-color: rgb(242 248 252 / 10%);
}

main.error .return {
    font-size: 16px;
}

/* Footer */
footer {
    text-align: center;
    border-top: 0.093vh solid rgb(242 248 252 / 10%);
    padding: 1.3vh;
    width: 100%;
    box-sizing: border-box;
    background-color: #050708;
    margin-top: auto;
    position: fixed;
    bottom: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
    z-index: 999999;
}

footer .pageload {
    font-size: 12px;
    margin-bottom: 6px;
    color: #6F797F;
}

h2 {
    padding-top: 9vh;
}

.mid-special-button {
    display: flex;
}

.slider-container {
    position: relative;
    overflow: hidden;
}

.footer-grid {
    display: grid;
    grid-template-columns: 20% 60% 20%;
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 100%;
}

.footer-grid-mid {
    grid-area: 1 / 2 / 2 / 3;
}

.footer-grid-right {
    grid-area: 1 / 3 / 2 / 4;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-right: 5%;
}

.affiliated {
    font-size: 1.3vh;
    opacity: 0.4;
}

footer .copyright {
    font-size: 1.7vh;
    font-weight: 600;
}

.icon--full-color {
    margin-left: 1vh;
    width: 3.8vh;
    height: 2.4vh;
}

.slider-indicators {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    z-index: 2;
    top: 4%;
}

.slider-indicator {
    height: 0.4vh;
    width: 12.1vh;
    background-color: #D9EAF6;
    display: inline-block;
    cursor: pointer;
    opacity: 0.95;
}

.active {
    background-color: #2888C7;
}

.slider-list {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.slider-item {
    min-width: 100%;
    box-sizing: border-box;
    position: relative;
}

.slider-item.active {
    opacity: 1;
}

@media screen and (max-width: 1260px) {
    header .logo .logo-text {
        display: none;
    }

    header .logo .logo-image {
        margin-right: 0.7vh;
        padding-left: 1vh;
    }

    header .navbar {
        position: relative;
        margin-left:1vh
    }

    header .navbar .navbar-list .navbar-list-element .navbar-list-element-link {
        font-size: 0;
    }

    header .navbar .navbar-list .navbar-list-element .navbar-list-element-link .ti {
        font-size: 2.3vh;
    }
}

@media(max-width: 985px) {
    .footer-grid-right {
        display: none;
    }
    
    .footer-grid {
        grid-template-columns: 0% 100% 0%;
    }
}