/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.3.0.1686660669
Updated: 2023-06-13 12:51:09

*/

/*-------------------------------------------------- Tipography */
.eurostile{
    font-family: 'Eurostile';
}

.neue{
    font-family: 'Neue Haas Grotesk Display Pro';
}
body{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
}

@media(min-width: 1334px){
    body{
    font-size: 18px;
    line-height: 24px;
}
}
/*-------------------------------------------------- General */
html,body{
    overflow-x: hidden;
}

div#content {
    padding: 0px;
    display: block;
}
div#page {
    max-width: 100%;
    background: transparent;
}

h1,h2,h3,h4,h5,h6,p,a,span{
    margin: 0px;
}

a.primary-button {
    border: 1px solid #000;
    padding: 13px  26px;
    display: inline-block;
    text-decoration: none;
    color: #000;
    transition: 300ms;
}

a.primary-button:hover {
    background: #000;
    color: #fff;
    transition: 300ms;
}
/*-------------------------------------------------- Layout */
.row {
    display: flex;
    flex-direction: column;
    max-width: 1524px;
    width: 90%;
    gap: 60px;
    margin: 0 auto;
}

.row-fluid {
    display: flex;
    gap: 60px;
    flex-direction: column;
    margin: 0 auto;
}

.column_12 {
    flex: 0 0 100%;
}

.column_1-2 {
    flex: 0 0 100%;
    width: 100%;
}

@media (min-width: 1025px) {

    .row {
        flex-direction: row;
        width: 80%;
        gap: 20px;
    }

    .column-6-4:first-child {
        flex: 0 1 65%;
    }

    .column-6-4:nth-child(2) {
        flex: 0 1 40%;
    }

    .column_4-6:first-child {
        flex: 0 1 40%;
    }

    .column_4-6:nth-child(2) {
        flex: 0 1 60%;
    }

    .column_1-2 {
        flex: 0 1 50%;
    }

    .row-fluid {
        gap: 20px;
        flex-direction: row;
    }

    .blog-category-list.roboto-condensed {
        max-width: 475px;
        margin: 0 0px 0 auto;
    }
}

/*-------------------------------------------------- General */
/**/
html.no-scroll {
    overflow: hidden;
}
.header-submenu-content-wrapper ul {
    margin: 0px;
    list-style-type: none;
}
div#header-submenu {
    padding: 100px 0;
    overflow-y: auto;
}
.current_page_item a{
    color: #fff !important;
}

.header-submenu-content-wrapper a {
    display: block;
    color: #FF2E17;
    font-size: 37px;
    line-height: 1;
    text-decoration: none;
    margin-bottom: 30px;
    font-family: 'Eurostile';
    transition: 300ms;
}
.header-submenu-content-wrapper a:hover {
    transition: 300ms;
    color: #fff;
}
div#header-submenu {
    position: fixed;
    transition: 300ms;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    background: #390910;
}
.certification_list {
    display: flex;
    gap: 30px;
    flex-direction: column;
    margin: 80px 0;
}
.certification_list img {
    width: 50px;
}

.certification_list a {
    display: flex;
    align-items: center;
    gap: 30px;
    justify-content: space-between;
    text-decoration: none;
    font-size: 24px;
    transition: 300ms;
    padding: 30px;
    border: 1px solid #FF2E17;
    color: #FF2E17;
}

.certification_list a:hover {
    background: #FF2E17;
    color: #fff;
    transition: 300ms;
}
.header_main_wrapper.active_header_onclick{
     background: #390910;
    transition: 300ms;   
}

.header_main_wrapper.active_header {
    background: #390910;
    transition: 300ms;
}
.header_main_wrapper {
    padding: 20px 0;
    transition: 300ms;
    background: transparent;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 99999;
}
.header-content-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
}

.header-menu-icon span {
    height: 3px;
    color: #fff;
    width: 40px;
    display: inline-block;
    background: #fff;
    display: flex;
    transition: 300ms;
    cursor: pointer;
}
.header-menu-icon{
    position: relative;
}
.header-menu-icon {
    position: relative;
    width: 40px;
}
.header-menu-icon.active span:last-child {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(135deg);
    transition: 300ms;
}
.header-menu-icon.active span:first-child {
    position: absolute;
    top: 0;
    transform: rotate(45deg);
    width: 40px;
    transition: 300ms;
}
.header-menu-icon span:first-child {
    width: 30px;
    margin: 0px 0 5px auto;
}
.service-card-paragraph {
    margin: 50px 0 70px;
}

.service-card-link  a{
    display: flex;
    justify-content: space-between;
}
.home-services-grid .service-card-element:nth-child(odd) {
  background-color: #390910;
  color: #FF2E17;
}
.home-services-grid .service-card-element:nth-child(odd) a{
    width: 100%;
    display: flex;
    color: #FF2E17;
    padding: 6px 12px;
    border: 1px solid #FF2E17;
    text-decoration: none;
    transition: 300ms;
}
.home-services-grid .service-card-element:nth-child(odd) a:after{
    content: '';
    width: 50px;
    height: 30px;
    background-image: url(/uploads/cem/2023/06/button.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.home-services-grid .service-card-element:nth-child(odd) .service-card-link:hover a:after{
    transition: 300ms;
    background-image: url(/uploads/cem/2023/06/button-dark.svg);
}
.home-services-grid .service-card-element:nth-child(even) .service-card-link:hover a:after{
    transition: 300ms;
    background-image: url(/uploads/cem/2023/06/button.svg);
}
.home-services-grid .service-card-element:nth-child(odd) a:hover{
    color: #fff;
    border: 1px solid #FF2E17;
    background: #FF2E17;
    transition: 300ms;
}
.home-services-grid .service-card-element:nth-child(even) a:hover{
    color: #fff;
    border: 1px solid #390910;
    background: #390910;
    transition: 300ms;
}
.home-services-grid .service-card-element:nth-child(even) a{
    width: 100%;
    display: flex;
    color: #390910;
    padding: 6px 12px;
    border: 1px solid #390910;
    text-decoration: none;
    transition: 300ms;
}
.home-services-grid .service-card-element:nth-child(even) a:after{
    content: '';
    width: 50px;
    height: 30px;
    background-image: url(/uploads/cem/2023/06/button-dark.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.service-card-element {
    position: relative;
}

.service-card-title h4 {
    font-size: 32px;
    line-height: 1;
}
.service-card-element {
    padding: 40px 5%;
}

.section.home-section-contact {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 200px 0;
}

.home-contact-wrapper {
    color: #fff;
    text-align: center;
}

.home-contact-pargraph {
    margin: 30px 0 50px;
}

.home-cta-wrapper a:first-child {
    background: #FF2E17;
    padding: 12px 14px;
    text-decoration: none;
    color: #333;
    display: inline-block;
    transition: 300ms;
    text-transform: uppercase;
}
.home-cta-wrapper a:first-child:hover {
    background: #fff;
    color: #333;
    transition: 300ms;
}
.home-cta-wrapper a:nth-child(2):hover {
    background: #fff;
    color: #333;
    transition: 300ms;
}
.home-cta-wrapper a:nth-child(2) {
    background: transparent;
    padding: 10px 14px;
    border:1px solid #fff;
    text-decoration: none;
    color: #fff;
    display: inline-block;
    transition: 300ms;
    text-transform: uppercase;
}
.home-cta-wrapper {
    display: flex;
    justify-content: center;
    gap: 25px;
}
.home-contact-title h3 {
    font-size: 32px;
    line-height: 1em;
    text-transform: uppercase;
}
.header-submenu-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap:30px;
}
.header-submenu-grid .footer-social-wrapper {
    justify-content: flex-start;
    margin-top: 30px;
}
.header-logo-wrapper img {
    max-width: 190px;
}
.header-content-wrapper{
    cursor: pointer;
}
.section-loop-video-secure {
    margin: 50px 0 80px;
}
@media(min-width: 1025px){
    .section-loop-video-secure {
    margin: 50px 0 120px;
}
    .header-logo-wrapper img {
    max-width: unset;
}
    .certification_list a {
    font-size: 32px;
}
    .header-submenu-grid {
    display: grid;
    grid-template-columns: 3fr 1fr;
}
    .home-contact-title h3 {
    font-size: 6.250vw;
    line-height: 1em;
    text-transform: uppercase;
}
    .home-contact-wrapper {
    color: #fff;
    width: 60%;
    margin: 0 0 0 auto;
    text-align: center;
}
    .service-card-element {
    padding: 5vw;
}
    .service-card-paragraph {
    min-height: 150px;
}
    .service-card-title h4 {
    font-size: 1.75vw;
    line-height: 1;
	min-height: 3em;
}
}
.home-services-grid .service-card-element:nth-child(even) {
  background-color: #FF2E17;
}
a.home-secure-link {
    display: flex;
    align-items: center;
    color: #FF2E17;
    text-transform: uppercase;
    transition: 300ms;
    text-decoration: none;
    justify-content: center;
    margin-top: 50px;
    font-size: 20px;
}
a.home-secure-link.eurostile span{
    display: flex;
    align-items: center;
    gap:15px;
}
.home-secure {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #0000002e;
    background-blend-mode: overlay;
}
a.home-secure-link:hover {
    color: #fff;
    transition: 300ms;
}
.home-secure {
    padding: 80px 0;
}

span.outline {
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: white;
    text-transform: uppercase;
    font-size: 13.958vw;
    -webkit-text-fill-color: transparent;
    text-align: center;
    display: inline-block;
    line-height: 1;
    width: 100%;
}
span.fill {
    text-transform: uppercase;
    font-size: 13.958vw;
    text-align: center;
    display: inline-block;
    line-height: 1;
    color: #FF2E17;
    width: 100%;
}
.home-secure-text {
    font-size: 20px;
    color: #fff;
    line-height: 1em;
    margin: 50px 0;
    font-weight: 400;
    text-align: center;
}
.home-services-grid {
    display: grid;
    grid-template-columns: 1fr;
}
@media (min-width: 1025px){
    .home-services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}
    a.home-secure-link {
    display: flex;
    align-items: center;
    color: #FF2E17;
    text-transform: uppercase;
    transition: 300ms;
    text-decoration: none;
    justify-content: flex-end;
    margin-top: 50px;
    font-size: 1.300vw;
}
    .home-secure {
    padding: 100px 0;
}
.home-secure-text {
    font-size: 2.500vw;
    text-align: left;
    color: #fff;
    max-width: 33.750vw;
    line-height: 1em;
    margin: 80px 0 50px auto;
    font-weight: 400;
}
}

/* about */
.about-hero-title {
    margin-bottom: 20px;
}
.section.section-about-hero {
    min-height: 95vh;
    display: flex;
    align-items: center;
    background: #390910;
    padding: 80px 0 80px;
}
.section.section-about-hero h1 {
    color: #FF2E17;
    text-align: center;
    font-size: 42px;
    line-height: 38px;
}

.about-hero-text.neue {
    display: grid;
    grid-template-columns: 1fr;
    color: #fff;
    gap: 20px;
    text-align: justify;
}
.section.section-about-parallax {
    background-size: cover;
    background-position: right;
}
.about-parallax-outline-text {
    position: relative;
}
.section.section-about-hero {
    position: relative;
    z-index: 30;
}

.about-parallax-outline-text {
    display: flex;
    align-items: center;
    height: 65vh;
}
.about-parallax-outline-text-iamge-wrapper {
    position: absolute;
    top: 0vh;
    z-index: 1;
    width: 100%;
    z-index: 2;
    display: block;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.about-value-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
}

.about-value-element h3 {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 36px;
}

.section.section-value {
    margin: 60px 0;
}


.about-files-text h3 {
    font-size: 42px;
    font-weight: bold;
    line-height: 48px;
    margin-bottom: 30px;
}
.about-button-wrapper {
    margin-top: 30px;
}

.section.section-company-file {
    margin-bottom: 80px;
}
.section.section-company-file .row {
    flex-direction: column-reverse;
}
@media (min-width: 1025px){
    .section.section-company-file .row {
    flex-direction: unset;
}
    .about-files-text h3 {
    font-size: 4.167vw;
    font-weight: bold;
    line-height: 4.688vw;
    margin-bottom: 30px;
}
    .section.section-company-file {
    margin-bottom: 100px;
}
    .section.section-company-file .row{
        align-items: center;
    }
    .about-files-text {
    max-width: 85%;
}
    .about-value-element h3 {
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 2.500vw;
}
    .about-value-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}
    .about-value-element {
    padding: 20px 0;
}
    .section.section-value {
    margin: 100px 0;
}
    .about-parallax-outline-text-iamge-wrapper {
    width: 50vw;
    background-size: cover;
}
    .about-parallax-outline-text {
        display: block;
    }
    

        .about-hero-text.neue {
    display: grid;
    grid-template-columns: 1fr 1fr;
    color: #fff;
    gap: 30px;
    max-width: 50vw;
    margin: 0 auto;
    text-align: justify;
}
.section.section-about-hero h1 {
    color: #FF2E17;
    text-align: center;
    font-size: 6.250vw;
    line-height: 5.208vw;
    max-width: 60vw;
    margin: 0 auto 40px;
}
}

/* Services */
.section.section-page-header {
    background: #390910;
    padding: 80px 0;
}
.page-header-text h1 {
    color: #FF2E17;
    font-size: 42px;
    line-height: 46px;
    margin-bottom: 50px;
}


.page-header-paragraph {
    color: #FF2E17;
    font-size: 20px;
    line-height: 24px;
    font-weight: 400;
}

.content {
    display: none;
}

.set {
    border: 1px solid #FF2E17;
}
.set a {
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    align-items: center;
    cursor: pointer;
    gap: 10px;
}

.set a span {
    padding: 15px;
    text-transform: uppercase;
    color: #FF2E17;
    font-size: 18px;
    line-height: 24px;
}
i.fa {
    background: #FF2E17;
    width: 100px;
    height: 100px;
}

i.fa.fa-plus {
    background-image: url(/uploads/cem/2023/06/plus-icon.svg);
    background-position: center;
    background-size: 25px;
    background-repeat: no-repeat;
}

i.fa.fa-minus {
    background-image: url(/uploads/cem/2023/06/Raggruppa-57.svg);
    background-position: center;
    background-size: 25px;
    background-repeat: no-repeat;
}
.content {
    padding: 20px 25px;
}

.sevices-toggle-wrapper {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.section.section-services-toggles {
    /* margin: 0 100px; */
    padding: 80px 0 100px;
}
.services-content-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}
.page-header-image img {
    width: 100%;
}
.section.section-contact-page {
    background: #390910;
    padding: 6.250vw 0;
}
.contact-page-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}
.contact-form-field input::placeholder,
.contact-form-textarea textarea::placeholder{
    color: #FF2E17;
}

.contact-form-field input, .contact-form-textarea textarea, .contact-form-field select {
    background: transparent;
    border: 1px solid #FF2E17;
    color: #FF2E17;
    width: 100%;
}
.contact-form-cv {
    width: max-content;
    border: none;
}
.contact-form-cv {
    width: max-content;
    color: #fff;
    border: none;
    margin: 20px 0;
    color: #FF2E17;
}
.contact-form-cv input {
    border: none;
}
.contact-form-cv input {
    border: none;
}
.contact-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.contact-form-textarea {
    margin: 20px 0;
}
.contact-form-textarea {
    margin: 20px 0;
}
.contact-form-action input {
    background: #FF2E17!important;
    width: 100%;
    transition: 300ms;
    text-transform: uppercase;
    margin: 20px auto;
    border: none;
    display: block;
    color: #fff;
}
.contact-form-action input:hover {
    background: #fff!important;
    transition: 300ms;
    color: #000;
}
.contact-form-optin {
    color: #FF2E17;
    display: flex;
    gap: 20px;
    font-weight: 400;
}
.contact-form-optin a{
    color: #FF2E17;
    transition: 300ms;
}
.contact-form-optin a:hover{
    color: #fff;
    transition: 300ms;
}
.section.section-contact-page .page-header-text {
    margin: 0px;
}
.contact-places-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.contact-list-title {
    border-top: 1px solid #FF2E17;
    padding: 60px 0 50px;
}
.contact-list-title h3{
    font-size: 42px;
    line-height: 46px;
    color: #FF2E17;
}
.contact-page-padding {
    padding-top: 0px!important;
}
.section.section-contact-page.contact-page-padding .content {
    color: #fff;
}
@media (min-width: 1025px){
    .blog-body-wrapper {
    padding-left: 12%;
}
    .contact-form-action input {
    background: #FF2E17!important;
    width: max-content;
    transition: 300ms;
    text-transform: uppercase;
    margin: 20px 0 0 auto;
    border: none;
    display: block;
    color: #fff;
}
    .contact-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
    .contact-list-title h3{
    font-size: 4.167vw;
    line-height: 4.688vw;
    color: #FF2E17;
}
    .contact-list-title {
    border-top: 1px solid #FF2E17;
    padding: 120px 0 50px;
}
    .contact-page-grid {
    display: grid;
    grid-template-columns: 2fr 4fr;
    gap: 50px;
}
    .contact-places-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
    .services-content-grid {
    display: grid;
    grid-template-columns: 2fr 4fr;
    align-items: center;
    gap: 50px;
}
    .content {
    padding: 30px 50px;
}
    .set a span {
    padding: 30px;
    font-size: 1.875vw;
    line-height: 30px;
}
    .set a {
    gap: 15px;
}
    .page-header-text h1 {
    color: #FF2E17;
    font-size: 4.167vw;
    line-height: 4.688vw;
    margin-bottom: 7.813vw;
}
    .page-header-paragraph {
    max-width: 26.042vw;
    color: #FF2E17;
    font-size: 1.250vw;
    line-height: 1.458vw;
    font-weight: 400;
}
    .page-header-text {
    max-width: 85%;
    margin-top: 60px;
}
  .section.section-page-header .row {
    transform: translateY(100px);
} 
.section.section-page-header {
    background: #390910;
    margin-bottom: 120px;
    padding: 2.604vw 0 20px;
}
}
.footer-main {
    background: #06060C;
    padding: 40px 0 60px;
}

a.social-icon-element img {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

a.social-icon-element {
    background: #fff;
    display: inline-block;
    border-radius: 50%;
    padding: 10px;
    transition: 300ms;
}

a.social-icon-element:hover {
    background: #FF2E17;
    transition: 300ms;
}

.footer-social-wrapper {
    display: flex;
    gap: 15px;
}

.row.row-footer {
    padding-bottom: 29px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 59px;
    align-items: center;
}

.footer-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.footer-description, .footer-info {
    color: #fff;
    max-width: 100%;
}


.footer-menu ul {
    list-style: none;
    margin: 0px;
}

.footer-menu a {
    transition: 300ms;
    color: #fff;
    text-decoration: none;
}
.footer-menu a:hover {
    transition: 300ms;
    color: #FF2E17;
    text-decoration: underline;
}
.blog-post-meta {
    color: #FF2E17;
    display: flex;
    align-items: center;
    gap: 10px;
}
.blog-post-element,
.blog-post-element-secure{
    display: grid;
    gap: 20px;
    align-items: center;
    grid-template-columns: 1fr;
}
.blog-posts-wrapper {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.section.section-blog-wrapper {
    padding: 90px 0 120px;
}
.archive-title-wrapper h1 {
    font-weight: bold;
    font-size: 28px;
}
@media (min-width: 1025px){
    .archive-title-wrapper h1 {
    font-weight: bold;
    font-size: 3vw;
}
    .blog-post-title-wrapper h3 {
    font-size: 2.083vw;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 45px;
}
    .blog-post-element,
    .blog-post-element-secure{
    display: grid;
    gap: 50px;
    align-items: center;
    grid-template-columns: 2fr 2fr;
}
    .row.row-footer {
    padding-bottom: 29px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 39px;
    align-items: center;
}
    .footer-social-wrapper {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
}
  .footer-columns {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}  
.footer-description, .footer-info {
    color: #fff;
    max-width: 90%;
}
.footer-menu {
    display: flex;
    justify-content: flex-end;
}
}
/*---------------------------------------------- button to the top */
 #to-the-top {
     display: inline-block;
     background-color: #11111173;
     width: 50px;
     height: 50px;
     text-align: center;
     border-radius: 25px 0 0 25px;
     position: fixed;
     bottom: 30px;
     right: 0;
     transition: background-color .3s, opacity .5s, visibility .5s;
     opacity: 0;
     visibility: hidden;
     z-index: 1000;
}
 #to-the-top::after {
     content: url(/uploads/cem/2023/06/top_icon_white-1-1.svg);
     height: 50px;
     display: flex;
     align-items: center;
     justify-content: center;
}
 #to-the-top:hover {
     cursor: pointer;
     background-color: #333;
}
 #to-the-top:active {
     background-color: #555;
}
 #to-the-top.show {
     opacity: 1;
     visibility: visible;
}
 div#scrolling-text {
     display: flex;
     align-items: center;
     justify-content: center;
     height: 75vh;
     font-size: 10vw;
     color: #CB0F22;
     font-size: 16vw;
}
div#post_navigation {
    display: none;
}
.archive-title-wrapper {
    margin-bottom: 59px;
    padding-bottom: 29px;
    border-bottom: 1px solid;
}
.blog-image-wrapper a {
    overflow: hidden;
    display: flex;
}
.blog-image-wrapper img {
    transition: 300ms;
    width: 100%;
}
.blog-image-wrapper img:hover {
    transition: 300ms;
    transform: scale(1.03);
    filter: grayscale(1);
}
.blog-post-title-wrapper h3 {
    font-size: 28px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 15px;
    transition: 300ms;
}

.blog-post-description {
    max-width: 455px;
}

.blog-post-title-wrapper a {
    text-decoration: none;
    color: unset;
    transition: 300ms;
}
.blog-post-title-wrapper a:hover {
    color: #FF2E17;
    transition: 300ms;
}

.blog-post-meta {
    margin-bottom: 7px;
}
/*---------------------------------------------- single */
.single-content-wrapper h2,
.single-content-wrapper h3,
.single-content-wrapper h4,
.single-content-wrapper h5,
.single-content-wrapper h6{
    margin-top: 20px;
    margin-bottom: 10px;
}
.single-content-wrapper a{
    color: #000;
    text-decoration: underline;
}

.single-post-header {
    color: #FF2E17;
    text-align: center;
}


.single-post-header {
    color: #FF2E17;
    text-align: center;
}

.single-post-meta {
    font-size: 25px;
}
.single-post-header h1 {
    font-size: 32px;
}

.section-single-post {
    background: #390910;
    padding: 80px 0px;
}

.section-single-post-content {
    margin: 60px 0;
}

.single-post-button {
    margin-top: 30px;
}
.section-single-post-content .row {
    flex-direction: column-reverse;
}
.work-thumbnail-wrapper img {
    height: 300px;
    object-fit: cover;
}
@media (min-width: 1025px){
    article#post-313 .section.section-company-file .row {
    flex-direction: row-reverse;
    padding: 80px 0;
}
    .section-single-post-content .row {
    flex-direction: unset;
}
    .section-single-post-content {
    margin: 100px 0;
}
    .section-single-post {
    background: #390910;
    padding: 120px 0px;
}
    .single-post-meta {
    font-size: 1.458vw;
}
.single-post-header h1 {
    font-size: 3.021vw;
    max-width: 46.354vw;
    margin: 0 auto;
}
}
/*---------------------------------------------- video */
.video-loop-grid {
    margin: 30px 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.video-element-wrapper a {
    position: relative;
    transition: 300ms;
    overflow: hidden;
    display: block;
}
.video-element-wrapper a:hover img {
    transform: scale(1.05);
    transition: 300ms;
}
.video-element-wrapper img {
    filter: grayscale(1);
    transition: 300ms;
}
.video-taxonomy-wrapper h3 {
    font-weight: bold;
    font-size: 32px;
}

.video-element-image-wrapper {
    position: relative;
}

.video-element-title {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 25px;
    position: absolute;
    width: 100%;
    align-items: center;
    bottom: 0;
    left: 0;
    background: rgb(0,0,0);
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.15) 15%, rgba(0,0,0,0.3) 30%, rgba(0,0,0,0.5) 44%, rgba(0,0,0,0.9724264705882353) 100%);
}

.video-element-title h5 {
    line-height: 1em;
    color: #FF2E17;
    font-size: 24px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 30px;
    max-width: 95%;
}
.section.section-video-archive {
    margin: 60px 0;
}
.section-secure-text {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 80px 0 150px;
    color: #fff;
}
.home-secure-text-wrapper {
    font-size: 22px;
    line-height: 1em;
}
.about-gallery-item img {
    height: 22vw;
    object-fit: cover;
    overflow: hidden;
    width: 100%;
    max-height: 600px;
}
@media (min-width: 1025px){
	.about-gallery-item img {
    height: 14vw;
    object-fit: cover;
    overflow: hidden;
    width: 100%;
    max-height: 600px;
}
    .home-secure-text-wrapper {
    font-size: 2.500vw;
    width: 33.854vw;
    line-height: 1em;
}
    .section-secure-text {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 80px 0 220px;
    color: #fff;
}
    .video-loop-grid {
    margin: 50px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}
    .video-taxonomy-wrapper h3 {
    font-weight: bold;
    font-size: 4.167vw;
}
    .section.section-video-archive {
    margin: 120px 0;
}
.video-element-title h5 {
    line-height: 1em;
    color: #FF2E17;
    font-size: 1.667vw;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 2.083vw;
    max-width: 80%;
}
}

.single-post-meta {
    display: flex;
    justify-content: center;
    gap: 5px;
}
.single-post-meta .category{
    font-weight: bold;
}
.heartbeat {
	-webkit-animation: heartbeat 1.5s ease-in-out infinite both;
	        animation: heartbeat 1.5s ease-in-out infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2023-6-20 15:32:29
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
@-webkit-keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
            transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}
@keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
            transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}

/*---------------------------------------------- Opere */
.work-thumbnail-wrapper a, .work-thumbnail-wrapper img {
    width: 100%;
    display: block;
}

.works-wrapper-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.work-card {
    background: #390910;
}

.work-body-wrapper {
    color: #FF2E17;
    padding: 20px;
}

.work-body-wrapper h4 {
    font-size: 22px;
    text-transform: uppercase;
    margin-bottom: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.work-body-wrapper {
    color: #FF2E17;
    padding: 20px;
}


.work-category-wrapper {
    list-style-type: none;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.work-category-wrapper li {
    padding: 2px 12px;
    border: 1px solid;
}

.section.section-works-wrapper{
    margin: 80px 0;
}

.pagination {
    display: none;
}

@media (min-width: 1334px){
    .works-wrapper-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}
}

@media(min-width: 1025px) and (max-width: 1333px){
   .works-wrapper-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
} 
}
.about-gallery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
.single-work-data span {
    color: #FF2E17;
    display: block;
    margin-bottom: 5px;
}

.single-work-data {
    margin-bottom: 20px;
}

.work-category-wrapper {
    color: #FF2E17;
    margin-bottom: 30px;
}
.single-content-wrapper {
    max-width: 100%;
    font-weight: 400;
}
.work-thumbnail-wrapper a {
    overflow: hidden;
}
.work-thumbnail-wrapper img {
    transition: 300ms;
}
.work-thumbnail-wrapper:hover img {
    transition: 300ms;
    transform: scale(1.04);
    filter: grayscale(1);
}

.home-hero {
    height: 70vh;
    background-color: #00000017;
    background-blend-mode: overlay;
    background-size: cover;
    background-position-x: right;
    background-repeat: no-repeat;
}
.home-hero h1 {
    font-size: 8.250vw;
    max-width: 75%;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    margin: 0 auto;
    line-height: 1em;
    font-weight: bold;
}

.home-hero .row, .home-hero .column_12 {
    height: 100%;
}
.home-hero-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.section.home-info-wrapper {
    background: #390910;
    padding: 60px 0;
    margin-bottom: 80px;
}
.row.row-home-info {
    color: #fff;
}
.home-info-title h2 {
    color: #FF2E17;
    font-size: 38px;
    line-height: 40px;
    margin-bottom:25px;
}
.home-info-paragraph {
    max-width: 550px;
    margin: 0 0 80px;
}
.home-info-play a {
    position: relative;
    display: flex;
    width: 100%;
    height: 150px;
}

.home-info-play .heartbeat {
    position: absolute;
    top: 52px;
    left: 63px;
    width: 40px;
}
.home-info-play .circle-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
}
@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 8s linear infinite;
  -moz-animation: rotating 8s linear infinite;
  -ms-animation: rotating 8s linear infinite;
  -o-animation: rotating 8s linear infinite;
  animation: rotating 8s linear infinite;
}
.blog-post-element.home-blog-posts,
.blog-post-element-secure.home-blog-posts{
    display: flex;
    margin-bottom: 40px;
}
img.video-thumb {
    width: 100%;
}

.home-last-post-heading-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: center;
    padding-bottom: 29px;
    margin: 30px 0 50px;
    border-bottom: 1px solid #000;
}
.home-last-post-heading-grid h3 {
    font-size: 32px;
    text-align: center;
}
.home-button-wrapper {
    display: none;
}
.home-last-blog {
    margin-bottom: 80px;
}
@media (min-width: 1025px){
    .home-last-blog {
    margin-bottom: 120px;
}
    .home-button-wrapper {
    display: flex;
    justify-content: flex-end;
}
    .home-last-post-heading-grid {
    display: grid;
    grid-template-columns: 4fr 1fr;
    gap: 20px;
    align-items: center;
    padding-bottom: 29px;
    margin: 80px 0 50px;
    border-bottom: 1px solid #000;
}
    .home-last-post-heading-grid h3 {
        text-align: left;
    font-size: 6.250vw;
}
    .row.row-last-posts {
    align-items: center;
}
    .home-info-play {
    padding-bottom: 80px;
}
    .row.row-home-info {
    color: #fff;
    transform: translatey(5vw);
}
    .home-info-title h2 {
    color: #FF2E17;
    font-size: 6.250vw;
    line-height: 5.208vw;
    max-width: 62.760vw;
    margin-bottom:0;
}
    .section.home-info-wrapper {
    background: #390910;
    padding: 100px 0 0;
    margin-bottom: 120px;
}
.home-info-paragraph {
    max-width: 550px;
    margin: 40px 0 60px;
}
    .home-hero h1 {
    font-size: 6.250vw;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    max-width: 40.104vw;
    margin: 0 auto;
    line-height: 1em;
    font-weight: bold;
}
    .home-hero {
    height: 100vh;
    background-color: #00000017;
    background-blend-mode: overlay;
    background-size: cover;
    background-position: center;
}
    .single-content-wrapper {
    max-width: 90%;
    font-weight: 400;
}
    .section.section-works-wrapper {
    margin-bottom: 100px;
    margin-top:0px;
}
    .work-body-wrapper h4 {
        font-size: 1.250xw;
        text-transform: uppercase;
        margin-bottom: 20px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
    }    
}
.home-info-image img{
    width: 100%;
}
.section_page.template-page {
    background: #390910;
    padding: 120px 0;
    color: #fff;
}
.section_page.template-page h1 {
    font-weight: bold;
    margin-bottom: 30px;
}
.section_page.template-page a {
    color: #FF2E17;
}
#ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-classic #ct-ultimate-gdpr-cookie-accept, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-classic #ct-ultimate-gdpr-cookie-change-settings, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-classic #ct-ultimate-gdpr-cookie-read-more, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-modern #ct-ultimate-gdpr-cookie-accept, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-modern #ct-ultimate-gdpr-cookie-change-settings, #ct-ultimate-gdpr-cookie-popup.ct-ultimate-gdpr-cookie-fullPanel.ct-ultimate-gdpr-cookie-popup-modern #ct-ultimate-gdpr-cookie-read-more {
    width: auto;
    min-width: 190px !important;
}

/*---------------------------------------------- Contenuto articolo: leggibilità */
.single-content-wrapper p {
    margin-bottom: 1.5em;
    line-height: 1.7;
}

.single-content-wrapper p:last-child {
    margin-bottom: 0;
}

.single-content-wrapper ul,
.single-content-wrapper ol {
    margin: 0 0 1.5em 1.2em;
    line-height: 1.7;
}

.single-content-wrapper li {
    margin-bottom: 0.5em;
}

.single-content-wrapper blockquote {
    margin: 1.5em 0;
    padding-left: 20px;
    border-left: 3px solid #FF2E17;
}

.single-content-wrapper img {
    margin: 1.5em 0;
    max-width: 100%;
    height: auto;
}

/* I titoli interni hanno già i margini, ma serve più aria sopra */
.single-content-wrapper h2,
.single-content-wrapper h3,
.single-content-wrapper h4 {
    margin-top: 1.8em !important;
    margin-bottom: 0.6em !important;
}