@import url('https://fonts.googleapis.com/css?family=Nunito+Sans:100,200,300,400,400i,600,700,700i,800');

:root {
    --background: #fff;

    --white: #fff;
    --black: #000;
    --green: #37e397;
    --red: #f46048;
    --blue: #33c8f3;
    --yellow: #FFD800;
    --orange: #F2B63F;
    --gray: #c8c8c8;
    --brown: #7d3d11;
    --light-brown: #a15928;

    --textcolor: #494d55;

    --fontFamily: "Nunito Sans", "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body {
    font-weight: 400;
    background: var(--background);
    color: var(--textcolor);
    font-family: var(--fontFamily);
    font-size: 14px;
    min-width: 320px;
    min-height: 100%;
    position: relative;
    margin: 0;
}

html {
    height: 100%;
}

/**
* Flex container
*/

.flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.flex-container.flex-center-ver {
    -ms-flex-align: center;
    align-items: center;
}

.flex-container.flex-center-hor {
    -ms-flex-pack: center;
    justify-content: center;
}

.flex-direction {
    flex-direction: column;
}

/**
* Web loading
*/

.loading-container {
    background: var(--background);
}

.loading-container .loading-content {
    width: 330px;
    height: 35px;
    margin: auto;
}

.loading-container, .loading-container .loading-content {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 650;
}

.loading-container .loading-content .loading-logo {
    border: 5px solid var(--gray);
    border-top: 5px solid var(--textcolor);
    border-radius: 50%;
    width: 45px;
    height: 45px;
    margin: 0 auto;
    animation: loading-circle 0.8s linear infinite;
}

@keyframes loading-circle {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/**
* Page loading
*/

.page-loading {
    background-color: rgba(255, 255, 255, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1999;
    display: none;
}

/**
* Notifications
*/

.notifications-container {
    position: fixed;
    top: 40px;
    right: 40px;
    z-index: 1050;
}

.notifications-container .notification-container {
    -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    background-color: var(--white);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding: 15px 15px 15px 45px;
    position: relative;
    margin-bottom: 15px;
    width: 240px;
}

.notifications-container .notification-container:before {
    -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    background-image: url(/assets/images/notifications/icons.png);
    background-color: var(--black);
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    border-radius: 25px;
    width: 50px;
    height: 50px;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: -25px;
    bottom: 0;
    margin: auto 0;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: pixelated;
}

.notifications-container .notification-container[data-type = "success"]:before {
    background-color: var(--green);
    background-position: 0 0;
}

.notifications-container .notification-container[data-type = "error"]:before {
    background-color: var(--red);
    background-position: -50px 0;
}

.notifications-container .notification-container[data-type = "info"]:before {
    background-color: var(--blue);
    background-position: -100px 0;
}

.notifications-container .notification-container[data-type = "debug"]:before {
    background-color: var(--orange);
    background-position: -145px 0;
}

.notifications-container .notification-container .notification-close {
    display: block;
    position: absolute;
    top: 7px;
    right: 7px;
    font-size: 25px;
    font-weight: 300;
    color: var(--gray);
    text-decoration: none;
    width: 38px;
    text-align: center;
}

.notifications-container .notification-container .notification-close:before {
    content: "×";
}

.notifications-container .notification-container .notification-title {
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.notifications-container .notification-container[data-type = "success"] .notification-title {
    color: var(--green);
}

.notifications-container .notification-container[data-type = "error"] .notification-title {
    color: var(--red);
}

.notifications-container .notification-container[data-type = "info"] .notification-title {
    color: var(--blue);
}

.notifications-container .notification-container[data-type = "debug"] .notification-title {
    color: var(--orange);
}

.notifications-container .notification-container[data-type = "debug"] .notification-content {
    word-break: break-all;
}

.notifications-container .notification-container .notification-content {
    font-size: 12px;
    word-break: break-word;
}

/**
* Header container
*/

header {
    position: relative;
}

header.top {
    padding: 10px 0px;
}

header.top.mobile {
    display: none;
}

header.top .text {
    margin: 0 auto 0 100px;
    font-size: 18px;
    font-weight: 900;
    color: var(--brown);
}

header.top.mobile .text {
    margin: 0 auto;
    text-align: center;
}

header.top .text .small {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    color: var(--light-brown);
}

header.top img {
    height: 70px;
}

header.top a:not(:last-child) {
    margin-right: 10px;
}

header.top.mobile div.col-xl-12:not(:last-child) {
    margin-bottom: 15px;
}

header.middle {
    padding: 12px;
    text-align: center;
    background-color: var(--brown);
}

header.middle .text {
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--white);
}

header.bottom {
    background: url('/assets/images/header/header.png') no-repeat center 80%;
    background-size: cover;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .1);
}

header.bottom::before {
    background-color: rgba(38, 40, 44, 0.6);
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

header.bottom .text {
    padding: 70px 0px;
    font-size: 40px;
    font-weight: 900;
    text-align: center;
    color: var(--white);
}

/**
* Footer container
*/

footer .top {
    background: var(--light-brown);
    color: var(--white);
    padding: 20px 0;
}

footer .bottom {
    background: var(--brown);
    color: var(--white);
    font-size: 14px;
    font-weight: 700;
    padding: 22px 0;
}

footer .bottom .right {
    text-align: right;
}

/**
* Section container
*/

section {
    margin-top: 40px;
    margin-bottom: 40px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

/**
* Categories container
*/

.categories .header {
    color: var(--brown);
    font-size: 40px;
    font-weight: 400;
    text-align: center;
}

.categories .navigator {
    margin-top: 40px;
    margin-bottom: 40px;
}

.categories .navigator.mobile {
    display: none;
}

.categories .navigator button {
    padding: 8px 24px;
}

.categories .navigator button:not(:last-child) {
    margin-right: 30px;
}

.categories .navigator.mobile button:not(:last-child) {
    margin-right: 0px;
}

.categories .category {
    display: none;
}

.categories .category.active {
    display: block;
}

.categories .category .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .5s ease;
    background-color: color-mix(in srgb, var(--light-brown), transparent 40%);
    cursor: pointer;
}

.categories .category .overlay:hover {
    opacity: 1;
}

.categories .category .text {
    color: white;
    font-size: 26px;
    font-weight: 600;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}

.categories .category .text .small {
    font-size: 14px;
}

/**
* Grid
*/

.grid-row {
    display: flex;
    flex-wrap: wrap;
}

.grid-column {
    flex: 50%;
    max-width: 50%;
    padding: 0 6px;
}

.grid-column .image {
    position: relative;
    height: 400px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, .1);
}

.grid-column .image:not(:last-child) {
    margin-bottom: 12px;
}

/**
* Button
*/

.button {
    font-weight: bold;
    font-size: 14px;
    color: var(--white);
    padding: 8px 12px;
    border-radius: 3px;
    border-bottom: 3px solid rgba(0, 0, 0, 0.2);
    text-align: center;
    width: fit-content;
    z-index: 3;
    position: relative;
}

.button:hover, .container .button.dropdown-toggle:focus {
    margin-top: 3px !important;
    border-bottom: none;
}

.button.brown {
    background-color: var(--brown);
}

.button.brown.active {
    background-color: var(--light-brown);
}

/**
* Dropdown
*/

.dropdown-menu {
    border-radius: 4px;
    font-size: 14px;
    min-width: 100%;
    z-index: 2;
    border: 0px;
    border-bottom: 3px solid rgba(0, 0, 0, 0.2);
    background-clip: inherit;
}

.dropdown-menu.brown {
    background-color: var(--brown);
}

.dropdown-menu.brown .dropdown-item.active {
    background-color: var(--light-brown);
}

.dropdown-menu .dropdown-item {
    color: var(--white);
    font-weight: 700;
}

.dropdown-menu .dropdown-item:hover {
    background-color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
}
