: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);
    --bs-border-radius: 0;
    --altcha-border-radius: 0;
    --menu-height: 120px;
    --hero-video: 700px;
    --box-padding: 1rem;
    --partners-items: 2;
    --boxes-items: 1;
    --products: 1;
    --categories: 1;
    --award-width: 100vw;
}

@media screen and (min-width: 768px) {
    :root {
        --bs-nav-link-font-size: 10pt;
        --menu-height: 165px;
        --box-padding: 2rem;
        --partners-items: 3;
        --boxes-items: 2;
        --products: 2;
        --categories: 2;
        --award-width: 600px;
    }
}

@media screen and (min-width: 992px) {
    :root {
        --bs-body-font-size: 12pt;
        --bs-body-line-height: 2;
        --spotlight-pad: 80px;
        --menu-height: 120px;
        --box-padding: 3rem;
        --partners-items: 4;
        --products: 3;
        --categories: 3;
        --award-width: 700px;
    }
    .t3-sl-1 {
        --spotlight-pad: 120px;
    }
}

@media screen and (min-width: 1200px) {
    :root {
        --partners-items: 5;
        --products: 4;
        --categories: 4;
        --award-width: 800px;
    }
}

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

.btn-primary {
    --bs-btn-color: var(--white);
    --bs-btn-bg: var(--blue);
    --bs-btn-border-color: var(--blue);
    --bs-btn-hover-color: var(--white);
    --bs-btn-hover-bg: var(--red);
    --bs-btn-hover-border-color: var(--red);
    --bs-btn-active-color: var(--white);
    --bs-btn-active-bg: var(--red);
    --bs-btn-active-border-color: var(--red);
}

.btn-secondary {
    --bs-btn-color: var(--blue);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--red);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--red);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: transparent;
    --bs-btn-padding-x: 0;
    display: flex;
}

.btn-secondary::after {
    font: var(--fa-font-solid);
    content: "\f054";
    font-size: 150%;
    margin-left: 6px;
}

@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;
}

h1, .h1 {
    font-size: 22pt;
    line-height: 1.5em;
}
h2, .h2 {
    font-size: 18pt;
}
h3, .h3 {
    font-size: 14pt;
}
h4, .h4 {
    font-size: 13pt;
}

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

@media screen and (min-width: 1200px) {
    h1, .h1 {
        font-size: 44pt;
    }
}

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;
    color: var(--red);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

a:hover, a:focus {
    color: var(--blue);
}

.fadein {
    opacity: 0.3;
}

.darken {
    position: relative;
}

.darken::after {
    content: " ";
    z-index: 0;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
}

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

.page-header {
    margin-bottom: 2rem;
}

.page-header > * {
    text-transform: uppercase;
    font-weight: 800;
    text-align: center;
}

.control-group {
    margin-bottom: 1rem;
}

.form-control:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: var(--blue);
}

.t3-mainbody:not(.container),
.t3-mainbody:not(.container) .t3-content {
    padding-bottom: 0;
}

body .video-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

body .video-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    margin: 0;
}


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

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

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

.languageswitcherload .mod-languages {
    text-align: right;
}


/****************************************************************
** 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;
}

.t3-off-canvas .t3-off-canvas-header {
    background-image: linear-gradient(to right, var(--blue), var(--blue-dark));
    color: var(--white);
}

.t3-off-canvas .close {
    background: var(--blue);
    color: var(--white);
    border: none;
    font-size: 20px;
}

.t3-off-canvas .t3-off-canvas-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 90%;
}

.t3-off-canvas .t3-off-canvas-body .nav {
    gap: 1rem;
}

.t3-off-canvas .t3-off-canvas-body a {
    color: var(--blue);
    text-transform: uppercase;
}

.t3-off-canvas .t3-off-canvas-body a:hover,
.t3-off-canvas .t3-off-canvas-body a:focus {
    color: var(--red);
}

/****************************************************************
** 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;
    row-gap: 2rem;
}

.t3-footnav > div:nth-child(1) {
    order: 0;
}

.t3-footnav > div:nth-child(2) {
    order: 2;
}

.t3-footnav > div:nth-child(3) {
    order: 3;
}

.t3-footnav > div:nth-child(4) {
    order: 1;
}

@media screen and (min-width: 768px) {
    .t3-footnav > div:nth-child(1) {
        order: 0;
    }

    .t3-footnav > div:nth-child(2) {
        order: 1;
    }

    .t3-footnav > div:nth-child(3) {
        order: 2;
    }

    .t3-footnav > div:nth-child(4) {
        order: 3;
    }
}

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

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

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

.moduletable.footertext .mod-articles-items {
    list-style-type: none;
    padding-left: 0;
}

.moduletable.footertext .mod-articles-image {
    margin-bottom: 1rem;
}


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

@media screen and (min-width: 768px) {
    .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-image: url('/images/template/vidu-video-480p lowres.webp'), linear-gradient(to right, var(--blue), var(--blue-dark));
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: var(--menu-height);
    background-size: auto calc(100% - var(--menu-height));
*/
    background-image: linear-gradient(to right, var(--blue), var(--blue-dark));
    margin-top: calc(0px - var(--menu-height));
    padding-top: calc(var(--spotlight-pad) + var(--menu-height));
    overflow: hidden;
    position: relative;
}

.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 {
    position: relative;
}

.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::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-3,
.home .moduletable.awards .mod-articles-items {
    position: relative;
}

.home .t3-sl-3::before,
.home .moduletable.awards .mod-articles-items::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
    width: 30px;
    height: 30px;
}

.home .t3-sl-3::before {
    background-color: var(--red);
}

.home .moduletable.awards .mod-articles-items::before {
    background-color: var(--white);
}

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

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

.moduletable.hero .mod-custom {
    position: absolute;
    right: 0;
    top: var(--menu-height);
    bottom: 0;
}

.moduletable.hero .mod-custom video {
    /*width: var(--hero-video);*/
    height: 100%;
}

.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,
.item-page .page-content {
    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,
.item-page .item-image,
.item-page .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,
.item-page .field-entry.subtitle .field-value,
.contact .page-header .subtitle span {
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
}

.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: var(--award-width);
}

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

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

@media screen and (min-width: 768px) {
    .moduletable.awards .mod-articles-items .item-image img {
        max-height: 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;
}

.owl-carousel .owl-stage {
    display: flex;
    align-items: center;
}

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

.carousel-indicators,
.owl-theme .owl-nav.disabled+.owl-dots {
    margin-top: 2rem;
}

@media screen and (min-width: 768px) {
    .carousel-indicators,
    .owl-theme .owl-nav.disabled+.owl-dots {
        margin-bottom: -2rem;
    }
}

@media screen and (min-width: 992px) {
    .carousel-indicators,
    .owl-theme .owl-nav.disabled+.owl-dots {
        margin-top: 3rem;
    }
}

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

.owl-theme .owl-dots .owl-dot.active span,
.carousel-indicators .active {
    background-color: var(--red);
}

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

.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.blue .btn-secondary {
    --bs-btn-color: var(--white);
    --bs-btn-hover-color: var(--red);
    --bs-btn-active-color: var(--red);
}

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

.moduletable.boxes .custom .box.red .btn-secondary {
    --bs-btn-color: var(--white);
    --bs-btn-hover-color: var(--blue);
    --bs-btn-active-color: var(--blue);
}

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

.moduletable.boxes .custom .box.white .btn-secondary{
    --bs-btn-color: var(--blue);
    --bs-btn-hover-color: var(--red);
    --bs-btn-active-color: var(--red);
}

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

.moduletable.boxes .custom .box .box-inner {
    padding: var(--box-padding);
}

.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;
}

.com-content-blog__links {
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: repeat(var(--products), 1fr);
}

.com-content-blog__links .com-content-blog__link {
    border: 1px solid var(--blue);
    text-align: center;
}
  
/*
@media screen and (min-width: 992px) {
    .category-desc {
        column-count: 2;
        column-gap: 2rem;
    }
}
*/

.category-desc,
.com-content-article__body {
    max-width: 800px;
}

.item-page .field-entry.subtitle {
    text-align: center;
}

.item-page .com-content-article__body + .fields-container {
    margin-top: 1rem;
}


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

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


/****************************************************************
** Shop **
****************************************************************/

.zuzu.products .categories {
    display: grid;
    grid-template-columns: repeat(var(--categories), 1fr);
    gap: 2rem;
}

.zuzu.products .categories .category {
    aspect-ratio: 2 / 1;
}

.zuzu.products .categories .category .category-title {
    color: var(--white);
    z-index: 1;
}

.zuzu.products .products {
    grid-gap: 2rem;
    grid-template-columns: repeat(var(--products), 1fr);
}

.zuzu.products .products .product {
    padding: 1rem;
    border: 1px solid var(--blue);
}

.zuzu .product_form .input-group {
    margin-top: 1rem;
}

.zuzu .input-group {
    display: inline-flex;
    width: auto;
}


/****************************************************************
** 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;
}

