/* reset css */
body {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

/* root css */
@font-face {
    font-family: Quicksand;
    src: url("/resources/fonts/Quicksand.ttf");
    font-display: swap;
}

* {
    font-family: Quicksand, sans-serif;
}


/* nav css */
nav, .nav {
    color: #ffffff;
    padding: 10px 5%;
    font-size: 18px;
    display: flex;
    align-items: center;
}

nav {
    background-color: #000000;
}

.nav {
    background-color: #141414;
}

nav ul, nav li, .nav ul, .nav li {
    display: inline;
    list-style: none;
    padding: 0;
}

nav ul li:not(:last-child, .search *), .nav ul li {
    padding-right: 60px;
}

.logo {
    padding-right: 100px;
}

nav a, .nav a {
    color: inherit;
}

.sidemenu-icon {
    display: none;
}

.sidemenu {
    display: none;
}

.logout-form {
    all: unset;
}

.logout {
    all: unset !important;
    cursor: pointer !important;
}


/* search css*/
.search {
    margin-left: auto;
}

.searchForm {
    background-color: #FFFFFF;
    border: 3px solid #626262;
    padding: 0 5px;
    border-radius: 5px;
    
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

/* Remove the annoying webkit X button on search bars */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

.searchForm label, .searchForm button {
    display: flex;
    justify-content: center;
    align-items: center;
}

.searchForm label * {
    display: block;
}

.searchForm input {
    outline: none;
    border: none;
    appearance: none;
    background: transparent;
    height: 100%;
    padding: 8px 3px;
}

.searchForm button {
    appearance: none;
    background: transparent;
    border: none;
    padding: 0;
    
    cursor: pointer;
}

.searchForm svg {
    color: #000000;
    stroke-width: 1.6;
}

.loading-icon {
    display: none;
}

.loading-icon.loading {
    display: block;
}

.search-label.loading {
    display: none;
}

.search {
    position: relative;
    display: inline-block;
}

.search-result {
    display: block;
    
    position: absolute;
    width: 100%;
    background-color: #FFFFFF;
    color: #000000;
    border-radius: 3px;
    
    margin: 0;
}

.search-result h4 {
    margin: 4px 0 4px 5px;
    color: #969696;
    font-size: 0.9em;
}

.search-result h4.no-results {
    text-align: center;
    margin: 10px 0;
}

.search-result li {
    display: block;
    margin: 1px 0 1px 10px;
}

.search-result li:last-child {
    margin-bottom: 8px;
}

/* footer css */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.main {
    flex-grow: 1;
}

footer {
    background-color: #000000;
    color: #ffffff;
    margin-top: 50px;
    padding: 20px 5%;
    text-align: center;
    font-size: 20px;
}


/* small screens css */
@media screen and (max-width: 1000px) {
    /* hide main menu css */
    nav ul {
        display: none;
    }
    
    .logo {
        padding: 0;
        overflow-wrap: break-word;
    }
    
    .main-search {
        display: none;
    }
    
    /* shows small menu css*/
    .sidemenu-icon {
        display: inline-block;
        cursor: pointer;
    }
    
    .bar1, .bar2, .bar3 {
        width: 35px;
        height: 5px;
        background-color: #ffffff;
        margin: 6px 0;
        transition: 0.4s;
    }
    
    .open .bar1 {
        transform: rotate(-45deg) translate(-9px, 6px);
    }
    
    .open .bar2 {
        opacity: 0;
    }
    
    .open .bar3 {
        transform: rotate(45deg) translate(-8px, -8px);
    }
    
    nav {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    
    /* popup menu on side */
    .sidemenu {
        display: none;
        position: fixed;
        height: 100vh;
        width: min(500px, 80vw);
        top: 0;
        z-index: 1;
        
        text-align: center;
        color: #ffffff;
        background: #3b3a3a;
    }
    
    .sidemenu ul, .sidemenu li {
        padding: inherit;
        margin: 20px 0;
        list-style: none;
    }
    
    .sidemenu a {
        color: inherit;
    }
    
    .sidemenu h3 {
        font-size: 30px;
        font-weight: 550;
    }
    
    .sidemenu.open {
        display: block;
    }
    
    /* Show search results correctly */
    .search-result, .search-result ul {
        margin: 0 !important;
    }
    
    .search.mobile-search form * {
        box-sizing: border-box;
        max-width: 100%;
        
        min-width: 0;
        min-height: 0;
        overflow: hidden;
    }
    
    .search.mobile-search .search-result h4 {
        font-size: 20px;
        margin-right: 5px;
    }
    
    /* Show admin menu correctly */
    .nav {
        padding: 20px 0;
    }
    
    .nav ul li {
        padding: 0;
    }
    
    .nav ul {
        display: flex;
        justify-content: space-evenly;
        flex-grow: 1;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 480px) {
    .button-container button:not(:last-child) {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 250px) {
    * {
        overflow-wrap: break-word;
        word-break: break-all;
        box-sizing: border-box;
        max-width: 100vw;
    }
}


/* util css */
input:not([hidden], [type=hidden], [type=search]), textarea:not([hidden]), select:not([hidden]) {
    margin: 3px 0 30px auto;
    border-radius: 4px;
    padding: 3px;
}

input:not([hidden], [type=hidden], [type=search], [type=checkbox], [type=radio]), textarea:not([hidden]), select:not([hidden]) {
    display: block;
}

input.invalid:not([hidden], [type=hidden], [type=search]), textarea:not([hidden]) {
    margin-bottom: 3px;
}

label:not(.inline, nav *, .sidemenu *) {
    margin-top: 20px;
    display: block;
}

label.normall {
    margin-top: 0;
}

label.input-error:not(:last-child) {
    margin-top: 0;
    margin-bottom: 20px;
}

.popups .popup form .button-container {
    margin-bottom: 20px;
    margin-top: 10px;
}


button:not(nav button, .normall), .button {
    padding: 10px 24px;
    font-size: 13px;
    font-weight: bolder;
    border-radius: 20px;
    color: #ffffff;
    border: none;
    background-color: #878787;
}

button:not(nav button, .normall):hover, .button:hover {
    background-color: #414141;
}

.cancel, .submit-dangerous {
    background-color: #ff0000 !important;
}

.cancel:hover, .submit-dangerous:hover {
    background-color: #9d0000 !important;
}

.submit, .cancel-dangerous {
    background-color: #00a6fd !important;
}

.submit:hover, .cancel-dangerous:hover {
    background-color: #006da6 !important;
}

.fake-url {
    cursor: pointer;
    color: #0000ff;
    color: -webkit-link;
}

.error {
    color: #ff0000;
    font-size: 15px;
}

.success {
    color: #37ff37;
    font-size: 15px;
}

.unsupported {
    display: none;
}

.input-error {
    color: #ff0000;
    display: block;
}

input.invalid, textarea.invalid {
    border: none;
    outline: solid 1px #ff0000;
    margin-bottom: 3px;
}
