@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');





body, p {

    font-family: "Montserrat", sans-serif;
    font-weight:400;
    color:#fff;
}

strong {
    font-family: "Montserrat", sans-serif;
    font-weight:600;

}

h1, h2, h3, h4, h5, h6 {
    font-family: "Montserrat", sans-serif;
    font-weight:400 !important;

}

.custom-font .sppb-addon-title, .custom-font{
    font-family: "Montserrat", sans-serif;
    font-weight:900 !important;

}




.autore-sito, .modified, .published, .hits {
    display:none;
}



.breadcrumb {
    background:none;
    justify-content:flex-start;
}

.breadcrumb-item.active, .breadcrumb li {

    color:#fff;
    padding:5px;
}

.breadcrumb a {
    color:#fff;
}


.bg-custom-2 {
    background:#09797B;
}



.com-content #sp-main-body {
    padding:200px 0 !important;
 
}

/*elementi nascosti intro*/







/*top bar */

#sp-top-bar {
    padding:10px 0;
    font-size: 1.2em;
    background:#273d4b;
}


/*header */


#sp-header {
    height:70px;
    box-shadow:none;
    background:transparent;
    padding:0;
}

#sp-logo  .logo {
    line-height: 1;
    margin: 0;
    vertical-align: middle;
    height:auto;

}




.com_igallery 
#sp-main-body {
    margin-top:0px; 
    padding-top:100px !important;

}


.com_igallery #sp-header {
    background:#273d4b;
    height:90px;
}



#sp-header.header-sticky {
    height:70px;
    background:#273d4b;
}



.logo-image {
    padding:5px;
}

/*
.itemid-191 #sp-header .logo img{
    height:0;
}*/

#sp-header.header-sticky .logo img {
    height:70px;
}






/*menu */






.sp-megamenu-parent>li {
    padding:0 7px;
}


.sp-megamenu-parent {
    margin: auto!important;
}





.sp-megamenu-parent>li:last-child>a {
    padding: 10px;

}

.sp-megamenu-parent>ul {

}

.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {

    display: block;
    line-height: 14px;
}




.sp-megamenu-parent>li.active>a, .sp-megamenu-parent>li.active:hover>a {

}



/*offcanvas*/


#offcanvas-toggler > div > span:nth-child(1) {
    width:50px;
}


#offcanvas-toggler > div > span:nth-child(2) {
    width:40px;
}

#offcanvas-toggler > div > span:nth-child(3) {
    width:30px;
}


#offcanvas-toggler > div > span:nth-child(3):after {
    content: "MENU";
    font-size:14px;
    color:#fff;
}

#offcanvas-toggler {
    line-height: 2;
    font-size: 14px;
    /* height: 50px; */
    margin: 0 20px;
    background: #222e3c;
    padding: 0 33px 8px 12px;
}

body.ltr.offcanvs-position-right .offcanvas-menu {
    right:-100%;
}

.offcanvas-menu {


    height: 100%;
    color:#fff;

    transition: .3s;

    width:100%;
    max-width:1000px;
    background:#222e3c;

}

.offcanvas-menu .offcanvas-inner {
    display: flex;
    padding: 0px 0px 0 13px;
    height: 90%;
    margin: 20px;
    background:#222e3c;
    width: 90%;


}


.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background:#fff;
}

.burger-icon>span {
    height:1px;
    background:#fff;
}



.offcanvas-menu .offcanvas-inner ul.menu>li a, .offcanvas-menu .offcanvas-inner ul.menu>li span {


    font-weight: 300;
    line-height: 34px;
    font-style: normal;
    color: #fff;
    text-decoration: none;
    display: block;
    margin: 0;
}


.offcanvas-menu li {

    position: relative;
    width: auto;
    margin: 0;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.692307692307692em;
    letter-spacing: .11em;
    font-weight: 700;
    text-transform: uppercase;
    outline: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 17px 46px;
    cursor: pointer;
    transition-duration: 500ms;
}

.offcanvas-menu .offcanvas-inner ul.menu>li li a, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler,
.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler, .offcanvas-menu .fa, .offcanvas-menu .fab, .offcanvas-menu .far, .offcanvas-menu .fas,
.offcanvas-menu .offcanvas-inner a {

    color:#fff;
}

.offcanvas-menu .offcanvas-inner ul.menu>li a {
    font-size:35px;
    line-height:1.5;

}



.offcanvas-menu .offcanvas-inner ul.menu li.active a {
    color:#fff !important;

}

.offcanvas-menu .offcanvas-inner ul.menu li.active {
    text-decoration:underline;
}





.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li>a {
    padding:10px 0px 10px 0;
}





.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler:after, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler:after {
    content:"+";
}

.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent.menu-parent-open>a>.menu-toggler:after, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent.menu-parent-open>.menu-separator>.menu-toggler:after {
    content:"-";
}

/*bottoni*/


.btn-primary, .sppb-btn-primary {
    background:#4d7687 !important;
    border:#4d7687 !important;
    border-radius:0;

}

.btn-primary a, .sppb-btn-primary a{
    color:#fff !important;

}

.btn-primary:hover, .sppb-btn-primary:hover {


}



.sppb-btn-primary.sppb-btn-outline {
    background:transparent !important;
    border:2px solid #4d7687 !important;
    color:#4d7687;
}

.sppb-btn-primary.sppb-btn-outline a:hover, .sppb-btn-primary.sppb-btn-outline:hover{
    color:#fff !important;
    background:#4d7687 !important;
}


.btn-custom{
    padding: 0!important;
    font-size: 15px;
    color: #fff;
    margin-left:40px;
    border: 0;
    vertical-align: middle;
}


.btn-custom:before {
    content: '';
    position: absolute;
    top: 110%;
    left: -40px;
    width: 55px;
    height: 1px;
    background: currentColor;
    -webkit-transform: rotate(-50deg) scaleX(1);
    -ms-transform: rotate(-50deg) scaleX(1);
    transform: rotate(-50deg) scaleX(1);
    -webkit-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
    pointer-events: none;
    transition-duration: 500ms;
    color:#fff;
}


.btn {

    position: relative;
    width: auto;



    letter-spacing: .11em;
    font-weight: 700;
    text-transform: uppercase;
    outline: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    cursor: pointer;
    transition-duration: 500ms;
}


.btn-custom:hover:before {
    background:#fff;
    transform: rotate(0deg) scaleX(1);
    top: 40%;
    animation: .4s forwards cubic-bezier(.39,.58,.57,1);
    animation: spFadeInDown 0.5s;
    transition-duration: 500ms;


} 

/*footer and bottom*/



#sp-footer, #sp-bottom { 
    color:#fff;
    line-height:25px;
    background:#222e3c;

}




#sp-bottom .sp-module ul>li {
    margin-bottom:0;
}

#sp-bottom p , #sp-bottom li {
    line-height:25px;
    font-size:20px;
}

#sp-bottom a, #sp-bottom .sp-module .sp-module-title  {
    color:#fff;
}

#sp-footer a  {
    color:#fff;
}




#sp-footer .container-inner {
    padding:30px;
   

}

#sp-bottom .sp-module ul>li>a {
    display: inline;
} 




.line{

    -moz-transform: rotate(-45deg) translate(0, 0);
    -ms-transform: rotate(-45deg) translate(0, 0);
    -o-transform: rotate(-45deg) translate(0, 0);
    -webkit-transform: rotate(-45deg) translate(0, 0);
    transform: rotate(-45deg) translate(0, 0);
    transition: 0.6s;
    position: absolute;

}




/*home*/

.sppb-gallery img, .speasyimagegallery-gallery-item img {
    object-fit: cover;
}



.ig-lightbox-descriptions {
    text-transform:uppercase;
}


.ig-menu-grid-item .igui-overlay h3 {
    text-align: center;
}

.igallery_title {
    text-transform:uppercase;
    letter-spacing:2px;

}




/* CSS BOOTSTRAP SPECIFICI */

/* ------------------------------------------------------------------------------------ */

/* MOBILE */
@media (max-width: 767px){

    .com-sppagebuilder #sp-main-body {
        padding:0px 0;
    }

    .logo-image {
        height:70px !important;
        padding:10px;
    }


    .header-sticky  .logo-image-phone {
        height:60px !important;

    }


    .vertical {
        transform: inherit;
    }

    .offcanvas-menu .offcanvas-inner {
        display:block;
        margin:0;

    }

    .offcanvas-menu li {
        padding:5px;
        font-size:13px;
    }

    #sp-main-body {
        margin-top:-120px;
        padding:50px 20px!important;
        /*    background:#434343;*/
        background:#273d4b;

    }

    .btn-custom {
        margin-left:45px;
    }

}

/* IPAD VERTICALE */
@media (min-width: 768px) and (max-width: 1023px){


    .vertical {
        transform: inherit;
    }

    .offcanvas-menu .offcanvas-inner {
        display:block;
    }

    .offcanvas-menu li {
        padding:5px;
    }

    #sp-main-body {
        margin-top:-120px;
        padding:50px 20px !important;
        /*    background:#434343;*/
        background:#273d4b;

    }

}

/* IPAD ORIZZONTALE e IPAD PRO VERTICALE */
@media (min-width: 1024px) and (max-width: 1365px){
    #sp-header-topbar {
        margin:0;
    }




    #sp-header {
        height:65px;
    }



    .vertical {
        transform: inherit;
    }

    .offcanvas-menu .offcanvas-inner {
        display:block;
    }

    .offcanvas-menu li {
        padding:5px;
    }


    #sp-main-body {
        margin-top:-120px;
        padding:50px 20px!important;
        /*    background:#434343;*/
        background:#273d4b;

    }


    .sppb-col-md-7,  .sppb-col-md-6, #realizzazioni .sppb-col-md-10 , #collaborazioni .sppb-col-md-10{
        max-width: 100%;
        width:100%;
        flex: 0 0 100%;
    }


    #servizi .sppb-col-md-3, #collaborazioni .sppb-col-md-3 {
        max-width: 50%;
        width:50%;
        flex: 0 0 50%;
    }

    #sp-bottom .sppb-col-md-2 {
        flex: 0 0 17.666667%;
        max-width: 17.666667%;
    }



}

/* IPAD PRO ORIZZONTALE */
@media (min-width: 1366px){
    .container{
        max-width: 1300px;
    }

    .sp-menu-full.container{
        width: 1300px;
        left: 0!important;
        right: 0!important;
    }

    body.helix-ultimate .sppb-row-container{
        max-width: 1300px;
    }

    .sppb-row-container{
        width: 1300px;
    }



    #sp-header .sp-module {
        margin-left: 50px;
    }



    .vertical {
        transform: rotate(90deg) translate(51%, 51px);
        width: 550px;
        position: relative;
        left: -78px;
    }


    #sp-main-body {
        margin-top:-120px;
        padding:50px !important;
        /*    background:#434343;*/
        background:#273d4b;

    }

}

@media (min-width: 1400px) and (max-width: 1679px){

    .container{
        max-width: 1300px;
    }

    .sp-menu-full.container{
        width: 1300px;
        left: 0!important;
        right: 0!important;
    }

    body.helix-ultimate .sppb-row-container{
        max-width: 1300px;
    }

    .sppb-row-container{
        width: 1300px;
    }

    .logo-image {
        height:90px;
    }

    #sp-header .sp-module {
        margin-left: 50px;
    }


    .vertical {
        transform: rotate(90deg) translate(51%, 51px);
        width: 550px;
    }


    #sp-main-body {
        margin-top:-120px;
        padding:50px !important;
        /*    background:#434343;*/
        background:#273d4b;

    }


}



@media (min-width: 1680px){

    .container{
        max-width: 1300px;
    }

    .sp-menu-full.container{
        width: 1300px;
        left: 0!important;
        right: 0!important;
    }

    body.helix-ultimate .sppb-row-container{
        max-width: 1300px;
    }

    .sppb-row-container{
        width: 1300px;
    }

    .logo-image {
        height:90px;
    }


    #sp-header .sp-module {
        margin-left: 50px;
    }



    .vertical {
        transform: rotate(90deg) translate(51%, 51px);
        width: 550px;
    }

    #sp-main-body {
        margin-top:-120px;
        padding:50px !important;
        /*    background:#434343;*/
        background:#273d4b;

    }


}







/*form*/







.bfQuickMode .bfLabelRight label, .bfQuickMode .bfLabelLeft label, .bfQuickMode section input[type='text'], .bfQuickMode section textarea, .bfQuickMode section select,
.bfQuickMode .bfLabelLeft .bfElementGroup, .bfQuickMode .bfLabelRight .bfElementGroup, .bfQuickMode section.bfLabelLeft .bfElementGroupNoWrap{
    width:95% !important;
}





.bfQuickMode fieldset.bfInline {
    width:100% !important;
}



.bfQuickMode section input[type='text'], .bfQuickMode section textarea, .bfQuickMode section select {
    float: left;
    margin: 0px;
    width: 90% !important;
    background:transparent !important;
    border-top:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:1px solid #fff !important;
    border-radius: 0;
}

.bfQuickMode .bfLabelLeft input, .bfQuickMode .bfLabelLeft textarea, .bfQuickMode .bfLabelLeft select, .bfQuickMode .bfLabelLeft button {
    padding:20px !important;
}

.bfRolloverBg {
    background:none !important;
}

input[type="text"]:not(.form-control):focus, input[type="email"]:not(.form-control):focus, input[type="url"]:not(.form-control):focus, input[type="date"]:not(.form-control):focus, 
input[type="password"]:not(.form-control):focus, input[type="search"]:not(.form-control):focus, input[type="tel"]:not(.form-control):focus,
input[type="number"]:not(.form-control):focus, select:not(.form-select):not(.form-control):focus, .bfQuickMode textarea:focus, .bfQuickMode input[type="text"]:focus, .bfQuickMode input[type="password"]:focus,
.bfQuickMode input[type="datetime"]:focus, .bfQuickMode input[type="datetime-local"]:focus, .bfQuickMode input[type="date"]:focus, .bfQuickMode input[type="month"]:focus, .bfQuickMode input[type="time"]:focus, 
.bfQuickMode input[type="week"]:focus, .bfQuickMode input[type="number"]:focus, .bfQuickMode input[type="email"]:focus, .bfQuickMode input[type="url"]:focus, 
.bfQuickMode input[type="search"]:focus, .bfQuickMode input[type="tel"]:focus, .bfQuickMode input[type="color"]:focus, .bfQuickMode .uneditable-input:focus {
    color:#fff !important;
}




.cc-revoke.cc-top {
    right: 0!important;
    font-size: 12px;
    top: auto!important;
    bottom: 0!important;
    border-bottom-left-radius: 0!important;
    border-bottom-right-radius: 0!important;
}


