@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,700;1,500;1,600&family=Barlow:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600;1,700&display=swap');

:root {
    --cyan: #48B8DB;

    --gutter: 16px;
    --gutter-large: 140px;

    @media (max-width: 980px) {
        --gutter-large: var(--gutter);
    }
}

/* Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

*, :after, :before {
    scrollbar-width: thin;
    scrollbar-color: var(--cyan) #a9a9a9;
    box-sizing: border-box;
}
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #a9a9a9;
}
::-webkit-scrollbar-thumb {
    background: var(--cyan);
}

html {
    font-size: 100%;
}
html, body {
    height: 100%;
}
body {
    line-height: 1.3;
    font-size: 1.125em;
    font-family: "Barlow",sans-serif;
    font-weight: 400;
    color: #1d1d1d;
}

h1, .title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 2.7em;
    font-weight: 500;
    color: var(--cyan);
    line-height: 1.05;
}
@media (max-width: 480px) {
    h1, .title { font-size: 2em; }
}

h2, .second-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.7em;
    font-weight: 700;
    color: var(--color-pink);
    font-style: italic;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}
@media (max-width: 480px) {
    h2, .second-title { font-size: 1.2em; }
}

p {
    margin-bottom: var(--gutter);
}

em, i {
    font-style: italic;
}
strong, b {
    font-weight: 700;
}
u {
    text-decoration: underline;
    text-underline-offset: 3px;
}
small, .small {
    font-size: 0.8em;
}
sub {
    vertical-align: sub;
    font-size: smaller;
}
sup {
    vertical-align: super;
    font-size: smaller;
}
a {
    text-decoration: underline;
    color: var(--cyan);
    text-underline-offset: 3px;
}
a.animate {
    text-decoration: none;
    position: relative;
    padding-bottom: 3px;
    padding-right: 18px;
    display: inline-block;
    text-indent: 0;
    transition: text-indent .3s linear;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-style: italic;
}
a.animate:hover {
    text-indent: 10px;
}

a.animate::after, a.animate::before {
    content: "";
    position: absolute;
}
a.animate::before {
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--cyan);
    transition: width .3s linear;
}
a.animate:hover::before {
    width: 100%;
}
a.animate::after {
    bottom: 5px;
    right: 0;
    width: 0;
    height: 0;
    border-width: 7px;
    border-style: solid;
    border-top-color: transparent;
    border-right-color: var(--cyan);
    border-bottom-color: var(--cyan);
    border-left-color: transparent;
    transition:
        bottom .3s linear,
        border-width .3s linear,
        width .3s linear,
        height .3s linear;
}
a.animate:hover::after {
    bottom: 0px;
    border-width: 2px;
    width: 12px;
    height: 12px;
}

header {
    padding: var(--gutter);
    display: flex;
    justify-content: center;
}
header div {
    overflow: hidden;
}
header a {
    transition: transform .8s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity .3s linear;
    opacity: 0;
    display: inline-block;
    text-decoration: none;
}
header div:first-child a{
    transform: translateX(100px);
}
header div:last-child a {
    transform: translateX(-100px);
}
header div:last-child a {
    font-weight: 600;
    color: #009DCD;
    font-size: 1.5em;
    line-height: .9;
    margin-top: 50px;
    display: flex;
}
header div:last-child a span { text-align: right; }
header div:last-child a:last-child img {
    margin-left: 10px;
}
header>span {
    display: block;
    width: 1px;
    height: 100px;
    background-color: #313131;
    margin: 0 30px;
    transform: skew(-20deg) scale(0.1);
    opacity: 0;
    transition: transform .8s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity .3s linear;
}
header.show a { opacity: 1 !important; transform: translateX(0) !important; }
header.show>span { opacity: 1 !important; transform: skew(-20deg) scale(1) !important;}

@media (max-width: 480px) {
    header {
        flex-direction: column;
        align-items: center;
    }
    header>span { height: 30px; }
    header div:last-child a { margin-top: 0; }
}

h1 {
    text-align: center;
    margin-bottom: calc(var(--gutter) * 2);
}

#intro {
    padding: 50px var(--gutter-large);
}
#intro .visual img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 50px auto;
}
@media (min-width: 768px) {
    #intro .d-flex {
        display: flex;
        justify-content: space-between;
        gap: 30px;
    }
    #intro .d-flex div {
        width: 50%;
    }
}
#intro #button {
    text-align: center;
    margin-top: 50px;
}
#intro #button a {
    background-color: var(--cyan);
    padding: 20px 50px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-block;
}

#posts {
    background: linear-gradient(45deg, rgba(18, 21, 33, 0.95) 0%, rgba(18, 68, 112, 0.95) 35%, rgba(8, 15, 42, 0.95) 100%);
    padding: 50px var(--gutter-large);
}
#posts .d-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 50px var(--gutter);
    margin-top: 50px;
    overflow: hidden;
}
#posts article {
    width: calc(33.33% - var(--gutter));
    background-color: #181818;
    padding: 50px 50px 250px 50px;
    position: relative;
}
@media(max-width: 1468px) {
    #posts article { width: calc(50% - var(--gutter)); }
}
@media(max-width: 768px) {
    #posts article { width: 100%; }
}
@media (max-width: 480px) {
    #posts article { padding: 50px 25px 250px 25px; }
}
#posts article .title, #posts article .summary { color: #fff; margin-bottom: var(--gutter); }
#posts article .title a { text-decoration: none; color: #fff; }
#posts article .visual {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 220px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#posts h2:not(:first-child) {
    margin-top: 100px;
}