:root {
    --primo: #393186;
    --secondo:#CBD4C2;
    --terzo:#C3B299;
    --quarto:#6C91C2;
    --bianco: #FFFFFF;
    --nero: #151515;
}

body {
    font-family: 'Raleway', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Raleway', sans-serif;
}

h2 {
      color: var(--nero)!important;
      font-size: 3.0em!important;
      margin-bottom: 25px!important;
}

h3 {
     margin-top: 25px!important;  
     color: var(--nero)!important;
     font-size: 1.8em!important;
}

p {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    color: var(--nero);
    font-size: 1.0em;
}

p.swiper-text {
    color: var(--bianco);
    font-size: 1.8em!important;
}


.rd-navbar-brand .rd-navbar-brand img {
    height: 200px!important;
    width: auto;
}

.rd-navbar-brand .rd-navbar-brand .rd-navbar--is-stuck img {
    height: 200px!important;
    width: auto;
}


.rd-navbar-modern.rd-navbar-static .rd-navbar-brand img {
    width: auto;
    height: 55px;
    max-width: none;
    max-height: 70px;
    margin-left: -50px;
}

.box-video {
    position: absolute;
    width: 100%;
    height: auto;
}

.swiper-slide-caption {
    text-align: left;
}

.swiper-slider-3 .swiper-title {
    font-weight: 400;
    text-shadow: 2px 1px 2px #000000;
    font-size: 79px;
}

.swiper-slider-3 .swiper-title {
    font-weight: 400;
    text-shadow: 2px 1px 2px #000000;
    font-size: 79px;
}

.swiper-slider-2 * + .swiper-text {
    padding: 20px;
    background-color: rgba(0,0,0,0.5);
}

.button-primo {
    background-color: var(--primo);
    color: var(--bianco);
}

.rd-navbar-modern.rd-navbar-static .rd-nav-item + .rd-nav-item {
  margin-left: 10px;
}
.rd-navbar-modern.rd-navbar-static .rd-navbar-main {
  padding-right: 0px;
}


span.services-terri-icon svg {
    width: 50px;
    height: 50px;
    fill: var(--bianco);
}


.section-realizzazioni {
    padding-top: 100px;
    padding-bottom: 100px;
}

.cta-modern {
    text-align: left;
    background: rgba(0,0,0,0.5);
    padding: 20px;
}

.container-fluid.container-inset-0.isotope-wrap {
    height: 450px;
    overflow: hidden;
}

.box-icon-megan-header {
    position: relative;
    width: 60px;
    height: 60px;
    margin-left: auto;
    margin-right: auto;
    fill: var(--primo);
}


.button-primary:hover, .button-primary:active {
    background-color: var(--primo)!important;
    border-color: var(--primo)!important;
    color: var(--bianco)!important;
}

.desktop .box-icon-megan:hover .box-icon-megan-header::before, .desktop .box-icon-megan:hover .box-icon-megan-header::after {
    border-color: var(--primo);
}

.cta-modern {
   float: right!important;
}

.cta-modern h3, .cta-modern p {
    color: var(--bianco)!important;
}

.elementor-button {
    color: var(--nero);
    background-color: transparent!important;
}

.elementor-button span {
      color: var(--nero);
}

.button-primary:hover span {
      color: var(--bianco)!important;
}

.gallery img {
    border: 0px!important;
}

.breadcrumbs-custom {
    background-color: transparent!important;
}

.breadcrumbs-custom-title {
    font-weight: 400;
    font-size: 55px;
    text-shadow: 1px 1px 1px #FFFFFF;
}

.breadcrumbs-custom-decor::before {
    box-shadow: 1px 1px 1px #000000;
}

.breadcrumbs-custom-path {
    padding: 10px 0;
    background: rgba(255, 255, 255, 0.5);
}

.header-page {
    padding-bottom: 20px!important;
}

.breadcrumbs-custom-path a, .breadcrumbs-custom-path a:active, .breadcrumbs-custom-path a:focus {
    color: var(--primo);
}

.oh-desktop {
    margin-bottom: 20px;
}

.cta-modern p {
    color: var(--bianco) !important;
    font-size: 0.8em;
}

footer p {
    color: var(--bianco) !important;
}

.breadcrumbs-custom-title {
    font-weight: 400!important;
    text-shadow: 1px 1px 3px #FFFFFF!important;
    font-size: 4.0em !important;
}

.breadcrumbs-custom-title {
    font-weight: 400 !important;
    text-shadow: none!important;
    font-size: 4.0em !important;
    color: var(--bianco) !important;
    position: relative;
    display: inline;
    padding: 10px 80px;
    background: rgba(0, 0, 0, 0.5);
}

/* Ottimizzazione mobile */

.page-content-interna {
    padding-top: 50px!important;

}


@media screen and (max-width: 1280px) {
    .page-content {
        padding-left: 50px!important;
        padding-right: 50px!important;
        padding-top: 0px!important;
    }

    .page-content-interna {
     padding-top: 50px!important;

    }

    .rd-navbar-modern.rd-navbar-static .rd-navbar-brand img {
        margin-left: 0px!important;
    }

    #catalogo-home {
        padding-left: 50px!important;
        padding-right: 50px!important;
    }

    .box-icon-megan-mail {
        margin-left: -50px!important;
    }

    .section-sm.section-first {
        padding-top: 0px!important;
    }

    .elementor-11 .elementor-element.elementor-element-45f7d98 {
        width: 50%;
        margin-left: 50%;
    }

    .swiper-slider-3 .swiper-title {
        font-size: 65px!important;
    }

    p.swiper-text {
        font-size: 1.2em!important;     
    }
} 


@media screen and (max-width: 1280px) and (orientation: landscape) {

    .swiper-container {
        width: 100vw;
        max-height: 520px!important;
        display: block;
        overflow: hidden;
    }

    .box-video video {
        height: 100%!important;
        width: auto!important;
    }

}


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

.rd-navbar-toggle {
    position: absolute;
    right: 0px;
}

     .rd-navbar-nav-wrap {
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        flex-wrap: wrap;
    }


  .rd-navbar-main {
    display: block !important;
  }

 .rd-navbar-main {
    order: 1;
    display: block !important;
  }

  .rd-navbar-aside {
    order: 2;
  }


h2 {
    font-size: 2.0em !important;
}

   .box-icon-megan-mail {
        margin-left: 0px !important;
    }

    .container-contatti {
        padding-left: 50px!important;
        padding-right: 50px!important;
    }

    .box-icon-megan {
     margin-bottom: 25px;
    }

    .container-contatti {
        margin-left: 50px !important;
        margin-right: 50px !important;
        width: calc(100% - 100px) !important;
        max-width: 100%!important;
    }

}



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

    .elementor-11 .elementor-element.elementor-element-45f7d98 {
        width: 60%;
        margin-left: 40%;
    }

}


@media screen and (max-width: 830px) and (orientation: landscape) {

    .swiper-container {
        max-height: 420px!important;
    }

}

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

    .swiper-slider-3 .swiper-title {
        font-size: 55px!important;
    }

    p.swiper-text {
        font-size: 1.0em!important;     
    }

    .elementor-11 .elementor-element.elementor-element-45f7d98 {
        width: 80%;
        margin-left: 10%;
    }

    span.elementor-button-text {
     text-wrap: auto;
    }

    .breadcrumbs-custom-title {
    font-size: 3.0em !important;
    }

    .container-contatti {
        margin-left: 0px !important;
        margin-right: 0px !important;
        width: 100% !important;
        max-width: 100%!important;
    }

}


@media screen and (max-width: 500px) and (orientation: portrait) {

    .swiper-container {
        height: 60vh!important;
        max-height:  60vh!important;
    }


    .box-video video {
        height: 100%!important;
        width: auto!important;
    }

}




@media screen and (max-width: 500px) {
    h2 {
        font-size: 1.5em !important;
        margin-bottom: 20px !important;
    }

    h3 {
        font-size: 1.3em !important;
        margin-bottom: 20px !important;
    }

    .elementor-11 .elementor-element.elementor-element-45f7d98 {
        width: 98%;
        margin-left: 1%;
    }

    .button {
        padding: 17px 10px;
    }

    #catalogo-home {
    padding-left: 15px !important;
    padding-right: 15px !important;
    }

    html .group-sm-justify {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    }

    .breadcrumbs-custom-title {
      font-size: 1.2em !important;
    }


    .page-content,  #catalogo-home  {
        padding-left: 15px!important;
        padding-right: 15px!important;
        padding-top: 15px!important;
    }


    .container-contatti {
        margin-left: 0px !important;
        margin-right: 0px !important;
        width: 100%!important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}