/* --------------------------------------------------------------
   Variables
-------------------------------------------------------------- */

:root {
    --magna-main-color: var(--wp--preset--color--main-blue);
    --magna-transition: all 0.25s ease-in-out;
    --magna-header-height: 80px;
}

/* --------------------------------------------------------------
   Basic Reset
-------------------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    overflow-x: hidden;
}

ul,
ol {
    list-style: none;
}

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

table {
    border-collapse: collapse;
    border-spacing: 0;
}

img,
video {
    max-width: 100%;
    height: auto;
    display: block;
}

p {
    margin-bottom: 1rem;
}

button {
    font-family: inherit;
    font-size: 100%;
    line-height: 1;
    cursor: pointer;
}

[id] {
    scroll-margin-top: 120px;
}

/* --------------------------------------------------------------
   Input Fields
-------------------------------------------------------------- */

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
    position: relative;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    appearance: none;
    border-radius: 0;
    border: 1px solid var(--wp--preset--color--main-dark);
    box-shadow: none;
    box-sizing: border-box;
    cursor: pointer;
    font-family: var(--wp--preset--font-family--inter);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    margin: 0 0 9px;
    outline: 0;
    padding: 3px 16px;
    background-color: #fff;
    color: var(--wp--preset--color--text-color);
    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out;
}

textarea {
    height: 87px;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMyAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuNSAxMEwwLjg3MDgzNSAwLjI1TDEyLjEyOTIgMC4yNTAwMDFMNi41IDEwWiIgZmlsbD0iIzM4MzkzNyIvPgo8L3N2Zz4K);
    background-repeat: no-repeat;
    background-position-x: calc(100% - 24px);
    background-position-y: 50%;
}

/* --------------------------------------------------------------
   Container
-------------------------------------------------------------- */
.container {
    width: 100%;
    max-width: clamp(320px, 90%, 1200px);
    margin: 0 auto;
}

/* --------------------------------------------------------------
   Header
-------------------------------------------------------------- */
header {
    height: var(--magna-header-height);
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    color: var(--wp--preset--color--white);
}

header .header-outer-holder,
header .header-inner-holder {
    height: 100%;
}

header .header-inner {
    height: 100%;
    width: 100%;
    position: relative;
}

header .site-logo-block {
    flex-shrink: 0;
}

header .site-logo-block img {
    max-height: 40px;
}

/* -- Header navigation menu -- */
header nav.wp-block-navigation ul.wp-block-navigation {
    gap: 52px;
}

header nav.wp-block-navigation ul.wp-block-navigation>li>a.wp-block-navigation-item__content {
    font-size: 16px;
    line-height: 1.25em;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0;
    color: #fff;
    transition: var(--magna-transition);
}

header nav.wp-block-navigation ul.wp-block-navigation>li>a.wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--main-yellow);
}

.header a {
    color: var(--wp--preset--color--white);
}

/* --------------------------------------------------------------
   Mobile Header
-------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {
    header nav.wp-block-navigation {
        display: none;
    }

    header .lang-switcher.wp-block-magna-language-switcher {
        display: none;
    }
}

/* --------------------------------------------------------------
   Footer
-------------------------------------------------------------- */

footer {
    background-color: var(--wp--preset--color--main-dark);
    color: #fff;
}

footer .footer-top {
    padding: 32px 0;
}

footer .footer-top .wp-block-heading {
    font-family: var(--wp--preset--font-family--afacad);
    font-weight: 400;
}

footer .footer-top :where(.is-layout-flow)>* {
    margin-top: 16px;
}

footer .footer-top :where(.is-layout-flow)> :first-child {
    margin-block-start: 0;
}

footer .footer-top .wp-block-navigation.is-vertical {
    row-gap: 8px;
}

footer .footer-bottom {
    padding: 27px 0;
    border-top: 1px solid #B0C8E2CC;
}

footer .footer-bottom p {
    color: #90A1B9;
}

@media screen and (max-width: 781px) {
    footer .footer-top .row-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    footer .footer-top .row-bottom>.wp-block-group {
        flex-basis: auto;
    }

    footer .footer-top .row-bottom .footer-nav-holder {
        padding-bottom: 21px;
        border-bottom: 1px solid #AFAFAF;
    }

    footer .footer-top .row-bottom {
        padding-top: 16px;
    }
}

@media screen and (max-width: 600px) {
    footer .footer-top .row-top {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 32px;
        padding: 0 0 30px;
    }

    footer .footer-nav-holder nav ul {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 19px;
    }
}

/* --------------------------------------------------------------
   Main content
-------------------------------------------------------------- */


/* --------------------------------------------------------------
   Button
-------------------------------------------------------------- */

/* Gurenberg block button */
:where(.wp-block-button__link) {
    transition: all 0.25s ease-in-out;
}

:where(.wp-block-button__link):hover {
    background-color: var(--wp--preset--color--main-dark);
    border-color: transparent;
    color: #fff;
}

/* --------------------------------------------------------------
   Blog
-------------------------------------------------------------- */

/* Blog single */
.single-post .main-content {
    margin-top: calc(var(--magna-header-height) + 30px);
}

.single-post .wp-block-post-featured-image {
    margin-top: 42px;
}

.single-post .taxonomy-category.wp-block-post-terms {
    color: var(--wp--preset--color--main-blue);
    display: block;
    font-size: 14px;
    letter-spacing: .5em;
    line-height: 1.2em;
    margin: 0;
    text-decoration: none;
    text-transform: uppercase;
}

.single-post .entry-content {
    margin-top: 30px;
}

.single-post .entry-content p a,
.single-post .entry-content p a span {
    font-weight: 700 !important;
    text-decoration: underline;
}

/* Sidebar */
aside.sidebar>h3 {
    font-size: 24px;
    line-height: 1.25em;
    font-weight: 700;
    border-bottom: 1px solid var(--wp--preset--color--main-blue);
    padding-bottom: 18px;
}

aside.sidebar .wp-block-query {
    margin-top: 19px;
}

aside.sidebar .wp-block-query .wp-block-post {
    border-bottom: 1px solid var(--wp--preset--color--main-blue);
    padding-bottom: 17px;
    margin-top: 19px;
}

aside.sidebar .wp-block-query .wp-block-post .wp-block-post-title {
    font-size: 20px;
    line-height: 1.25em;
    font-weight: 700;
}

aside.sidebar .wp-block-query .wp-block-post .wp-block-post-excerpt {
    margin-top: 9px;
}

/* --------------------------------------------------------------
   Contact Form 7
-------------------------------------------------------------- */
.wpcf7-form label {
    display: block;
    padding: 0;
    margin: 0 0 7px;
}

.wpcf7-form label span {
    color: #FF0000;
}

.wpcf7-form input[type="submit"] {
    font-family: var(--wp--preset--font-family--playfair-display);
    font-size: 14px;
    line-height: 1.6em;
    font-weight: 400;
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--main-blue);
    border-radius: 0;
    border: none;
    outline: none;
    padding: 9px 25px;
    margin-top: 16px;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
}

.wpcf7-form input[type="submit"]:hover {
    background-color: var(--wp--preset--color--main-dark);
    border-color: transparent;
    color: #fff;
}

.wpcf7-form .select2-container {
    margin: 0 0 7px;
}

.main-form .button-holder {
    display: flex;
    justify-content: center;
    margin: 6px 0 0;
}

.main-form .button-holder-inner {
    position: relative;
}

.main-form .wpcf7-spinner {
    position: absolute;
}

.main-form .form-acceptance-holder {
    margin: 4px 0 0;
}

.main-form .wpcf7-list-item {
    margin: 0;
}

.main-form .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 0;
    margin: 0 0 11px;
}

.main-form .wpcf7-list-item input[type="checkbox"] {
    position: relative;
    top: 4px;
}

.main-form .wpcf7-list-item-label {
    font-size: 12px;
    line-height: 2em;
    font-weight: 400;
    color: #383952;
}

.contact-form-heading {
    display: flex;
    justify-content: flex-start;
    gap: 17px;
}

.contact-form-heading::before {
    content: '';
    display: block;
    flex-shrink: 0;
    position: relative;
    top: 6px;
    width: 27px;
    height: 27px;
    background-color: var(--wp--preset--color--main-orange);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNyAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjE4ODQgMi4yMjEwNEwxMS4yODM2IDQuMTgzNDlDMTIuMjcyIDUuOTU0NDkgMTEuODc1MyA4LjI3Nzc1IDEwLjMxODYgOS44MzQ0NEMxMC4zMTg2IDkuODM0NDQgOC40MzA1NSAxMS43MjI4IDExLjg1MzggMTUuMTQ2MkMxNS4yNzYxIDE4LjU2ODQgMTcuMTY1NiAxNi42ODE1IDE3LjE2NTYgMTYuNjgxNUMxOC43MjIzIDE1LjEyNDggMjEuMDQ1NSAxNC43MjggMjIuODE2NSAxNS43MTY0TDI0Ljc3ODkgMTYuODExNkMyNy40NTMyIDE4LjMwNCAyNy43NjkgMjIuMDU0MyAyNS40MTg1IDI0LjQwNUMyNC4wMDYgMjUuODE3NSAyMi4yNzU3IDI2LjkxNjUgMjAuMzYyOSAyNi45ODg5QzE3LjE0MyAyNy4xMTExIDExLjY3NDYgMjYuMjk2MiA2LjE4OTI0IDIwLjgxMDhDMC43MDM5MSAxNS4zMjU0IC0wLjExMTAxNyA5Ljg1NzA4IDAuMDExMDU2NiA2LjYzNzFDMC4wODM1Njg1IDQuNzI0MzQgMS4xODI2IDIuOTk0MDIgMi41OTUwNiAxLjU4MTU4QzQuOTQ1NjYgLTAuNzY5MDI5IDguNjk1OTcgLTAuNDUzMTk2IDEwLjE4ODQgMi4yMjEwNFoiIGZpbGw9IiNGRjIyRkYiLz4KPC9zdmc+Cg==);
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjciIHZpZXdCb3g9IjAgMCAyNyAyNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEwLjE4ODQgMi4yMjEwNEwxMS4yODM2IDQuMTgzNDlDMTIuMjcyIDUuOTU0NDkgMTEuODc1MyA4LjI3Nzc1IDEwLjMxODYgOS44MzQ0NEMxMC4zMTg2IDkuODM0NDQgOC40MzA1NSAxMS43MjI4IDExLjg1MzggMTUuMTQ2MkMxNS4yNzYxIDE4LjU2ODQgMTcuMTY1NiAxNi42ODE1IDE3LjE2NTYgMTYuNjgxNUMxOC43MjIzIDE1LjEyNDggMjEuMDQ1NSAxNC43MjggMjIuODE2NSAxNS43MTY0TDI0Ljc3ODkgMTYuODExNkMyNy40NTMyIDE4LjMwNCAyNy43NjkgMjIuMDU0MyAyNS40MTg1IDI0LjQwNUMyNC4wMDYgMjUuODE3NSAyMi4yNzU3IDI2LjkxNjUgMjAuMzYyOSAyNi45ODg5QzE3LjE0MyAyNy4xMTExIDExLjY3NDYgMjYuMjk2MiA2LjE4OTI0IDIwLjgxMDhDMC43MDM5MSAxNS4zMjU0IC0wLjExMTAxNyA5Ljg1NzA4IDAuMDExMDU2NiA2LjYzNzFDMC4wODM1Njg1IDQuNzI0MzQgMS4xODI2IDIuOTk0MDIgMi41OTUwNiAxLjU4MTU4QzQuOTQ1NjYgLTAuNzY5MDI5IDguNjk1OTcgLTAuNDUzMTk2IDEwLjE4ODQgMi4yMjEwNFoiIGZpbGw9IiNGRjIyRkYiLz4KPC9zdmc+Cg==);
}

.newsletter-form input {
    padding: 7px 16px;
    font-size: 16px;
    line-height: 1.25em;
    font-weight: 400;
    background-color: #F8F8F8;
    border-color: #F8F8F8;
    color: var(--wp--preset--color--main-blue);
    border-radius: 5em;
}

.newsletter-form input::placeholder {
    color: #AFAFAF;
}

.newsletter-form .form-acceptance-holder {
    margin: 4px 0 15px;
}

.newsletter-form .form-acceptance-holder label {
    padding: 0;
    margin: 0;
    font-size: 16px;
    line-height: 1.25em;
    font-weight: 400;
    color: var(--wp--preset--color--main-blue);
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.newsletter-form .form-acceptance-holder input[type="checkbox"] {
    position: relative;
    top: 3px;
}

.newsletter-form .form-acceptance-holder .wpcf7-list-item {
    margin: 0;
}

/* --------------------------------------------------------------
   Swiper
-------------------------------------------------------------- */
.swiper-pagination .swiper-pagination-bullet {
    background-color: var(--wp--preset--color--main-blue);
    width: 12px;
    height: 12px;
    margin: 0 12px;
    opacity: 1;
}

.swiper-pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
    margin: 0 12px;
}

@media screen and (max-width: 480px) {
    .swiper-pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
        margin: 0 8px;
    }
}

.swiper-pagination .swiper-pagination-bullet:first-child {
    margin-left: 0;
}

.swiper-pagination .swiper-pagination-bullet:last-child {
    margin-right: 0;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 0.5;
}

.swiper-button-prev,
.swiper-button-next {
    width: 48px;
    height: 48px;
    background: none;
    border: none;
    transition: all 0.25s ease;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {}

.swiper-button-prev:after {
    content: '';
    width: 24px;
    height: 42px;
    background-color: var(--wp--preset--color--main-blue);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNSAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDEuNjQ3MjlMMTMuNTIyNSAwTDAgMTNMMTMuNTIyNSAyNkwxNSAyNC4zNTI3TDMuMTkxMjUgMTNMMTUgMS42NDcyOVoiIGZpbGw9IiM3NTZCNTYiLz4KPC9zdmc+Cg==);
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNSAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDEuNjQ3MjlMMTMuNTIyNSAwTDAgMTNMMTMuNTIyNSAyNkwxNSAyNC4zNTI3TDMuMTkxMjUgMTNMMTUgMS42NDcyOVoiIGZpbGw9IiM3NTZCNTYiLz4KPC9zdmc+Cg==);
    mask-size: cover;
    -webkit-mask-size: cover;
    opacity: 0.5;
    transition: all 0.25s ease;
}

.swiper-button-next:after {
    content: '';
    width: 24px;
    height: 42px;
    background-color: var(--wp--preset--color--main-blue);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNSAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMS42NDcyOUwxLjQ3NzUgMEwxNSAxM0wxLjQ3NzUgMjZMMCAyNC4zNTI3TDExLjgwODggMTNMMCAxLjY0NzI5WiIgZmlsbD0iIzc1NkI1NiIvPgo8L3N2Zz4K);
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjYiIHZpZXdCb3g9IjAgMCAxNSAyNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMS42NDcyOUwxLjQ3NzUgMEwxNSAxM0wxLjQ3NzUgMjZMMCAyNC4zNTI3TDExLjgwODggMTNMMCAxLjY0NzI5WiIgZmlsbD0iIzc1NkI1NiIvPgo8L3N2Zz4K);
    mask-size: cover;
    -webkit-mask-size: cover;
    position: relative;
    left: 1px;
    opacity: 0.5;
    transition: all 0.25s ease;
}

.swiper-button-prev:hover:after,
.swiper-button-next:hover:after {
    opacity: 1;
}

@media screen and (max-width: 600px) {

    .swiper-button-prev:after,
    .swiper-button-next:after {
        width: 16px;
        height: 28px;
        mask-size: cover;
        -webkit-mask-size: cover;
    }
}

/* --------------------------------------------------------------
   Content custom styles
-------------------------------------------------------------- */
ul.wp-block-list {
    list-style: disc;
    padding-left: 21px;
}

.contact-box {
    transform: translateY(175px);
}

@media screen and (max-width: 781px) {
    .awards-section.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: calc(33% - (48px / 3)) !important;
    }

    .flex-column-reverse-mobile {
        flex-direction: column-reverse;
    }

    .flex-column-reverse-mobile .wp-block-column {
        width: 100%;
    }
}

@media screen and (max-width: 600px) {
    .our-clients .wp-block-image img {
        max-width: calc(var(--natural-width) * 0.7);
    }
}

/* --------------------------------------------------------------
   Category archive — blog grid
-------------------------------------------------------------- */
.category-blog-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-blog-grid .wp-block-post-template.is-flex-container>li {
    width: auto !important;
}

.category-blog-grid .wp-block-post {
    display: flex;
    flex-direction: column;
}

.category-blog-grid .wp-block-group {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.category-blog-grid .wp-block-post-featured-image {
    margin-bottom: 33px;
}

.category-blog-grid .wp-block-post-featured-image a {
    display: block;
}

.category-blog-grid .wp-block-post-featured-image img {
    width: 100%;
    display: block;
    aspect-ratio: 3.8 / 2.4;
    object-fit: cover;
}

.category-blog-grid .wp-block-post-terms {
    font-size: 14px;
    line-height: 1.2em;
    text-transform: uppercase;
    letter-spacing: 0.5em;
    margin: 0 0 14px;
}

.category-blog-grid .wp-block-post-terms a {
    color: var(--wp--preset--color--main-blue);
    text-decoration: none;
}

.category-blog-grid .wp-block-post-title {
    flex: 1;
    font-size: clamp(15.747px, 0.984rem + ((1vw - 3.2px) * 0.645), 24px);
    font-weight: 400;
    line-height: 1.3333;
    margin: 0 0 24px;
}

.category-blog-grid .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

.category-blog-grid .wp-block-read-more {
    font-family: var(--wp--preset--font-family--playfair-display);
    font-size: 14px;
    line-height: 1.6em;
    font-weight: 400;
    color: var(--wp--preset--color--white);
    background-color: var(--wp--preset--color--main-blue);
    border: 1px solid rgba(255, 255, 255, 0.5);
    padding: 8px 25px;
    text-decoration: none;
    display: inline-flex;
    align-self: flex-start;
    transition: all 0.25s ease-in-out;
}

.category-blog-grid .wp-block-read-more:hover {
    background-color: var(--wp--preset--color--main-dark);
}

.category-blog-grid .wp-block-query-pagination {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

@media screen and (max-width: 1024px) {
    .category-blog-grid .wp-block-post-template {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .category-blog-grid .wp-block-post-template {
        grid-template-columns: 1fr;
    }
}