/*
Theme Name: ThingLink Blog theme
Author: ThingLink Team
Version: 1.0.0
Text domain: thinglinktheme
*/

:root {
    --tl--font-primary:  -apple-system, "SF Pro Display", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --tl--font-weight-regular: 400;
    --tl--font-weight-bold:  700;
    --tl--font-size-xxxl:  38px;
    --tl--line-height-xxxl:  52px;
    --tl--font-size-xxl: 34px;
    --tl--line-height-xxl:  48px;
    --tl--font-size-xl: 30px;
    --tl--line-height-xl:  42px;
    --tl--font-size-lg: 24px;
    --tl--line-height-lg:  34px;
    --tl--font-size-md: 20px;
    --tl--line-height-md:  32px;
    --tl--font-size-sm: 19px;
    --tl--line-height-sm:  27px;
    --tl--font-size-xs: 16px;
    --tl--line-height-xs:  22px;
    --tl--font-size-xxs: 14px;
    --tl--line-height-xxs:  20px;

    --tl--color-white: #FFFFFF;
    --tl--color-black:  #000000;
    --tl--color-gray:  #999999;
    --tl--color-light-gray:  #F9F9F9;
    --tl--color-blue: #0088FF;
    --tl--color-blue-darken: #007AE6;
    --tl--color-red: #F30808;

    --tl--container-width-lg: 1010px;

    --tl--spacing-xxxxxl:  80px;
    --tl--spacing-xxxxl:  72px;
    --tl--spacing-xxxl:  64px;
    --tl--spacing-xxl:  56px;
    --tl--spacing-xl:  48px;
    --tl--spacing-lg:  40px;
    --tl--spacing-md:  30px;
    --tl--spacing-sm:  24px;
    --tl--spacing-xs:  16px;
    --tl--spacing-xxs:  12px;
    --tl--spacing-xxxs:  8px;
    --tl--spacing-xxxxs:  4px;

    --tl--border-radius-sm: 4px;
    --tl--border-radius-md: 8px;
    --tl--border-radius-lg: 12px;

    --tl--topnav-height:  78px;

    --tl--gradient: linear-gradient(45deg, #039CFF 5%, #7659EA 100%);
}

html,
body {
    border:  none;
    margin:  0;
    padding:  0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
    border: none;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-align: inherit;
}

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    background: var(--tl--color-white);
    box-sizing: border-box;
    color: var(--tl--color-black);
    font-family: var(--tl--font-primary);
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
    text-align: left;
}

*,
*::before,
*::after {
    box-sizing: inherit;
    -webkit-font-smoothing: antialiased;
    word-break: break-word;
    word-wrap: break-word;
}

@media ( prefers-reduced-motion: reduce ) {

    * {
        animation-duration: 0s !important;
        transition-duration: 0s !important;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--tl--font-weight-bold);
}

p, span {
    font-weight: var(--tl--font-weight-regular);
}

strong {
    font-weight: var(--tl--font-weight-bold);
}

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

body > header {
    min-height: var(--tl--topnav-height);
    background-color: var(--tl--color-white);
    z-index: 10;
}

body > header .header__wrapper {
    margin-top: var(--tl--topnav-height);
}



/**********************************************/
/*****    Top nav menu    *****/

nav.top-nav {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: var(--tl--color-white);
    color: var(--tl--color-black);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    font-weight: 500;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    z-index: 100;
}

nav.top-nav .top-nav__wrapper {
    display: flex;
    width: min(100%, 1280px);
    gap: var(--tl--spacing-md);
    margin:  0 auto;
    padding: 20px;
}

nav.top-nav ul {
    list-style: none;
}

nav.top-nav .top-nav__expandable {
    display: flex;
    flex-direction: column;
    height: 0;
    background-color: var(--tl--color-black);
    font-size: var(--tl--font-size-xxxxs);
    line-height: var(--tl--line-height-xxxxs);
    color: var(--tl--color-white);
    overflow: hidden;
    transition: all 0.4s ease;
}

nav.top-nav.expanded .top-nav__expandable {
    transition: all 0.4s ease;
}

nav.top-nav .top-nav__expandable ul {
    padding: var(--tl--spacing-xxxs) var(--tl--spacing-xs);
}

nav.top-nav .top-nav__expandable ul li {
    padding: var(--tl--spacing-xs) 0;
}

nav.top-nav .top-nav__expandable li.search {
    display: none;
    padding: var(--tl--spacing-xxxs) 0;
}

@media (max-width: 576px) {
    nav.top-nav .top-nav__expandable li.search {
        display: block;
    }
}

nav.top-nav .top-nav__expandable ul li a {
    font-weight: var(--tl--font-weight-bold);
    text-transform: uppercase;
}

nav.top-nav a {
    color:  inherit;
    text-decoration: none;
    white-space: nowrap;
}

nav.top-nav .top-nav__wrapper > * {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
}

nav.top-nav .top-nav__logo * {
    display: flex;
    align-items: center;
}

nav.top-nav .top-nav__logo div:first-child {
    padding-right: var(--tl--spacing-xxs);
    border-right: 2px solid rgba(0,0,0,0.1);
}

nav.top-nav .top-nav__logo div:last-child {
    padding-left: var(--tl--spacing-xxs);
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
    font-weight: var(--tl--font-weight-bold);
    white-space: nowrap;
}

nav.top-nav .top-nav__links {
    display: flex;
    flex: 1 0;
    justify-content: center;
    gap: var(--tl--spacing-sm);
    font-weight: var(--tl--font-weight-bold);
    text-transform: uppercase;
}

nav.top-nav .top-nav__submenu {
    position: relative;
    padding-right: 14px;
    font-weight: var(--tl--font-weight-bold);
    text-transform: uppercase;
    user-select: none;
    white-space: nowrap;
}

nav.top-nav .top-nav__expandable .top-nav__submenu {
    width: 100%;
}

nav.top-nav .top-nav__submenu:hover {
    cursor: pointer;
}

nav.top-nav .top-nav__submenu:hover ul {
    cursor: auto;
}

nav.top-nav .top-nav__submenu:after {
    content: '';
    position: absolute;
    top: 6px;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--tl--color-black);
    border-right: 2px solid var(--tl--color-black);
    transform: rotate(135deg);
    transition: all 0.2s ease;
}

nav.top-nav .top-nav__expandable .top-nav__submenu:after {
    top: 14px;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--tl--color-white);
    border-right: 2px solid var(--tl--color-white);
}

nav.top-nav .top-nav__expandable .top-nav__submenu.expanded:after {
    top: 16px;
}

nav.top-nav .top-nav__submenu.expanded:after {
    top: 7px;
    transform: rotate(315deg);
    transition: all 0.2s ease;
}

nav.top-nav .top-nav__submenu ul {
    position: absolute;
    top: 30px;
    left: 0;
    display: none;
    flex-direction: column;
    padding: var(--tl--spacing-xxxs);
    background-color: var(--tl--color-white);
    border-radius: var(--tl--border-radius-md);
    overflow: hidden;
    box-shadow: 0 10px 20px 0 rgba(0,0,0,.2),0 16px 24px -8px rgba(0,0,0,.12);
}

nav.top-nav .top-nav__submenu.expanded ul.two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

nav.top-nav .top-nav__submenu:not(.expanded) ul.two-columns {
    display: none;
}

nav.top-nav .top-nav__submenu ul.two-columns span.column-header
{
    display: flex;
    width: 100%;
    padding: 8px;
    font-size: 12px;
    line-height: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

nav.top-nav .top-nav__expandable .top-nav__submenu ul {
    position: relative;
    top: unset;
    left: unset;
    display: flex;
    height: 0;
    padding: 0;
    border: 0;
    background-color: var(--tl--color-black);
}

nav.top-nav .top-nav__expandable .top-nav__submenu.expanded ul {
    height: auto;
    padding-top: var(--tl--spacing-xs);
}

nav.top-nav .top-nav__submenu ul li {
    display: flex;
    width: 100%;
    padding: 0;
}

nav.top-nav .top-nav__submenu ul li a {
    display: flex;
    align-items: center;
    min-width: 250px;
    gap: var(--tl--spacing-xxxs);
    padding: var(--tl--spacing-xxxs);
    color: var(--tl--color-black);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    font-weight: var(--tl--font-weight-regular);
    text-transform: none;
    letter-spacing: normal;
    border-radius: var(--tl--border-radius-sm);
    transition: background-color 0.2s ease;
}

nav.top-nav .top-nav__submenu ul li a img {
    width: 24px;
    height: 24px;
}

nav.top-nav .top-nav__expandable .top-nav__submenu ul li a {
    padding: var(--tl--spacing-xxxs) var(--tl--spacing-xs);
    color: var(--tl--color-white);
}

nav.top-nav .top-nav__expandable .top-nav__submenu ul li a img {
    filter: invert(100%);
}

nav.top-nav .top-nav__expandable .top-nav__submenu span.subheader {
    display: flex;
    align-items: center;
    padding: var(--tl--spacing-xxxs) var(--tl--spacing-xs);
    color: rgba(255, 255, 255, .5);
    font-size: 12px;
    line-height: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
}

nav.top-nav .top-nav__submenu ul li a:hover {
    background-color: #E5E5E5;
}

nav.top-nav .top-nav__submenu.expanded ul {
    display: flex;
}

@media (max-width: 576px) {
    nav.top-nav .top-nav__search {
        display: none;
        flex: 1 0 auto;
    }
}

nav.top-nav .top-nav__buttons {
    gap: var(--tl--spacing-xxs);
}

nav.top-nav .top-nav__hamburger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: url('./assets/icons/hamburger.svg') no-repeat center center;
}

nav.top-nav .top-nav__hamburger:hover {
    cursor: pointer;
}

@media (max-width: 1100px) {
    nav.top-nav .top-nav__wrapper {
        justify-content: space-between;
        gap: var(--tl--spacing-xxs);
        width: 100%;
        max-width: unset;
        margin: 0;
    }

    nav.top-nav .top-nav__search {
        flex: unset;
        margin-left: auto;
    }

    nav.top-nav .top-nav__links {
        display: none;
    }

    nav.top-nav .top-nav__buttons {
        display: none;
    }

    nav.top-nav .top-nav__hamburger {
        display: flex;
    }
}



/********************************************************************************/

section.main-section {
    display: flex;
    flex-direction: column;
}

section.main-section.main-section--gray {
    background-color: var(--tl--color-light-gray);
}

section.main-section a {
    color:  inherit;
    text-decoration: inherit;
}

section.latest-posts + section.latest-posts {
    margin-top: var(--tl--spacing-xxxl);
}

@media (max-width:  768px) {
    section.latest-posts + section.latest-posts {
        margin-top: var(--tl--spacing-xl);
    }
}

@media (max-width:  576px) {
    section.latest-posts + section.latest-posts {
        margin-top: var(--tl--spacing-xxl);
    }
}

section.latest-posts .latest-posts__header {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    margin-bottom: var(--tl--spacing-sm);
    padding-bottom: var(--tl--spacing-xxs);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    font-size: var(--tl--font-size-lg);
    line-height: var(--tl--line-height-lg);
}

section.latest-posts .latest-posts__header:after {
    content: '';
    display: inline-block;
    margin-left: var(--tl--spacing-xxxxs);
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    background: url('./assets/icons/arrow-black.svg') no-repeat center center;
}

section.latest-posts .latest-posts__wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--tl--spacing-md);
}

@media ((min-width: 576px) and (max-width: 768px)) {
    section.latest-posts .latest-posts__wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    section.latest-posts .latest-posts__wrapper .post-card:nth-child(n + 3) {
        display: none;
    }
}

@media (max-width: 576px) {
    section.latest-posts .latest-posts__wrapper {
        grid-template-columns: 1fr;
        gap: var(--tl--spacing-lg);
    }
}

article.post-card {
    display: flex;
    flex-direction: column;
}

article.post-card a {
    color:  inherit;
    text-decoration: inherit;
}

article.post-card .post-card__image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: var(--tl--spacing-xs);
    border-radius: var(--tl--border-radius-md);
    overflow: hidden;
    background-color: var(--tl--color-light-gray);

}

article.post-card .post-card__image img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

article.post-card h3 {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-sm);
    line-height: var(--tl--line-height-sm);
}

article.post-card p {
    margin-bottom: var(--tl--spacing-xs);
    font-size: var(--tl--font-size-xs);
    line-height: var(--tl--line-height-xs);
}

article.post-card .post-info {
    display: flex;
    justify-content: space-between;
    color: var(--tl--color-gray);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
}

article.post-card .post-info .post-info__author {
    display: flex;
    align-items: center;
    gap: var(--tl--spacing-xxxs);
}

article.post-card .post-info .post-info__author img {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    background-color: var(--tl--color-gray);
    border-radius: 50%;
    object-fit: contain;
}

section.categories-list {
    display: flex;
    margin-bottom: var(--tl--spacing-xxxxxl);
    padding: var(--tl--spacing-xxxl) 0;
}

@media (max-width: 768px) {
    section.categories-list {
        padding: var(--tl--spacing-xl) 0;
    }
}

section.categories-list .categories-list__wrapper {
    display: grid;
    grid-template-columns: 128px 1fr;
}

@media (max-width: 576px) {
    section.categories-list .categories-list__wrapper {
        display: flex;
        flex-direction: column;
        gap: var(--tl--spacing-sm);
    }
}

section.categories-list h2 {
    font-size: var(--tl--font-size-lg);
    line-height: var(--tl--line-height-lg);
}

section.categories-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tl--spacing-xxs) var(--tl--spacing-xs);
    list-style: none;
}

section.categories-list li {
    display: inline-block;
    border:  1px solid rgba(0,0,0,0.1);
    border-radius: var(--tl--border-radius-sm);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    color: var(--tl--color-gray);
}

section.categories-list li.highlighted {
    color: var(--tl--color-blue);
    border-color: var(--tl--color-blue);
}

section.categories-list li a {
    display: block;
    padding: var(--tl--spacing-xxxxs) var(--tl--spacing-xs);
}

@media (max-width: 576px) {
    section.categories-list li a {
        padding: var(--tl--spacing-xxxxs) var(--tl--spacing-xxxs);
    }
}

.container {
    width:  100%;
    max-width: var(--tl--container-width-lg);
    margin:  0 auto;
    padding: 0 var(--tl--spacing-lg);
}

@media (max-width:  576px) {
    .container {
        padding: 0 var(--tl--spacing-xs);
    }
}

.all-categories-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--tl--spacing-xxxl);
}

footer.main-footer {
    padding-top: var(--tl--spacing-sm);
    padding-bottom: var(--tl--spacing-sm);
    background-color: var(--tl--color-light-gray);
    color: var(--tl--color-gray);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
}

footer.main-footer .footer__wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--tl--spacing-xs);
}

footer.main-footer .footer__wrapper > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

footer.main-footer a {
    display: flex;
    align-items: center;
    color:  inherit;
    text-decoration: none;
}

footer.main-footer a.finnish:before {
    content: '';
    width: 24px;
    height: 24px;
    margin-right: var(--tl--spacing-xxxs);
    background: url('./assets/icons/finnish-flag.svg') no-repeat center center / 100%;
}

footer.main-footer .footer__links {
    display: flex;
    gap: var(--tl--spacing-sm);
    margin-left: auto;
}

@media (max-width:  576px) {
    footer.main-footer .footer__links {
        flex-wrap: wrap;
        gap: var(--tl--spacing-xxs);
        width: 100%;
        order: 3;
        margin: 0;
        justify-content: space-between !important;
    }
}

footer.main-footer .footer__social {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-xxxxs);
    margin-left: auto;
}

footer.main-footer .footer__social img {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
}


/***************************************************/
/* Wordpress pagination */
nav.pagination {
    display: flex;
    justify-content: center;
    grid-column: span 2;
}

nav.pagination .nav-links {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-xxs);
}

nav.pagination .nav-links > span, nav.pagination .nav-links > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 36px;
    padding: var(--tl--spacing-xxxs) var(--tl--spacing-xxs);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    font-weight: var(--tl--font-weight-bold);
    text-decoration: none;
    color: rgba(0,0,0,0.4);
    background-color: rgba(0,0,0,0.05);
    border-radius: var(--tl--border-radius-md);
}

nav.pagination .nav-links > span.current {
    background-color: var(--tl--color-blue);
    color: var(--tl--color-white);
}

nav.pagination .nav-links > a.prev {
    margin-right: var(--tl--spacing-xxxs);
}

nav.pagination .nav-links > a.next {
    margin-left: var(--tl--spacing-xxxs);
}

.tl-button {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
    padding: var(--tl--spacing-xs) var(--tl--spacing-sm);
    background-color: var(--tl--color-white);
    text-transform: uppercase;
    text-decoration: none;
    font-size: var(--tl--font-size-xxs);
    line-height: 1.1em;
    font-weight: var(--tl--font-weight-bold);
    border-width: 2px;
    border-style: solid;
    border-radius: var(--tl--border-radius-sm);
    white-space: nowrap;
    outline: 0;
    transition: all 0.2s ease;
}

.tl-button:not([disabled]):hover {
    cursor: pointer;
    transition: all 0.2s ease;
}

.tl-button.tl-button--small {
    padding: var(--tl--spacing-xxxs);
}

.tl-button.tl-button--smallest {
    padding: var(--tl--spacing-xxxxs);
}

.tl-button.tl-button--primary {
    background-color: var(--tl--color-blue);
    border-color: var(--tl--color-blue);
    color: var(--tl--color-white);
}

.tl-button.tl-button--primary:not([disabled]):hover {
    background-color: var(--tl--color-blue-darken);
    border-color: var(--tl--color-blue-darken);
}

.tl-button.tl-button--white {
    background-color: var(--tl--color-white);
    border-color: var(--tl--color-white);
    color: var(--tl--color-blue);
}

.tl-button.tl-button--white:not([disabled]):hover {
    background-color: #FAFAFA;
    border-color: #FAFAFA;
    color: var(--tl--color-blue-darken);
}

.tl-button.tl-button--white.tl-button--outline {
    background-color: transparent;
    border-color: var(--tl--color-white);
    color: var(--tl--color-white);
}

.tl-button.tl-button--primary.tl-button--outline {
    background-color: var(--tl--color-white);
    color: var(--tl--color-blue);
}

.tl-button.tl-button--black {
    background-color: var(--tl--color-black);
    border-color: var(--tl--color-black);
    color: var(--tl--color-white);
}

.tl-button.tl-button--black.tl-button--outline {
    background-color: var(--tl--color-white);
    color: var(--tl--color-black);
}

.tl-button.tl-button--black.tl-button--outline:not([disabled]):hover {
    background-color: #FAFAFA;
}


.tl-text-input {
    display: flex;
    width: 100%;
    padding: var(--tl--spacing-xxxs) var(--tl--spacing-xxs);
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: var(--tl--border-radius-sm);
    background-color: var(--tl--color-white);
    color: var(--tl--color-black);
    outline:  0;
    transition: all 0.2s ease;
}

.tl-text-input + span.error {
    display: none;
    color: var(--tl--color-red);
}

.tl-text-input[disabled] {
    background-color: var(--tl--color-light-gray);
}

.tl-text-input:focus {
    border-color: var(--tl--color-blue);
    box-shadow: 0 0 0 1px rgba(0, 136, 255, 0.3);
    transition: all 0.2s ease;
}

.tl-text-input[data-error] {
    border-color: var(--tl--color-red);
    box-shadow: 0 0 0 1px rgba(241, 40, 40, 0.3);
    transition: all 0.2s ease;
}

.tl-text-input[data-error] + span.error {
    display: inline-block;
}

.tl-text-input:placeholder {
    color: var(--tl--color-gray);
}

.input-with-icon {
    position: relative;
    display: flex;
}

.input-with-icon i {
    position: absolute;
    top: calc(var(--tl--spacing-xxxs)/2);
    left: var(--tl--spacing-xxxs);
    width: 24px;
    height: 24px;
}

.input-with-icon .tl-text-input {
    padding-left: 40px;
}

.input-with-icon.input-with-icon--search i {
    background: url('./assets/icons/lens.svg') no-repeat center center;
}

.bg-gray {
    background-color: var(--tl--color-light-gray);
}


section.side-links {
    display: flex;
    flex-direction: column;
    gap: var(--tl--spacing-xxs);
}

section.side-links .side-links__link {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--tl--spacing-xxs);
    background-color: var(--tl--color-white);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    font-weight: var(--tl--font-weight-bold);
    color: var(--tl--color-black);
    text-decoration: underline;
}

section.side-links .side-links__link:hover {
    color: var(--tl--color-blue);
    cursor: pointer;
}

section.side-links .side-links__link .side-links__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    background-color: rgba(0, 136, 255, 0.1);
    border-radius: 50%;
}

section.side-links .side-links__link .side-links__icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}


/*****************************************************************/
/* Single post */

header.single-post {
    margin-bottom: 0;
}

header.single-post .header__wrapper {
    margin-top: var(--tl--spacing-xs);
    padding-top: var(--tl--topnav-height);
    padding-bottom: var(--tl--spacing-xs);
}

main.single-post {
    padding-top: var(--tl--spacing-lg);
    padding-bottom: var(--tl--spacing-xxxxxl);
}

@media (max-width:  768px) {
    main.single-post {
        padding-top: var(--tl--spacing-md);
        padding-bottom: var(--tl--spacing-lg);
    }
}

main.single-post .single-post__wrapper  {
    display: grid;
    grid-template-columns: 2fr 1fr;
    column-gap: var(--tl--spacing-md);
}

@media (max-width:  768px) {
    main.single-post .single-post__wrapper  {
        display: flex;
        flex-direction: column;
    }
}

main.single-post header {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--tl--spacing-xs);
}

main.single-post header .header__image {
    width: 100%;
    margin-bottom: var(--tl--spacing-sm);
    border-radius: var(--tl--border-radius-md);
    background-color: var(--tl--color-light-gray);
}

main.single-post header h1 {
    padding-bottom: var(--tl--spacing-xxxs);
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-xl);
    line-height: var(--tl--line-height-xl);
    border-bottom: 1px solid var(--tl--color-gray);
}

main.single-post header .header__meta {
    display: flex;
    gap: var(--tl--spacing-xxs);
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    color: var(--tl--color-black);
}

main.single-post header .header__meta a {
    color:  inherit;
}

main.single-post header .header__meta time {
    color: var(--tl--color-gray);
}

main.single-post article {
    order: 1;
    max-width: 610px;
    font-size: var(--tl--font-size-xs);
    line-height: 26px;
    color:  #333333;
}

main.single-post article iframe,
main.single-post article img,
main.single-post article figure {
    max-width: 100%;
}

@media (max-width:  992px) {
    main.single-post article {
        max-width: 60vw;
    }
}

@media (max-width:  768px) {
    main.single-post article {
        max-width: unset;
    }
}

main.single-post aside {
    order: 2;
    display: flex;
    flex-direction: column;
}

main.single-post aside > hr {
    width: 100%;
    height: 1px;
    margin: var(--tl--spacing-sm) 0;
    background-color: rgba(0, 0, 0, 0.1);
    border: 0;
}

main.single-post footer {
    order:3;
    display: flex;
    flex-direction: column;
    margin-top: var(--tl--spacing-xl);
    font-size: var(--tl--font-size-xs);
    line-height: var(--tl--line-height-xs);
}

main.single-post footer h4 {
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
}

main.single-post footer h5 {
    font-size: var(--tl--font-size-sm);
    line-height: var(--tl--line-height-sm);
}

main.single-post footer a {
    color:  inherit;
}

main.single-post footer .footer__topics {
    display: flex;
    flex-direction: column;
}

main.single-post footer .footer__topics h4 {
    margin-bottom: var(--tl--spacing-xxxs);
}

main.single-post footer .footer__topics a {
    color: var(--tl--color-blue);
    text-decoration: none;
}

main.single-post footer .footer__social {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-xxxs);
}

section.topics-block {
    display: flex;
    flex-direction: column;
    color: var(--tl--color-black);
}

section.topics-block h3 {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-sm);
    line-height: var(--tl--line-height-sm);
}

section.topics-block ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    list-style: none;
}

section.topics-block ul li {
    display: flex;
    flex-wrap: nowrap;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    transition: border-color 0.2s ease;
}

section.topics-block ul li:hover {
    border-color: var(--tl--color-blue);
}

section.topics-block ul li a {
    padding: var(--tl--spacing-xxxxs) var(--tl--spacing-xxs);
    color: inherit;
    text-decoration: none;
}

main.single-post footer .footer__author {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: var(--tl--spacing-xs);
    margin-top: var(--tl--spacing-sm);
    padding-top: var(--tl--spacing-sm);
    border-top: 1px solid var(--tl--color-gray);
    color: inherit;
}

main.single-post footer .footer__author > div:first-child img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 50%;
}

main.single-post footer .footer__author > div:last-child {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

main.single-post footer .footer__author h3 {
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
}

main.single-post footer .footer__author p {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-xs);
    line-height: var(--tl--line-height-xs);
    color:  #333333;
}

main.single-post .posts-slider {
    order:4;
}

@media (max-width:  768px) {
    main.single-post aside {
        order: 3;
        margin-top: var(--tl--spacing-lg);
    }
    main.single-post footer {
        order: 2;
    }
}

main.single-post .wp-block-embed-youtube {
	overflow: hidden;
	position: relative;
	max-width: 100%;
	height: auto;
	padding-bottom: 56.25%;
}

main.single-post .wp-block-embed-youtube .wp-block-embed__wrapper {
	position: static;
}

main.single-post .wp-block-embed-youtube iframe,
main.single-post .wp-block-embed-youtube object,
main.single-post .wp-block-embed-youtube embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Editor blocks */

main.single-post article h2 {
    font-size: var(--wp--preset--font-size--large);
    line-height: 34px;
}

main.single-post article h3 {
    font-size: var(--wp--preset--font-size--medium);
    line-height: 27px;
}

main.single-post article h4 {
    font-size: var(--wp--preset--font-size--regular);
    line-height: 22px;
}

main.single-post article > p:not(:last-child) {
    min-height: 24px;
}

main.single-post article > * {
    margin-block-start:  0;
    margin-block-end: 0;
}

main.single-post article > * + * {
    margin-block-start: var(--wp--style--block-gap);
}

main.single-post article blockquote {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 60px;
    font-style: italic;
    font-weight: 500;
}

main.single-post article blockquote p {
    margin-bottom: var(--tl--spacing-xxxs);
    color: #333333;
}

main.single-post article blockquote cite {
    color: rgba(51, 51, 51, 1);
}

main.single-post article ol li,
main.single-post article ul li {
    margin-left: var(--tl--spacing-sm);
}
main.single-post article ol li:not(:last-child) {
    margin-bottom: var(--tl--spacing-xxxs);
}


/* Single post */
/*****************************************************************/



/*****************************************************************/
/* Single category */

header.single-category .header__wrapper {
    margin-bottom: 0;
    margin-top: 0;
    padding-top: calc(var(--tl--topnav-height) + var(--tl--spacing-xxxl));
    padding-bottom: var(--tl--spacing-xxxl);
}

@media (max-width:  576px) {
    header.single-category .header__wrapper {
        padding-top: calc(var(--tl--topnav-height) + var(--tl--spacing-sm));
        padding-bottom: var(--tl--spacing-sm);
    }
}

header.single-category .breadcrumbs {
    margin-bottom: var(--tl--spacing-xxxs);
}

header.single-category h1 {
    max-width: 75%;
    font-size: var(--tl--font-size-xl);
    line-height: var(--tl--line-height-xl);
}

header.single-category h1:not(:last-child) {
    margin-bottom: var(--tl--spacing-xxxs);
}

header.single-category p {
    max-width: 75%;
    font-size: var(--tl--font-size-xs);
    line-height: var(--tl--line-height-xs);
    color: var(--tl--color-gray);
}

/* Single category */
/*****************************************************************/




/*****************************************************************/
/* 404 page */

main.not-found {
    padding: 120px 0 var(--tl--spacing-xxxxxl) 0;
}

main.not-found .not-found__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

main.not-found .not-found__image {
    width: 80%;
    height: auto;
    margin: 0 auto var(--tl--spacing-xxxl) auto;
    object-fit: contain;
}

main.not-found h1 {
    margin-bottom: var(--tl--spacing-md);
    font-size: var(--tl--font-size-xl);
    line-height: var(--tl--line-height-xl);
}

main.not-found p {
    margin-bottom: var(--tl--spacing-xs);
}

main.not-found form {
    width: min(400px, 100%);
}

/* 404 page */
/*****************************************************************/


/*****************************************************************/
/* Posts sliders */

section.sticky-posts-slider {
    --slider-height: 300px;
    --button-size:  40px;
    --transition:  all 0.2s ease;

    display: flex;
    padding-top:  var(--tl--spacing-xxxl);
}

@media (max-width:  992px) {
    section.sticky-posts-slider {
        padding-top:  var(--tl--spacing-lg);
    }
}

section.sticky-posts-slider .posts-slider__wrapper {
    position: relative;
    width: 100%;
    height: var(--slider-height);
    min-height: var(--slider-height);
}

section.sticky-posts-slider .posts-slider__post-card {
    position: absolute;
    top:  0;
    display: grid;
    grid-template-columns: 530px 1fr;
    width: 100%;
    height: auto;
    gap: var(--tl--spacing-md);
    opacity: 0;
    transition: var(--transition);
}

@media (max-width:  992px) {
    section.sticky-posts-slider .posts-slider__post-card {
        grid-template-columns: 6fr 5fr;
    }
}

@media (max-width:  768px) {
    section.sticky-posts-slider .posts-slider__post-card {
        grid-template-columns: 1fr;
        gap: var(--tl--spacing-sm);
    }
}

section.sticky-posts-slider .posts-slider__post-card[data-current] {
    opacity: 1;
    transition: var(--transition);
    z-index: 5;
}

section.sticky-posts-slider .posts-slider__post-card .posts-slider__image {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

section.sticky-posts-slider .posts-slider__post-card .posts-slider__image img {
    width: 100%;
    height: auto;
    border-radius:  var(--tl--border-radius-lg);
    object-fit: contain;
}

section.sticky-posts-slider .posts-slider__post-card .posts-slider__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: 100%;
} 

section.sticky-posts-slider .posts-slider__post-card .posts-slider__content h3 {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-lg);
    line-height: var(--tl--line-height-lg);
}

section.sticky-posts-slider .posts-slider__post-card .posts-slider__content a {
    color:  inherit;
}

section.sticky-posts-slider .posts-slider__post-card .posts-slider__content p {
    margin-bottom: var(--tl--spacing-xxs);
    font-size: var(--tl--font-size-xs);
    line-height: var(--tl--line-height-xs);
}

section.sticky-posts-slider .posts-slider__controls {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--tl--spacing-sm);
    padding: var(--tl--spacing-md) 0;
}

@media (max-width:  768px) {
    section.sticky-posts-slider .posts-slider__controls {
        padding: var(--tl--spacing-sm) 0;
    }
}

section.sticky-posts-slider .posts-slider__control-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--button-size);
    height: var(--button-size);
    min-width: var(--button-size);
    min-height: var(--button-size);
    border-radius: 50%;
    background-color: var(--tl--color-white);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
    transition: var(--transition);
}

section.sticky-posts-slider .posts-slider__control-button:hover {
    background-color: var(--tl--color-blue);
    cursor: pointer;
    scale: 1.1;
    transition: var(--transition);
}

section.sticky-posts-slider .posts-slider__control-button:after {
    content: '';
    position: absolute;
    width: 12px;
    min-width: 12px;
    height: 12px;
    min-height: 12px;
    border-top-width: 3px;
    border-top-style: solid;
    border-top-color: var(--tl--color-blue);
    border-right-width: 3px;
    border-right-style: solid;
    border-right-color: var(--tl--color-blue);
}

section.sticky-posts-slider .posts-slider__control-button:hover:after {
    border-top-color: var(--tl--color-white);
    border-right-color: var(--tl--color-white);
}

section.sticky-posts-slider .posts-slider__control-button.posts-slider__control-button--prev:after {
    transform: rotate(225deg) translateX(-1px) translateY(1px);
}

section.sticky-posts-slider .posts-slider__control-button.posts-slider__control-button--next:after {
    transform: rotate(45deg) translateX(-1px) translateY(1px);
}

section.sticky-posts-slider .posts-slider__bullets {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-xxxs);
}

section.sticky-posts-slider .posts-slider__bullets > span {
    display: inline-block;
    width: 24px;
    height: 3px;
    border-radius: 1.5px;
    background-color: rgba(0,0,0,0.1);
}

section.sticky-posts-slider .posts-slider__bullets > span[data-current] {
    background-color: var(--tl--color-blue);
}


section.posts-slider {
    display: flex;
    flex-direction: column;
    grid-column: span 2;
    margin-top: var(--tl--spacing-xxxl);
}

section.posts-slider header {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-xxs);
    margin-bottom: var(--tl--spacing-sm);
    padding-bottom: var(--tl--spacing-xxs);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

section.posts-slider header h2 {
    font-size: var(--tl--font-size-lg);
    line-height: var(--tl--line-height-lg);
}

section.posts-slider header .posts-slider__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: var(--tl--border-radius-sm);
    transition: all 0.2s ease;
}

section.posts-slider header .posts-slider__btn:after {
    content: '';
    position: absolute;
    top: 14px;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--tl--color-black);
    border-right:  2px solid var(--tl--color-black);
}

section.posts-slider header .posts-slider__btn[disabled]:after {
    border-color: var(--tl--color-gray);
}

section.posts-slider header .posts-slider__btn--back:after {
    left:  15px;
    transform: rotate(225deg);
}

section.posts-slider header .posts-slider__btn--forward:after {
    left:  11px;
    transform: rotate(45deg);
}

section.posts-slider header .posts-slider__btn[disabled] {
    background-color: transparent;
}

section.posts-slider header .posts-slider__btn:not([disabled]):hover {
    cursor: pointer;
    transform: scale(1.1);
    transition: all 0.2s ease;
}

section.posts-slider .posts-slider__wrapper {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
}

section.posts-slider .posts-slider__all-posts-container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-md);
    transition: all 0.2s ease;
}

section.posts-slider .posts-slider__all-posts-container .post-card {
    width: 290px;
}

/* Posts sliders */
/*****************************************************************/



/*****************************************************************/
/* Breadcrumbs */

.breadcrumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--tl--spacing-xxs);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    color: var(--tl--color-gray);
}

.breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.breadcrumbs > * {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.breadcrumbs > *:first-child {
    color: var(--tl--color-black);
}

.breadcrumbs > *:not(:last-child) {
    padding-right: 20px;
}

.breadcrumbs > *:not(:first-child) {
    color:  var(--tl--color-gray);
}

.breadcrumbs > *:not(:last-child):after {
    content: '';
    position: absolute;
    top: 6px;
    right: 1px;
    width: 8px;
    height: 8px;
    border-top-width: 2px;
    border-right-width: 2px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: var(--tl--color-black);
    border-right-color: var(--tl--color-black);
    transform: rotate(45deg);
}

.breadcrumbs > *:not(:first-child):not(:last-child):after {
    border-top-color: var(--tl--color-gray);
    border-right-color: var(--tl--color-gray);
}

/* Breadcrumbs */
/*****************************************************************/



/*****************************************************************/
/* Meet experts section */

section.meet-expert {
    padding: var(--tl--spacing-xxxl) 0;
    background: var(--tl--gradient);
    color: var(--tl--color-white);
}

section.meet-expert.extra-margin {
    margin: var(--tl--spacing-xl) 0;;
}

@media (max-width: 768px) {
    section.meet-expert {
        padding: var(--tl--spacing-xl) 0;
    }
}

section.meet-expert .meet-expert__wrapper {
    display: grid;
    grid-template-columns: 6fr 7fr;
    gap: var(--tl--spacing-lg);
}

@media (max-width: 768px) {
    section.meet-expert .meet-expert__wrapper {
        display: grid;
        grid-template-columns: 6fr 7fr;
        gap: var(--tl--spacing-md);
    }
}

@media (max-width: 576px) {
    section.meet-expert .meet-expert__wrapper {
        display: flex;
        flex-direction: column;
    }
}

section.meet-expert .meet-expert__wrapper > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

section.meet-expert .meet-expert__actions {
    display: flex;
    gap: var(--tl--spacing-xs);
}

section.meet-expert img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
    section.meet-expert img {
        width: calc(100% + 30px);
        margin-left: -30px;
    }
}

@media (max-width: 576px) {
    section.meet-expert img {
        width: 80%;
        margin-left: 0;
    }
}

section.meet-expert h2 {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-xxxl);
    line-height: var(--tl--line-height-xxxl);
}

@media (max-width: 992px) {
    section.meet-expert h2 {
        font-size: var(--tl--font-size-xxl);
        line-height: var(--tl--line-height-xxl);
    }
}

@media (max-width: 576px) {
    section.meet-expert h2 {
        font-size: var(--tl--font-size-lg);
        line-height: var(--tl--line-height-lg);
    }
}

section.meet-expert p {
    margin-bottom: var(--tl--spacing-sm);
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
}

/* Breadcrumbs */
/*****************************************************************/



/*****************************************************************/
/* Subscribe section, block, banner */

section.subscribe-section {
    position: relative;
    margin-top: var(--tl--spacing-xxxxxl);
    padding: var(--tl--spacing-xxxl) 0;
    background: var(--tl--gradient);
    color: var(--tl--color-white);
}

@media (max-width:  768px) {
    section.subscribe-section {
        margin-top: var(--tl--spacing-xxl);
        padding: var(--tl--spacing-xxl) 0;
    }
}

section.subscribe-section .subscribe-section__wrapper {
    display: grid;
    grid-template-columns: 5fr 7fr;
}

@media (max-width:  576px) {
    section.subscribe-section .subscribe-section__wrapper {
        display: flex;
        flex-direction: column;
    }
}

section.subscribe-section .subscribe-section__wrapper > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

section.subscribe-section .subscribe-section__successful {
    display: none;
}

section.subscribe-section.successful .subscribe-section__successful {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tl--spacing-xxxs);
    padding: var(--tl--spacing-sm);
    font-size: var(--tl--font-size-xs);
    text-align: center;
    background: var(--tl--gradient);
    border-radius: var(--tl--border-radius-sm);
    color: var(--tl--color-white);
}

section.subscribe-section img {
    margin-left: -30px;
    width: calc(100% + 30px);
    height: auto;
    object-fit: contain;
}

@media (max-width:  576px) {
    section.subscribe-section img {
        margin-left: -30px;
        margin-bottom: -20px;
        width: calc(75% + 30px);
    }
}

section.subscribe-section  h2 {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-xxxl);
    line-height: var(--tl--line-height-xxxl);
}

@media (max-width:  768px) {
    section.subscribe-section  h2 {
        font-size: var(--tl--font-size-xxl);
        line-height: var(--tl--line-height-xxl);
    }
}

@media (max-width:  576px) {
    section.subscribe-section  h2 {
        font-size: var(--tl--font-size-xl);
        line-height: var(--tl--line-height-xl);
    }
}

section.subscribe-section p {
    margin-bottom: var(--tl--spacing-sm);
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
}

section.subscribe-section .subscribe-section__actions {
    display: flex;
    width: 100%;
    gap: var(--tl--spacing-xs);
}

@media (max-width:  576px) {
    section.subscribe-section .subscribe-section__actions {
        flex-direction: column;
    }
}

section.subscribe-block {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--tl--spacing-xxs);
}

section.subscribe-block .subscribe-block__form-wrapper {
    display: flex;
    gap: var(--tl--spacing-xxs);
}

section.subscribe-block .subscribe-block__successful {
    display: none;
}

section.subscribe-block.successful .subscribe-block__successful {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tl--spacing-xxxs);
    padding: var(--tl--spacing-sm);
    font-size: var(--tl--font-size-xs);
    text-align: center;
    background: var(--tl--gradient);
    border-radius: var(--tl--border-radius-sm);
    color: var(--tl--color-white);
}

section.subscribe-block.successful .subscribe-block__successful .subscribe-block__close {
    width: 20px;
    height: 20px;
    background: url("./assets/icons/cross.svg") no-repeat center center;
}

section.subscribe-block.successful .subscribe-block__successful .subscribe-block__close:hover {
    cursor: pointer;
}

section.subscribe-block h3 {
    font-size: var(--tl--font-size-sm);
    line-height: var(--tl--line-height-sm);
}

section.subscribe-banner {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    padding: var(--tl--spacing-xxxs) 52px var(--tl--spacing-xxxs) var(--tl--spacing-sm);
    background: var(--tl--gradient);
    font-size: var(--tl--font-size-xxs);
    line-height: var(--tl--line-height-xxs);
    color: var(--tl--color-white);
    z-index: 100;
}

section.subscribe-banner .subscribe-banner__successful {
    display: none;
}

section.subscribe-banner.successful .subscribe-banner__successful {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: var(--tl--spacing-xxxs) var(--tl--spacing-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--tl--spacing-lg);
    background: var(--tl--gradient);
    font-size: var(--tl--font-size-md);
}

section.subscribe-banner .subscribe-banner__successful .subscribe-banner__close {
    width: 20px;
    height: 20px;
    background: url("./assets/icons/cross.svg") no-repeat center center;
}

section.subscribe-banner .subscribe-banner__successful .subscribe-banner__close:hover {
    cursor: pointer;
}

section.subscribe-banner .close-btn {
    position: absolute;
    top: var(--tl--spacing-xxxs);
    right: var(--tl--spacing-xxxs);
    width: 36px;
    height: 36px;
    background: url('./assets/icons/cross.svg') no-repeat center center;
    transition: all 0.2s ease;
    z-index: 2;
}

section.subscribe-banner .close-btn:hover {
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: var(--tl--border-radius-sm);
    transition: all 0.2s ease;
}

section.subscribe-banner .subscribe-banner__container {
    display: flex;
    align-items: center;
    gap: var(--tl--spacing-xs);
    max-width: 800px;
    margin:  0 auto;
}

section.subscribe-banner.hide {
    display: none;
}

section.subscribe-banner span {
    flex: 1 0 auto;
}

@media (max-width: 768px) {
    section.subscribe-banner {
        padding: var(--tl--spacing-xs);
    }
    
    section.subscribe-banner .subscribe-banner__container {
        flex-direction: column;
        align-items: unset;
        gap: var(--tl--spacing-xxs);
    }
}

@media (max-width: 576px) {
    section.subscribe-banner .subscribe-banner__container {
        flex-direction: column;
        gap: var(--tl--spacing-xxs);
    }

    section.subscribe-banner span {
        width: 80%;
    }
}

/* Subscribe section, block, banner */
/*****************************************************************/



/*****************************************************************/
/* Webinar section */

section.webinar-section {
    margin: var(--tl--spacing-xl) 0;
    padding: 120px 0;
    background: url('./assets/images/webinar-bg.png') no-repeat center center / cover;
    color: var(--tl--color-white);
}

@media (max-width:  992px) {
    section.webinar-section {
        padding: var(--tl--spacing-xxxxxl) 0;
    }
}

@media (max-width:  768px) {
    section.webinar-section {
        padding: var(--tl--spacing-xxl) 0;
    }
}

section.webinar-section .webinar-section__wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--tl--spacing-md);
}

@media (max-width:  768px) {
    section.webinar-section .webinar-section__wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

section.webinar-section .webinar-section__wrapper > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

section.webinar-section .webinar-section__text {
    align-items: flex-start;
}

@media (max-width:  768px) {
    section.webinar-section .webinar-section__text {
        align-items: center;
        text-align: center;
    }
}

section.webinar-section .webinar-section__text h2 {
    margin-bottom: var(--tl--spacing-xs);
    font-size: var(--tl--font-size-xxxl);
    line-height: var(--tl--line-height-xxxl);
}

@media (max-width:  768px) {
    section.webinar-section .webinar-section__text h2 {
        font-size: var(--tl--font-size-xl);
        line-height: var(--tl--line-height-xl);
    }
}

section.webinar-section .webinar-section__text p {
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
}

section.webinar-section .webinar-section__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--tl--spacing-xxs);
    padding: var(--tl--spacing-xs);
    border-radius: var(--tl--border-radius-md);
    background-color: var(--tl--color-white);
    color:  var(--tl--color-black);
    overflow: hidden;
}

section.webinar-section .webinar-section__card img {
    width: 75%;
    border-radius: var(--tl--spacing-xxs);
}


@media (max-width:  768px) {
    section.webinar-section .webinar-section__card {
        max-width: 350px;
    }
}


section.webinar-section .webinar-section__card h3 {
    margin-bottom: var(--tl--spacing-xxxs);
    font-size: var(--tl--font-size-md);
    line-height: var(--tl--line-height-md);
}

section.webinar-section .webinar-section__card a {
    width: 100%;
    grid-column: span 2;
    margin-top: var(--tl--spacing-xxxxs);
}

/* Webinar section */
/*****************************************************************/




section.posts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--tl--spacing-lg) var(--tl--spacing-md);
    padding-top: var(--tl--spacing-lg);
    padding-bottom: var(--tl--spacing-xxxxxl);
}

@media (max-width:  576px) {
    section.posts-grid {
        display: flex;
        flex-direction: column;
    }
}



/*****************************************************************/
/* Modal dialog */

.modal-dialog {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    align-items: flex-start;
    justify-content: center;
    width: 100vw;
    height: 100%;
    padding-top: 150px;
    background-color: rgba(0,0,0,0.6);
    visibility: hidden;
    z-index: 200;
}

@media (max-width: 576px) {
    .modal-dialog {
        padding-top: var(--tl--spacing-xxxl);
    }
}

.modal-dialog.show {
    display: flex;
    visibility: visible;
}

.modal-dialog .modal-dialog__container {
    display: flex;
    flex-direction: column;
    padding: var(--tl--spacing-sm);
    min-width: min(400px, 100%);
    min-height: 200px;
    background-color: var(--tl--color-white);
    border-radius: var(--tl--border-radius-sm);
}

.modal-dialog header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--tl--spacing-md);
    margin-bottom: var(--tl--spacing-sm);
}

.modal-dialog header button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--tl--border-radius-sm);
    background-color: var(--tl--color-white);
}

.modal-dialog header button:hover {
    background-color: var(--tl--color-light-gray);
    cursor: pointer;
}

.modal-dialog header button img {
    width: 14px;
    height: 14px;
}

/* Modal dialog */
/*****************************************************************/





/*****************************************************************/
/* Share links widget */

.share-links {
    display: flex;
    flex-wrap: nowrap;
    margin: var(--tl--spacing-xxxs) 0;
}

.share-links.share-links--fixed {
    position: fixed;
    top: 20vh;
    left: 0;
    flex-direction: column;
    z-index: 80;
}

.share-links .share-links__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: all 0.2s ease;
}

@media (max-width:  992px) {
    .share-links.share-links--fixed .share-links__link {
        width: 36px;
        height: 36px;
    }
}

@media (max-width:  576px) {
    .share-links.share-links--fixed {
        top: unset;
        bottom: 0;
        left: 0;
        width: 100%;
        margin: 0;
        flex-direction: row;
    }
    .share-links.share-links--fixed .share-links__link {
        width: calc(100vw / 5);
        height: 48px;
    }
}

.share-links .share-links__link:hover {
    cursor: pointer;
    transform: scale(1.1);
    transition: all 0.2s ease;
}

.share-links.share-links--fixed .share-links__link:hover {
    transform: none;
    width:  48px;
}

.share-links .share-links__link.share-links__link--facebook {
    background: url('./assets/icons/facebook-white.svg') no-repeat center center, #1877F2;
}

.share-links .share-links__link.share-links__link--twitter {
    background: url('./assets/icons/twitter-white.svg') no-repeat center center, #1DA1F2;
}

.share-links .share-links__link.share-links__link--linkedin {
    background: url('./assets/icons/linkedin-white.svg') no-repeat center center, #0077B7;
}

.share-links .share-links__link.share-links__link--email {
    background: url('./assets/icons/envelope-white.svg') no-repeat center center, #000000;
}

.share-links .share-links__link.share-links__link--link {
    background: url('./assets/icons/link-white.svg') no-repeat center center / 36px, #0177F7;
}

/* Share links widget */
/*****************************************************************/




/*****************************************************************/
/* Bottom bar */

section.bottom-bar {
    position: fixed;
    bottom: var(--tl--spacing-xs);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 var(--tl--spacing-xs);
    font-size: var(--tl--font-size-sm);
    line-height: var(--tl--line-height-sm);
    transition: all 0.2s ease;
}

section.bottom-bar.hide {
    bottom: -70px;
    transition: all 0.2s ease;
}

@media (max-width: 576px) {
    section.bottom-bar {
        display: none;
    }
}

section.bottom-bar .bottom-bar__wrapper {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: min(100%, 800px);
    margin: 0 auto;
    padding: var(--tl--spacing-xxs) var(--tl--spacing-xxs);
    background: var(--tl--gradient);
    border-radius: var(--tl--border-radius-md);
    color: var(--tl--color-white);
    box-shadow: 0 0 32px 0 rgb(0 0 0 / 30%);
}

section.bottom-bar .bottom-bar__wrapper a {
    margin-left: auto;
}

/* Bottom bar */
/*****************************************************************/