/*
███████████████████████████████████████████
████████████     @IMPORTS      ████████████
███████████████████████████████████████████
/*░░░░░░░░░░     RESET CSS     ░░░░░░░░░░░*/
@import url(./reset.css);

/*░░░░░░░░░░    LOCAL FONTS    ░░░░░░░░░░░*/
/* @import url(./fonts.css); */

/*░░░░░░░░░░    GOOGLE FONTS   ░░░░░░░░░░░*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;500;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rowdies:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rock+Salt&family=Rowdies:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap');

/*
███████████████████████████████████████████
████████████     VARIABLES     ████████████
███████████████████████████████████████████
*/
:root {
    --title-font: 'Montserrat';
    --body-font: 'Roboto';
    --special-font: ;

    --primary-color: #ad0000;
    --primary-darken-color: #6f0000;

    --second-color: #005cad;
    --second-darken-color: #003d73;

    --light-color: #ffffff;
    --dark-color: #000000;

    --light-grey: #dfdfdf;
    --dark-grey: #666666;

    --shadow-color: rgba(0,0,0,.2);
    --overlay-color: rgba(0,0,0,.6);
    
    --main-wrapper: 1400px;
    --gap-width: 1rem;

    --transition: all .3s ease-in-out;

    --loader-layer: 99999;
    --modal-layer: 9999;
    --menu-layer: 999;
    --deco-layer: 99;
    --text-layer: 9;
    --base-layer: 1;
    --bg-layer: -1;
}

/*
██████████████████████████████████████████
██████████   GENERAL CONTROLS   ██████████
██████████████████████████████████████████
*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    width: 100%;
    height: 100vh;
    background-color: var(--light-color);
    font-family: var(--title-font), sans-serif;

    position: relative;
    z-index: var(--base-layer);
}

/*
██████████████████████████████████████████
███████████     HELPPERS      ████████████
██████████████████████████████████████████
*/
.main-wrapper {
    width: 100%;
    max-width: var(--main-wrapper);
    margin: 0 auto;
    padding: 0 1em;
}

.hide {
    display: none !important;
}

.show {
    display: block !important;
}

.no-desktop {
    display: none !important;
}

.no-mobile {
    display: block !important;
}

.highlight {
    color: var(--primary-color);
}

/*
██████████████████████████████████████████
███████████       LAYOUT      ████████████
██████████████████████████████████████████
*/
main {
    padding: 4rem 0;
}

main#error-page,
main#demo-page,
main#hero-page {
    padding: 0;
}

main .wrapper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
}

main .wrapper .aside {
    flex: 0 0 calc(30% - var(--gap-width));
    margin-left: var(--gap-width);
}

main .wrapper .content {
    flex: 0 0 calc(70% - var(--gap-width));
    margin-right: var(--gap-width);
}

/*
██████████████████████████████████████████
███████████      LOADING      ████████████
██████████████████████████████████████████
*/
#loading {
    display: none;
    width: 100vw;
    height: 100vh;
    background-color: var(--light-grey);

    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--loader-layer);
}

#loading.active {
    display: block;
}

#loading .wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#loading .wrapper .gif {
    max-width: 50px;
}

#loading .wrapper .text {
    font-size: .8rem;
    font-weight: bold;
    text-align: center;
    color: var(--dark-color);
}

/*
██████████████████████████████████████████
███████████       ASIDE       ████████████
██████████████████████████████████████████
*/
.aside {
    background-color: var(--light-grey);
    padding: 2rem 1rem;

    position: sticky;
    top: 2rem;
    right: 0;
}

.aside .title {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 2rem;
    padding-left: 1.5rem;

    position: relative;
}

.aside .title::after {
    content: '';
    width: 1rem;
    height: 100%;
    background-color: var(--primary-color);

    position: absolute;
    top: 0;
    left: 0;
}

.aside .post-list {
    width: 100%;
    flex-direction: column;
}

.aside .post-list .post {
    width: calc(100%);
    margin: 0rem;
    margin-bottom: 1rem;
}

.aside .post-list .post:last-child {
    margin-bottom: 0;
}

.aside .post-list .post:hover {
    transform: none;
    box-shadow: none;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
}

.aside .post-list .post .body .captions .title {
    font-size: 1.2rem;
    padding-left: 0;
}

.aside .post-list .post .body .captions .title::after {
    display: none;
}

.aside .post-list .post .body .captions .excerpt {
    font-size: .8rem;
}

.aside .category-list .category {
    margin-bottom: 1rem;
}

.aside .category-list .category:last-child {
    margin-bottom: 0;
}

.aside .category-list .category .link i {
    color: var(--primary-color);
    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

.aside .category-list .category:hover .link i {
    margin-right: .3rem;
}

/*
██████████████████████████████████████████
███████████       POPUP       ████████████
██████████████████████████████████████████
*/
.popup {
    width: 100%;
    height: 100%;
    background-color: var(--overlay-color);
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--modal-layer);
    
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

.popup.active {
    opacity: 1;
    visibility: visible;
}

.popup .wrapper {
    width: 100%;
    max-width: 720px;
    padding: 1rem;
    margin: 1rem;
    background-color: var(--light-color);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 20px var(--shadow-color);

    position: relative;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.modal-box .wrapper .header {
    width: 100%;
    text-align: right;

    position: absolute;
    top: 1rem;
    right: 1rem;
}

.popup .wrapper .header .btn {
    font-size: 1.5rem;
    line-height: 1;
    padding: .5rem .8rem;
    background-color: var(--primary-color);
    color: var(--light-color);
    cursor: pointer;
}

.popup .wrapper .body {
    margin-bottom: 1rem;
}

.popup .wrapper .body h2 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.2;
    color: var(--dark-color);
    margin-bottom: .5rem;
    margin-top: 1rem;
}

.popup .wrapper .body p {
    font-size: .8rem;
    line-height: 1.2;
    color: var(--dark-grey);
    margin-bottom: .5rem;
}

.modal-box .wrapper .body p:last-of-type {
    margin-bottom: 0;
}

.popup .wrapper .footer {
    width: 100%;
    text-align: center;
}

.popup .wrapper .footer .cta {
    display: inline-block;
    min-width: 250px;
    padding: .5rem 2rem;
    text-align: center;
    background-color: var(--primary-color);
    color: var(--light-color);
}


/*
██████████████████████████████████████████
███████████    HERO SCROLL    ████████████
██████████████████████████████████████████
*/
.hero-scroll {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    overflow: hidden;

    position: relative;
    z-index: var(--base-layer);
}

.hero-scroll .img {
    width: 100%;
    max-width: 300px;
    position: absolute;
    top: 25%;
    left: 50%;
    z-index: var(--deco-layer);
    transform: translate3D(-50%, -50%, 0);
    -webkit-transform: translate3D(-50%, -50%, 0);
    -moz-transform: translate3D(-50%, -50%, 0);
    -ms-transform: translate3D(-50%, -50%, 0);
    -o-transform: translate3D(-50%, -50%, 0);
}

.hero-scroll .sidebox {
    width: 50%;
    height: 100%;
    background: var(--dark-color);
    overflow: hidden;

    position: relative;
    z-index: var(--base-layer);
}

.hero-scroll .sidebox.left {
    background: var(--light-color);
}

.hero-scroll .sidebox .text {
    font-family: var(--body-font);
    font-size: 10rem;
    line-height: 100vh;
    font-weight: bolder;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--light-color);
    position: absolute;
   
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

.hero-scroll .sidebox .text.outline-text {
    left: 100%;
    color: var(--dark-color);

    /* -webkit-text-stroke: 2px;
    -webkit-text-stroke-color: var(--dark-color);
    -webkit-text-fill-color: transparent; */
}

/*
██████████████████████████████████████████
███████████      MODAL BOX    ████████████
██████████████████████████████████████████
*/
.modal-box {
    width: 100%;
    height: 100%;
    background-color: var(--overlay-color);
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--modal-layer);
    
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

.modal-box.active {
    opacity: 1;
    visibility: visible;
}

.modal-box .wrapper {
    width: 100%;
    max-width: 720px;
    padding: 1rem;
    margin: 1rem;
    background-color: var(--light-color);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 20px var(--shadow-color);

    position: relative;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.modal-box .wrapper .header {
    width: 100%;
    text-align: right;

    position: absolute;
    top: 1rem;
    right: 1rem;
}

.modal-box .wrapper .header .btn {
    font-size: 1.5rem;
    line-height: 1;
    padding: .5rem .8rem;
    background-color: var(--primary-color);
    color: var(--light-color);
    cursor: pointer;
}

.modal-box .wrapper .body {
    margin-bottom: 1rem;
}

.modal-box .wrapper .body h2 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.2;
    color: var(--dark-color);
    margin-bottom: .5rem;
    margin-top: 1rem;
}

.modal-box .wrapper .body p {
    font-size: .8rem;
    line-height: 1.2;
    color: var(--dark-grey);
    margin-bottom: .5rem;
}

.modal-box .wrapper .body p:last-of-type {
    margin-bottom: 0;
}

.modal-box .wrapper .footer {
    width: 100%;
    text-align: center;
}

.modal-box .wrapper .footer .cta {
    display: inline-block;
    min-width: 250px;
    padding: .5rem 2rem;
    text-align: center;
    background-color: var(--primary-color);
    color: var(--light-color);
}


/*
██████████████████████████████████████████
███████████     TOP BUTTON    ████████████
██████████████████████████████████████████
*/
#top-button {
    width: 50px;
    height: 50px;
    background-color: var(--dark-color);
    border: 1px solid var(--light-color);
    border-radius: 50%;
    transform: scale(0);
    transition: var(--transition);

    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: var(--menu-layer);

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#top-button.active {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

#top-button .link {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1rem;
}

#top-button .link .icon {
    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

#top-button .link:hover .icon {
    transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
}

/*
██████████████████████████████████████████
███████████     WSP BUTTON    ████████████
██████████████████████████████████████████
*/
#wsp-button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: scale(0);
    transition: var(--transition);

    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: var(--menu-layer);

    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#wsp-button.active {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

#wsp-button .link {
    display: block;
    width: 100%;
    height: 100%;
}

#wsp-button .link .icon {
    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

#wsp-button .link:hover .icon {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

/*
██████████████████████████████████████████
██████████ TOAST NOTIFICATION ████████████
██████████████████████████████████████████
*/
#toast-notification {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: var(--menu-layer);
}

#toast-notification .notification {
    max-width: 350px;
    padding: 1rem;
    margin: 1rem;
    background-color: var(--light-grey);
    border: 1px solid var(--dark-color);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-radius: 10px;

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

#toast-notification .notification .icon {
    flex: 0 0 1.5rem;
    margin-right: .5rem;
}

#toast-notification .notification .icon svg {
    width: 100%;
    fill: var(--primary-color);
}

#toast-notification .notification .info {
    flex: 0 0 100%;
}

/*
██████████████████████████████████████████
███████████     ERROR 404     ████████████
██████████████████████████████████████████
*/
#error-404 {
    width: 100%;
    height: 100vh;
    min-height: 100%;

    position: relative;
    z-index: var(--base-layer);
}

#error-404::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--dark-color);

    position: absolute;
    top: 0;
    left: 0;
    
    z-index: var(--bg-layer);
}

#error-404 .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;

    position: absolute;
    top: 0;
    left: 0;

    z-index: var(--bg-layer);
}

#error-404 .wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}

#error-404 .wrapper .img {
    max-width: 500px;
    margin-bottom: 1rem;
}

#error-404 .wrapper .title {
    font-size: 5rem;
    color: var(--light-color);
    text-transform: uppercase;
    margin-bottom: 1rem;
}

#error-404 .wrapper .extract {
    max-width: 720px;
    margin: 0 auto;
    margin-bottom: 2rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--light-color);
}

#error-404 .wrapper .links {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

#error-404 .wrapper .links .btn {
    min-width: 150px;
    padding: .5rem 1.5rem;
    border: 2px solid var(--light-color);
    color: var(--light-color);
    font-weight: bold;
    margin: 0 .5rem;

    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#error-404 .wrapper .links .btn:hover {
    background-color: var(--light-color);
    color: var(--dark-color);
}

#error-404 .wrapper .rrss {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 6rem;
}

#error-404 .wrapper .rrss .cta {
    width: 100%;
    margin-bottom: 1rem;
    font-size: 1rem;
    color: var(--light-color);
    font-weight: bold;
}

#error-404 .wrapper .rrss .link {
    max-width: 2rem;
    margin: 0 .5rem;
    transition: var(--transition);
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#error-404 .wrapper .rrss .link:hover {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

#error-404 .wrapper .rrss .link .icon {
    width: 100%;
    fill: var(--primary-color);
}

/*
██████████████████████████████████████████
███████████      HEADER       ████████████
██████████████████████████████████████████
*/
/*░░░░░░░░░░░   NAVBAR   ░░░░░░░░░░░*/
#header {
    width: 100%;
    padding: .5rem 0;
    background-color: var(--primary-color);

    position: relative;
    z-index: var(--menu-layer);
}

#header .wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

#header .wrapper .brand {
    flex: 0 0 150px;
    align-self: stretch;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

#header .wrapper .brand .logo {
    max-height: 50px;
    font-size: 1.2rem;
    color: var(--light-color);
    font-weight: bold;
    text-transform: uppercase;
}

#header .wrapper .navbar {
    flex: 0 0 50%;
    align-self: stretch;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

#header .wrapper .navbar .list {
    width: 100%;
    align-self: stretch;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    list-style: none;
}

#header .wrapper .navbar .list .item {
    position: relative;
    margin-left: 2rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100%;
}

#header .wrapper .navbar .list .item:first-child {
    margin-left: 0;
}

#header .wrapper .navbar .list .item .link {
    font-size: .8rem;
    color: var(--light-grey);
    text-decoration: none;
}

#header .wrapper .navbar .list .item .sublist {
    display: none;
    min-width: 200px;
    border-top: .5rem solid var(--primary-color);
    border-bottom: 4px solid var(--primary-color);
    background-color: var(--light-grey);
    list-style: none;
    position: absolute;
    top: 100%;
    left: 0;
}

#header .wrapper .navbar .list .item:hover .sublist {
    display: block;
}

#header .wrapper .navbar .list .item:last-child:hover .sublist {
    left: auto;
    right: 0;
}

#header .wrapper .navbar .list .item .sublist .item {
    padding: 1rem;
    border-bottom: 1px solid var(--primary-color);
    margin-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

#header .wrapper .navbar .list .item .sublist .item:last-child {
    border-bottom: none;
}

#header .wrapper .navbar .list .item .sublist .item .link {
    display: block;
    color: var(--primary-color);
    font-weight: bold;
}

#header .wrapper .navbar .switch {
    flex: 0 0 2rem;
    display: none;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

#header .wrapper .navbar .switch .btn {
    display: none;
    font-size: 2rem;
    line-height: 1;
    color: var(--light-grey);
    background-color: transparent;
    border: none;
    cursor: pointer;
}

#header .wrapper .navbar .switch .btn.active {
    display: block;
}

/*
██████████████████████████████████████████
███████████    HERO SLIDER    ████████████
██████████████████████████████████████████
*/
#hero-slider {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#hero-slider .slider {
    width: 100%;
    height: 100%;

    position: relative;
    z-index: -1;
}

#hero-slider .slider::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--primary-color);
    mix-blend-mode: color;
    opacity: .5;

    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#hero-slider .slider .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: grayscale(100);
    -webkit-filter: grayscale(100);
}

#hero-slider .slider .captions {
    width: 500px;
    height: auto;
    padding: 2rem;
    background-color: var(--overlay-color);
    color: var(--light-color);

    position: absolute;
    top: 10%;
    left: 10%;
    z-index: 2;
}

#hero-slider .slider .captions::after {
    content: '';
    width: 25%;
    height: 4px;
    background-color: var(--primary-color);
    color: var(--light-color);
    position: absolute;
    top: -2px;
    left: 2rem;
    z-index: 2;

    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#hero-slider .slider .captions:hover::after {
    width: calc(100% - 4rem);
}

#hero-slider .slider .captions .byline {
    font-size: .8rem;
    line-height: 1;
    font-weight: lighter;
    text-transform: uppercase;
    margin-bottom: .3rem;
}

#hero-slider .slider .captions .title {
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 1rem;
}

#hero-slider .slider .captions .exerpt {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: lighter;
}

#hero-slider .slider .captions .btn {
    display: inline-block;
    font-size: .8rem;
    line-height: 1;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: var(--dark-color);
    background-color: var(--light-color);
    padding: .5rem 2rem;
    margin-top: 1rem;
}

/*
██████████████████████████████████████████
███████████     TOP HEADER    ████████████
██████████████████████████████████████████
*/
#top-header {
    width: 100%;
    height: 250px;
    background-color: var(--primary-color);

    position: relative;
    z-index: var(--base-layer);
}

#top-header::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--primary-color);
    mix-blend-mode: color;
    opacity: .5;

    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--bg-layer);
}

#top-header .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: grayscale(100);
    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--bg-layer);
    -webkit-filter: grayscale(100);
}

#top-header .wrapper {
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

#top-header .wrapper .title {
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--light-color);
    padding-left: 1.5rem;

    position: relative;
    z-index: var(--base-layer);
}

#top-header .wrapper .title::after {
    content: '';
    width: 1rem;
    height: 100%;
    background-color: var(--primary-color);

    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--bg-layer);
}

/*
██████████████████████████████████████████
███████████  TOP HEADER BLOG  ████████████
██████████████████████████████████████████
*/
#top-header-blog {
    width: 100%;
    height: 250px;
    background-color: var(--dark-color);

    position: relative;
    z-index: var(--base-layer);
}

#top-header-blog::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--dark-color);
    mix-blend-mode: color;

    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--bg-layer);
}

#top-header-blog .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;

    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--bg-layer);
}

#top-header-blog .wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

#top-header-blog .wrapper .byline {
    font-size: .8rem;
    line-height: 1;
    font-weight: normal;
    text-transform: uppercase;
    color: var(--light-color);
    background-color: var(--primary-color);
    padding: .3rem 1rem;

    position: relative;
    z-index: var(--base-layer);
}

#top-header-blog .wrapper .title {
    font-size: 4rem;
    line-height: 1;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--light-color);

    position: relative;
    z-index: var(--base-layer);
}

/*
██████████████████████████████████████████
███████████ TOP HEADER SINGLE ████████████
██████████████████████████████████████████
*/
#top-header-single {
    width: 100%;
}

#top-header-single .banner {
    width: 100%;
    height: 200px;
    overflow: hidden;
    margin-bottom: 2rem;

    position: relative;
}

#top-header-single .banner::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--primary-color);
    mix-blend-mode: color;
    opacity: .5;

    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--base-layer);
}

#top-header-single .banner .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#top-header-single .info {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 2rem;
    border-top: 1px solid var(--light-grey);
    border-bottom: 1px solid var(--light-grey);
}

#top-header-single .info .column {
    align-self: stretch;
    padding: .5rem 0;
    flex: 1 0 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

#top-header-single .info .column.breadcrumbs {
    flex: 0 0 60%;
    justify-content: flex-start;
    background-color: var(--light-grey);
    padding-left: 1rem;
    padding-right: 1rem;

}

#top-header-single .info .column.author {
    border-right: 1px solid var(--light-grey);
    border-left: 1px solid var(--light-grey);
}

#top-header-single .info .column.date {
    border-right: 1px solid var(--light-grey);
}

#top-header-single .info .column .text {
    font-size: .8rem;
    color: var(--dark-color);
}

#top-header-single .title {
    font-size: 3rem;
    line-height: 1;
    font-weight: bolder;
    color: var(--dark-color);
    margin-bottom: 2rem;
}

/*
██████████████████████████████████████████
███████████    BREADCRUMBS    ████████████
██████████████████████████████████████████
*/
#breadcrumbs {
    width: 100%;
    font-size: .8rem;
    color: var(--dark-color);
}

#breadcrumbs .bold {
    font-weight: bold;
}

/*
██████████████████████████████████████████
███████████     POST-LIST     ████████████
██████████████████████████████████████████
*/
.post-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
}

.post-list .post {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    align-self: stretch;
    width: calc(50% - 1rem);
    margin: 0 .5rem;
    margin-bottom: 1rem;
    background-color: var(--light-color);
    border: 1px solid var(--light-grey);
    transform: scale(1);
    transition: var(--transition);
    box-shadow: 0 0 0 rgba(0,0,0,0);

    position: relative;

    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

.post-list .post:hover {
    transform: scale(1.01);
    box-shadow: 0 0 5px var(--shadow-color);
    -webkit-transform: scale(1.01);
    -moz-transform: scale(1.01);
    -ms-transform: scale(1.01);
    -o-transform: scale(1.01);
}

.post-list .post .header {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;

    position: absolute;
    top: 0;
    left: 0;
}

.post-list .post .header .category {
    display: inline-block;
    padding: .5rem 1rem;
    margin-right: .5rem;
    background-color: var(--primary-color);
}

.post-list .post .header .category .text {
    font-size: .8rem;
    line-height: 1;
    font-weight: normal;
    text-transform: uppercase;
    color: var(--light-color);
}

.post-list .post .body {
    width: 100%;
    height: 100%;
}

.post-list .post .body .thumbnail {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.post-list .post .body .thumbnail .img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.post-list .post .body .captions {
    width: 100%;
    height: 100%;
    padding: 1rem;
}

.post-list .post .body .captions .title {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 1rem;
    color: var(--dark-color);
}

.post-list .post .body .captions .excerpt {
    font-size: 1rem;
    line-height: 1.2;
    font-weight: normal;
    color: var(--dark-grey);
    margin-bottom: 1rem;
}

.post-list .post .body .captions .link {
    display: inline-block;
    font-size: .8rem;
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--primary-color);
    padding: .5rem 0;
}

.post-list .post .body .captions .link i {
    transform: translateX(0);
    transition: var(--transition);
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

.post-list .post .body .captions .link:hover i {
    transform: translateX(5px);
    -webkit-transform: translateX(5px);
    -moz-transform: translateX(5px);
    -ms-transform: translateX(5px);
    -o-transform: translateX(5px);
}

.post-list .post .footer {
    width: 100%;
    margin-top: 1rem;
    padding: 0 1rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--light-grey);
}

.post-list .post .footer .date,
.post-list .post .footer .author {
    flex: 1 0 0;
    text-align: center;
    font-size: .8rem;
    line-height: 1;
    padding: .5rem 0;
    font-weight: normal;
    color: var(--dark-grey);
    text-transform: capitalize;
}

.post-list .post .footer .date {
    border-right: 1px solid var(--light-grey);
}

.post-list .post .footer .date i,
.post-list .post .footer .author i {
    font-size: 1rem;
    line-height: 1;
    margin-right: .3rem;
}


/*
██████████████████████████████████████████
████████ SINGLE CONTENT WRAPPER ██████████
██████████████████████████████████████████
*/
#single-content-wrapper p {
    line-height: 1.5;
    margin-bottom: 2rem;
    color: var(--dark-grey);
}

#single-content-wrapper img {
    margin-bottom: 2rem;
}

#single-content-wrapper h2 {
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    color: var(--dark-color);
    margin-bottom: 1rem;
}

#single-content-wrapper strong {
    font-weight: bold;
}

#single-content-wrapper em {
    font-style: italic;
}

#single-content-wrapper a {
    text-decoration: underline;
    color: var(--primary-color);
    cursor: pointer;
}

#single-content-wrapper ul {
    list-style: none;
    margin-left: 1rem;
}

#single-content-wrapper ul li {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--dark-grey);
}

#single-content-wrapper ul li::before {
    content: "\2022";
    font-size: 1.2rem;
    line-height: 1.2;
    color: var(--primary-color);
    font-weight: bold;
    display: inline-block; 
    width: 1.2rem;
    margin-left: -1rem;
  }


/*
██████████████████████████████████████████
███████████      FOOTER       ████████████
██████████████████████████████████████████
*/

/*░░░░░░░░░░░   FOOTER   ░░░░░░░░░░░*/
#footer {
    width: 100%;
    background-color: var(--dark-color);
    padding: 5rem 0;
}

#footer .wrapper {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

#footer .wrapper .column {
    flex: 1 0 0;
    margin: 0 .5rem;
    align-self: stretch;
}

#footer .wrapper .column.company {
    flex: 1.3 0 0;
}

#footer .wrapper .column .brand {
    max-width: 150px;
    margin-bottom: 1.5rem;
}

#footer .wrapper .column .brand .logo {
    max-height: 30px;
    font-size: 1.2rem;
    color: var(--light-color);
    font-weight: bold;
    text-transform: uppercase;
    filter: brightness(0) invert(1);
    -webkit-filter: brightness(0) invert(1);
}

#footer .wrapper .column .extract {
    font-size: .8rem;
    line-height: 1.5;
    color: var(--light-grey);
    margin-bottom: 1rem;
    margin-right: 2rem;
}

#footer .wrapper .column .rrss {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

#footer .wrapper .column .rrss .link .icon {
    width: 100%;
    fill: var(--primary-color);
    max-width: 30px;
    margin-right: .3rem;
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#footer .wrapper .column .rrss .link:hover .icon {
    transform: scale(1.08);
    -webkit-transform: scale(1.08);
    -moz-transform: scale(1.08);
    -ms-transform: scale(1.08);
    -o-transform: scale(1.08);
}

#footer .wrapper .column .title {
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--light-color);
    margin-bottom: 1.5rem;
}

#footer .wrapper .column .list {
    width: 100%;
    list-style: none;
}

#footer .wrapper .column .list .link {
    font-size: .9rem;
    line-height: 1.5;
    color: var(--light-grey);
    text-decoration: none;
    opacity: 1;
    transition: var(--transition);
    -webkit-transition: var(--transition);
    -moz-transition: var(--transition);
    -ms-transition: var(--transition);
    -o-transition: var(--transition);
}

#footer .wrapper .column .list .link:hover {
    opacity: .6;
}

#footer .wrapper .column .list .link i {
    font-size: .9rem;
    line-height: 1.5;
    color: var(--primary-color);
    margin-right: .3rem;
}

#footer .wrapper .column .form {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
}

#footer .wrapper .column .form .input {
    flex: 5 0 0;
    background-color: transparent;
    border: 2px solid var(--primary-color);
    color: var(--light-grey);
    padding: .5rem 1rem;
    border-radius: 3rem;
    -webkit-border-radius: 3rem;
    -moz-border-radius: 3rem;
    -ms-border-radius: 3rem;
    -o-border-radius: 3rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#footer .wrapper .column .form .input:focus {
    outline: none;
}

#footer .wrapper .column .form .submit {
    flex: 1 0 0;
    text-align: center;
    padding: .5rem;
    padding-left: 0;
    border: none;
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
    color: var(--light-color);
    font-weight: bold;
    border-radius: 3rem;
    -webkit-border-radius: 3rem;
    -moz-border-radius: 3rem;
    -ms-border-radius: 3rem;
    -o-border-radius: 3rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
}

/*░░░░░░░░░░░   COPYRIGHT   ░░░░░░░░░░░*/
#copyright {
    width: 100%;
    padding: 2rem 0;
    background-color: var(--light-color);

    position: relative;
    z-index: var(--modal-layer);
}

#copyright .wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

#copyright .wrapper .legal {
    font-size: .8rem;
    color: var(--dark-color);
}

#copyright .wrapper .legal {
    font-size: .8rem;
}

#copyright .wrapper .legal .bold {
    font-weight: bold;
}

#copyright .wrapper .legal .color {
    color: var(--primary-color);
}

#copyright .wrapper .legal .logo {
    max-width: 130px;
    display: inline;
    margin-left: .2rem;
}


/*
████████████████████████████████████████████████████████████████
██████████████████████  @MEDIA QUERRYS   ███████████████████████
████████████████████████████████████████████████████████████████
*/

/*░░░░░░░░░░░   TABLET DEVICES   ░░░░░░░░░░░*/
@media only screen and (max-width: 780px) {
    /*
    ██████████████████████████████████████████
    ███████████     HELPPERS      ████████████
    ██████████████████████████████████████████
    */
    .no-desktop {
        display: block !important;
    }
    
    .no-mobile {
        display: none !important;
    }

    /*
    ██████████████████████████████████████████
    ███████████      LAYOUT       ████████████
    ██████████████████████████████████████████
    */
    main .wrapper {
        flex-direction: column-reverse;
        justify-content: flex-start;
        align-items: center;
    }
    
    main .wrapper .aside {
        width: 100%;
        flex: 0 0 100%;
        margin-left: 0;
        margin-top: 4rem;
    }
    
    main .wrapper .content {
        flex: 0 0 100%;
        margin-right: 0;
    }
    
    /*
    ██████████████████████████████████████████
    ███████████    HERO SCROLL    ████████████
    ██████████████████████████████████████████
    */
    .hero-scroll .img {
        max-width: 60%;
    }

    .hero-scroll .sidebox .text {
        font-size: 2.5rem;
    }

    /*
    ██████████████████████████████████████████
    ███████████     TOP BUTTON    ████████████
    ██████████████████████████████████████████
    */
    #top-button {
        width: 30px;
        height: 30px;

        bottom: 20px;
        left: 20px;
    }

    #top-button .link {
        padding: .5rem;
    }

    /*
    ██████████████████████████████████████████
    ███████████     WSP BUTTON    ████████████
    ██████████████████████████████████████████
    */
    #wsp-button {
        width: 30px;
        height: 30px;

        bottom: 20px;
        right: 20px;
    }

    /*
    ██████████████████████████████████████████
    ███████████     ERROR 404     ████████████
    ██████████████████████████████████████████
    */
    #error-404 .wrapper .img {
        width: 80%;
    }

    #error-404 .wrapper .title {
        font-size: 3rem;
    }
    
    /*
    ██████████████████████████████████████████
    ███████████      HEADER       ████████████
    ██████████████████████████████████████████
    */
    /*░░░░░░░░░░░   NAVBAR   ░░░░░░░░░░░*/
    #header .wrapper .brand {
        flex: 0 0 100px;
    }
    
    #header .wrapper .navbar .list {
        visibility: hidden;
        opacity: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        max-height: 0%;
        overflow: hidden;
        background-color: var(--light-grey);
        border-bottom: 4px solid var(--primary-color);
        position: absolute;
        top: 100%;
        left: 0;
        z-index: -1;
        transition: all .5s ease-out;
        -webkit-transition: all .5s ease-out;
        -moz-transition: all .5s ease-out;
        -ms-transition: all .5s ease-out;
        -o-transition: all .5s ease-out;
    }

    #header .wrapper .navbar .list.active {
        visibility: visible;
        opacity: 1;
        display: flex;
        max-height: 1000%;
    }

    #header .wrapper .navbar .list .item {
        display: block;
        width: 100%;
        border-bottom: 1px solid var(--primary-color);
        margin-left: auto;
    }

    #header .wrapper .navbar .list .item:last-child {
        border-bottom: 0;
    }

    #header .wrapper .navbar .list .item .sublist {
        display: flex;
        flex-direction: column;
        
        border-top: 1px solid var(--primary-color);
        border-bottom: 0;
        position: relative;
        top: 0;
        left: 0;
    }

    #header .wrapper .navbar .list .item .sublist .item {
        padding: 0 1rem;
    }

    #header .wrapper .navbar .list .item .sublist .item .link {
        padding: .5rem 2rem;
    }

    #header .wrapper .navbar .list .item .link {
        display: block;
        width: 100%;
        padding: 1rem 2rem;
        color: var(--primary-color);
        font-weight: bold;
    }

    #header .wrapper .navbar .switch {
        display: flex;
    }

    /*
    ██████████████████████████████████████████
    ███████████    HERO SLIDER    ████████████
    ██████████████████████████████████████████
    */
    #hero-slider {
        height: calc(100% - 48px);
    }

    #hero-slider .slider .captions {
        width: 90%;
        top: auto;
        bottom: 10%;
        left: 5%;
    }

     /*
    ██████████████████████████████████████████
    ███████████  TOP HEADER BLOG  ████████████
    ██████████████████████████████████████████
    */
    #top-header-blog .wrapper {
        align-items: center;
    }

    /*
    ██████████████████████████████████████████
    ███████████ TOP HEADER SINGLE ████████████
    ██████████████████████████████████████████
    */
    #top-header-single .info {
        flex-wrap: wrap;
    }

    #top-header-single .info .column {
        flex: 0 0 50%;
    }

    #top-header-single .info .column.breadcrumbs {
        flex: 0 0 100%;
    }

    #top-header-single .title {
        font-size: 2rem;
    }



    /*
    ██████████████████████████████████████████
    ███████████     POST-LIST     ████████████
    ██████████████████████████████████████████
    */
    .post-list {
        flex-direction: column;
        align-items: center;
    }

    .post-list .post {
        width: 100%;
        margin: 0rem;
        margin-bottom: 1rem;
    }

    /*
    ██████████████████████████████████████████
    ███████████      FOOTER       ████████████
    ██████████████████████████████████████████
    */
    /*░░░░░░░░░░░   FOOTER   ░░░░░░░░░░░*/
    #footer .wrapper {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    
    #footer .wrapper .column {
        margin: 0;
        margin-bottom: 3rem;
    }

    #footer .wrapper .column:last-child {
        margin-bottom: 0;
    }
    
    #footer .wrapper .column.company {
        flex: 1 0 0;
    }

    #footer .wrapper .column .extract {
        margin-right: 0;
    }
    /*░░░░░░░░░░░   COPYRIGHT   ░░░░░░░░░░░*/
    #copyright .wrapper {
        justify-content: center;
    }

    #copyright .wrapper .legal .logo {
        display: block;
        margin: 0 auto;
        margin-top: .5rem;
    }
}

/*░░░░░░░░░░░   MOBILE DEVICES   ░░░░░░░░░░░*/
@media only screen and (max-width: 520px) {
    
}
