:root {
    --blue: #393b57;
    --red: #cc0000;
    --white: #ffffff;
    --blue-dark: #161d2e;
    --light: #f0f0f0;
    --dark: #e0e0e0;
    --bs-body-font-family: 'Montserrat';
    --bs-body-font-weight: 600;
    --bs-body-color: var(--blue);
    --menu-height: 120px;
    --partners-items: 1;
    --boxes-items: 1;
}

@media screen and (min-width: 768px) {
    :root {
        --menu-height: 136px;
        --partners-items: 2;
        --boxes-items: 2;
    }
}

@media screen and (min-width: 992px) {
    :root {
        --bs-body-font-size: 12pt;
        --bs-nav-link-font-size: 10pt;
        --spotlight-pad: 80px;
        --menu-height: 120px;
        --partners-items: 3;
    }
    .t3-sl-1 {
        --spotlight-pad: 120px;
    }
}

@media screen and (min-width: 1200px) {
    :root {
        --partners-items: 4;
    }
}

.btn {
    --bs-btn-font-size: 10pt;
    --bs-btn-font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ThinItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 100;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Thin.ttf') format('truetype');
    font-style: normal;
    font-weight: 100;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraLightItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 200;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraLight.ttf') format('truetype');
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-LightItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 300;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.ttf') format('truetype');
    font-style: normal;
    font-weight: 300;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Italic.ttf') format('truetype');
    font-style: italic;
    font-weight: 400;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-MediumItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 500;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.ttf') format('truetype');
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBoldItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 600;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-BoldItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 700;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraBoldItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 800;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraBold.ttf') format('truetype');
    font-style: normal;
    font-weight: 800;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-BlackItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 900;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Black.ttf') format('truetype');
    font-style: normal;
    font-weight: 900;
}


@media screen and (min-width: 992px) {
    h1, .h1 {
        font-size: 44pt;
        line-height: 1.5em;
    }
    h2, .h2 {
        font-size: 20pt;
    }
    h3, .h3 {
        font-size: 16pt;
    }
    h4, .h4 {
        font-size: 14pt;
    }
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, .h1:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child, .h6:first-child {
    margin-top: 0;
}

p:last-child,
ul:last-child,
ol:last-child,
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, .h1:last-child, .h2:last-child, .h3:last-child, .h4:last-child, .h5:last-child, .h6:last-child {
    margin-bottom: 0;
}

a {
    text-decoration: none;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.module-title {
    text-transform: uppercase;
    font-weight: 800;
}


/****************************************************************
** Header **
****************************************************************/

.t3-header {
    position: relative;
    z-index: 1;
    background-image: linear-gradient(to right, var(--blue), var(--blue-dark));
}

.home .t3-header {
    background-image: none;
}

.t3-header > .container > .row {
    align-items: center;
}


/****************************************************************
** Menu **
****************************************************************/

.navbar-nav {
    --bs-nav-link-font-weight: 700;
    --bs-nav-link-color: var(--white);
    --bs-nav-link-hover-color: var(--white);
}

.nav-link {
    text-transform: uppercase;
    letter-spacing: 2px;
    text-underline-offset: 8px;
}

.nav-link:hover {
    text-decoration: underline;
}


/****************************************************************
** Footer **
****************************************************************/

.t3-footer {
    background-color: var(--red);
    color: var(--white);
    font-weight: 500;
}

.t3-footer a {
    color: var(--white);
}

.t3-footnav {
    padding: var(--spotlight-pad) 0;
}

.t3-footnav .nav {
    flex-direction: column;
    gap: 1rem;
}

.t3-copyright {
    background-color: var(--blue);
    padding-top: var(--footer-pad);
    padding-bottom: var(--footer-pad);
    margin-bottom: 0;
    font-size: 10pt;
}

.moduletable.classifications p {
    display: flex;
    gap: 1rem;
}

.moduletable.classifications img {
    height: 100px;
    width: auto;
}



/****************************************************************
** Home **
****************************************************************/

.home .t3-sl .module-title {
    margin-bottom: 2rem;
}

.home .t3-sl-3 .module-title,
.home .t3-sl-4 .module-title {
    margin-bottom: var(--spotlight-pad);
}

.home .t3-sl-1 {
    background-image: url('/images/template/header_bg.png'), linear-gradient(to right, var(--blue), var(--blue-dark));
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
    margin-top: calc(0px - var(--menu-height));
    padding-top: calc(var(--spotlight-pad) + var(--menu-height));
    overflow: hidden;
}

.home .t3-sl-1 .container {
    position: relative;
}

.home .t3-sl-1 .container::before {
    content: url(/images/template/lineart_left_top.svg);
    position: absolute;
    left: -576px;
    bottom: calc(0px - var(--spotlight-pad));
    width: 1048px;
    height: 930.3px;
}

.home .t3-sl-2 {
    background-color: var(--red);
    overflow: hidden;
}

.home .t3-sl-2 .container::before {
    content: url(/images/template/lineart_left_bottom.svg);
    position: absolute;
    left: -576px;
    top: calc(0px - var(--spotlight-pad));
    width: 1048px;
    height: 451.3px;
}

.home .t3-sl-2 .container {
    position: relative;
}

.home .t3-sl-2 .container::after {
    content: url(/images/template/lineart_right.svg);
    position: absolute;
    right: -569px;
    top: calc(0px - var(--spotlight-pad));
    width: 569px;
    height: 451.3px;
}

.home .t3-sl-4 {
    padding-bottom: 0;
}

.moduletable.hero h1 {
    text-transform: uppercase;
    color: var(--white);
    font-weight: 800;
    word-spacing: 100vw;
}

.moduletable.intro {
    display: flex;
    flex-direction: column;
    justify-self: center;
    color: var(--white);
}

.moduletable.intro .module-content {
    max-width: 600px;
}

.moduletable.products .mod-articles-item,
.blog-items.products .blog-item {
    background-image: linear-gradient(to bottom, var(--light), var(--dark));
    padding-top: var(--spotlight-pad);
    padding-bottom: var(--spotlight-pad);
}

.moduletable.products .mod-articles-item .mod-articles-item-content > .item-image,
.moduletable.products .mod-articles-item .mod-articles-item-content > .featured-text,
.blog-items.products .blog-item .blog-item-content > .item-image,
.blog-items.products .blog-item .blog-item-content > .item-content {
    flex: 1 1 50%;
}

.moduletable.products .mod-articles-item .mod-articles-item-content .mod-articles-title,
.moduletable.products .mod-articles-item .mod-articles-item-content .field-entry.subtitle .field-value,
.blog-items.products .blog-item .blog-item-content .blog-article-title,
.blog-items.products .blog-item .blog-item-content .field-entry.subtitle .field-value {
    text-transform: uppercase;
    font-weight: 700;
}

.moduletable.products .mod-articles-item .mod-articles-item-content .mod-articles-title,
.blog-items.products .blog-item .blog-item-content .blog-article-title {
    color: var(--red);
}


.moduletable.awards .mod-articles-items {
    background-color: var(--blue);
    color: var(--white);
    padding-top: var(--spotlight-pad);
    padding-bottom: var(--spotlight-pad);
}

.moduletable.awards .mod-articles-items .mod-articles-item-content {
    width: 60%;
}

.moduletable.awards .mod-articles-items .item-image {
    flex-shrink: 0;
}

.moduletable.awards .mod-articles-items .item-image img {
    height: 200px;
    width: auto;
}

.moduletable.awards .mod-articles-items .mod-articles-title,
.moduletable.awards .mod-articles-items .fields-container {
    display: inline-block;
}

.moduletable.awards .mod-articles-items .mod-articles-title {
    text-transform: uppercase;
    font-weight: 700;
}

.moduletable.awards .mod-articles-items .fields-container .field-value {
    font-weight: 400;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 10rem;
    height: 10rem;
}

.carousel-indicators {
    margin-bottom: -40px;
}

.carousel-indicators [data-bs-target] {
    opacity: 1;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    margin-left: 10px;
    transition: background-color 0.5s ease-in-out;
    transform: rotate(45deg);
}

.carousel-indicators .active {
    background-color: var(--red);
}

.moduletable.boxes .custom {
    display: grid;
    grid-template-columns: repeat(var(--boxes-items), 1fr);
}

.moduletable.boxes .custom .box.blue {
    background-color: var(--blue);
    color: var(--white);
}

.moduletable.boxes .custom .box.red {
    background-color: var(--red);
    color: var(--white);
}

.moduletable.boxes .custom .box.white {
    background-color: var(--white);
    color: var(--blue);
}

.moduletable.boxes .custom .box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.moduletable.boxes .custom .box .box-inner {
    padding: 3rem;
}

.moduletable.boxes .custom .box .box-inner .module-title .subtitle {
    font-weight: 500;
}

.moduletable.boxes .custom .box .box-image figure {
    margin-bottom: 0;
}

.moduletable.boxes .custom .box .box-image img {
    width: 100%;
    aspect-ratio: 3 / 1;
    object-fit: cover;
}


/****************************************************************
** Content **
****************************************************************/

.fields-container {
    list-style-type: none;
    padding-inline-start: 0;
}

.partners .blog-items {
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: repeat(var(--partners-items), 1fr);
}

.partners .blog-items .blog-item {
    text-align: center;
}


/****************************************************************
** Contact **
****************************************************************/


/****************************************************************
** Logos **
****************************************************************/

.palyazat {
    color: var(--dark);
}

.palyazat .logos {
    display: grid;
    grid-row-gap: 30px;
    grid-template-columns: repeat(1, 1fr);
    align-items: center;
}

@media (min-width: 576px) {
    .palyazat .logos {
        display: flex;
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 766px) {
    .palyazat .logos {
        grid-column-gap: 140px;
    }
}

.palyazat .logos .dsp {
    max-height: 140px;
}

.palyazat .logos .neum {
    max-height: 100px;
}

