/*
Theme Name: 	Lsp
Description: 	Responsive WordPress Theme based on Boostrap and Font Awesome.
Version:     	2.0
Author:     	Alberto Cattani
Author URI:     https://albertocattani.com
Site:           https://albertocattani.com
Text Domain: 	world
Domain Path: 	/languages
Tags:        	grid-layout, blog, custom-menu, featured-images, right-sidebar
License:    	GNU General Public License v3.0
License URI:	http://www.gnu.org/licenses/gpl-3.0.html

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* ------------------------------------------------------------------------- *
/* ! Fonts */
/* ------------------------------------------------------------------------- */

.lato-thin {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-thin-italic {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.lato-light-italic {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.lato-regular-italic {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.lato-bold-italic {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.lato-black-italic {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}


/* ------------------------------------------------------------------------- *
/* ! Var */
/* ------------------------------------------------------------------------- */

:root {
    --black: rgb(0, 0, 0);
    --cyan: #0093B2;
    --green: #439F98;
    --lcyan:#E6F5F9;
    --yellow: #fbcb3d;
    --red: #c4161c;
    --background: #f3f0eb;
}



/* ------------------------------------------------------------------------- *
/* ! Base */
/* ------------------------------------------------------------------------- */


/* ! Body */
body {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 15px;
    background: var(--background);
    margin: 0;
    padding: 0;
    line-height: 1.75;
    overflow-x: hidden;
}

img{max-width: 100%;height: auto;}

strong {
    font-weight: 700;
}
em{font-style: italic;}


/* h1,h2,h3,h4,h5,h6{font-family: "Recife Display";font-weight: bold;} */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: normal;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong{
    font-weight: 400;
} 
a {
    color: var(--red);
    text-decoration: none;
    font-weight: 700;
}
h1{font-size: 70px;letter-spacing: -3px;}
h2{font-size: 56px;}
p{font-weight: 300;}
/* ------------------------------------------------------------------------- *
/* ! Utility */
/* ------------------------------------------------------------------------- */

.text-center {text-align: center;}
.my-2, 
section.my-2{margin-top: 2rem;margin-bottom: 2rem;}
.my-3{margin-top: 3rem;margin-bottom: 3rem;}
.my-4{margin-top: 4rem;margin-bottom: 4rem;}
.my-5{margin-top: 5rem;margin-bottom: 5rem;}
.mt-3{margin-top: 3rem;}
.py-2{padding-top: 2rem;padding-bottom: 2rem;}
.cyan{background: var(--lcyan);}
.yellow {background: var(--yellow);}
.cornice {width: 70%;margin: 0 auto; height: auto;}
.wp-block-columns,
.wp-block-group
{max-width: 1350px;padding: 15px;margin: 0 auto;}

.wp-block-group.alignfull{max-width: 100%;padding: 0;}


.trattino{
    width: 100px;
    height: 4px;
    background: var(--red);
    margin: 20px 0;
}
.trattino.white{

    width: 100px;
    height: 4px;
    background: #fff;
    margin: 20px 0;
}




/* ! Header */

header{ z-index: 999;width: 100%;display: flex;flex-wrap:wrap; padding-right: 15px;padding-left: 15px;}
header{clip-path: polygon(0 0, 100% 0%, 100% 65%, 0% 100%);}
body.clippy header{clip-path: none;}
.home.admin-bar header{top: 32px;}

header{background: rgba(51, 51, 51, 0.9);position: relative;}


body.home header{position: fixed;top:0;left: 0;background: transparent;}

.has__thumbnail header,
.blog header{background: transparent;border-bottom: 2px solid transparent;}


/* ! Header logo */
header .header__logo {width: 150px;height: auto;z-index: 99999;padding-bottom: 15px;}
header .header__logo img{padding-top: 10px;transition: 0.6s;}
header .header__logo .description{color: #fff;text-align: center;text-transform: uppercase;font-size: 0.8rem;text-shadow: 0 0 2px var(--red); transition: 0.6s;margin-bottom: 15px;}

.is-scrolled header .header__logo{width: 80px;}
.is-scrolled header .header__logo img{padding-top: 5px;}
.is-scrolled header .header__logo .description {font-size: 0;}

.home.is-scrolled header{background: rgba(51, 51, 51, 0.9);}

/* ! header__nav */
header .header__nav{z-index:99; position: fixed; top: 0;right:-5000px;display: flex;width: 100vw;height: 100vh;background: rgba(51, 51, 51, 0.9);flex-direction: column;align-items: center;justify-content: center;}
header .header__nav.wide{right:0;}
header .header__nav ul{list-style-type: none;margin: 0;padding: 0;}
header .header__nav ul li{width: 100%;text-align: center;margin-top: 10px;}
header .header__nav ul li a{display: block;color: #fff;text-align: center;font-size: 2rem;text-transform: uppercase;transition: 0.6s;}
header .header__nav ul li a:hover{text-shadow: 0 0 20px var(--red);}

header .header__nav ul li.current_page_item a {color: var(--red);text-shadow: 0 0 20px #fff;}

/* ! Navbar */
header .navbar {height: 40px;width: 50px; position: absolute;top: 30px;right: 80px;z-index: 99;}
header .navbar span{
    height: 8px;
    width: 50px;
    display: block;
    transition: all .3s cubic-bezier(.215, .61, .355, 1);
    background: #fff;
}
header .navbar span:nth-child(2){
    margin-top: 10px;
    
    
}
header .navbar span:nth-child(3){
    margin-top: 10px;
    
    
}

@media (max-width: 767px) {
  header .navbar {right:30px}
  header .header__nav ul li a{font-size: 1.5rem;}
}

/* Navbar attiva e menu aperto */
header .navbar.close span:nth-child(1){transform: rotate(45deg) translateY(13px) translateX(13px);background: var(--red);border-radius: 5px;}
header .navbar.close span:nth-child(2){background: transparent;}
header .navbar.close span:nth-child(3){transform: rotate(-45deg) translateY(-13px) translateX(13px);background: var(--red);border-radius: 5px;}


/* ! Main Carousel */
.main-carousel .carousel-cell{width: 100%; height:800px;text-align: center;margin-right: 30px;display: flex;}
.main-carousel .carousel__caption{width: 80%;position: absolute;bottom: 15%;left: 10%;margin: 0 auto;}
.main-carousel .carousel-cell h2.seo-title-target {color: #fff;text-align: center;font-size: 70px;font-weight: 100;text-transform: uppercase;margin-bottom: 0;}
.main-carousel .carousel-cell h3{color: #fff;text-align: left;text-transform: none;font-size: 51px;font-weight: 300;text-align: center;text-transform: uppercase;}

@media (max-width: 997px) {
  .main-carousel .carousel-cell h2.seo-title-target {font-size: 2rem;}
  .main-carousel .carousel-cell h2,
  .main-carousel .carousel-cell h3{font-size: 1.25rem;}
}

.home section.ufficio_al_centro{margin-top: 50px;margin-bottom: 50px;}
.home section.ufficio_al_centro h1 {text-transform: uppercase;}


.home section.perche_sceglierci h2{font-size: 70px;text-transform: uppercase;}
.home section.perche_sceglierci h6{font-weight: 700;font-size: 18px;}
.home section.perche_sceglierci .rect {
padding: 150px 0 150px;

}

@media (max-width: 767px) {
  .home section.perche_sceglierci h2{font-size: 2.5rem;}
  .home section.perche_sceglierci .rect .wp-block-cover  .wp-block-cover__background.has-background-dim.has-background-dim-0{background: rgba(0,0,0,0.5);opacity: 0.5!important;}
}


/* ! page-template-default  */
section.jumbotron__fluid.page{padding-top: 250px;padding-bottom: 100px;margin-top: -250px;}
h1.cta-title{color: #fff;}
body.wp-singular h1.no__thumb.animated,
.page-template-page-memoria h1{
text-align: center;
text-transform: uppercase;
}


/* ! Memoria template  */
.page-template-page-memoria h1 {background: var(--background);}
.page-template-page-memoria article{position: relative;}
article .line__history{border: 2px solid #333;height: 100%;position: absolute;top: 0;left: 50%;z-index: -1;}
.title{display: flex;justify-content: space-between}
.history h3{font-size: 20px;font-weight: 700;position: relative;text-transform: uppercase;width: 100%;}

.calendar{
  display:flex; 
  width: 80px;
  height: 80px;
  text-align: center;
  border-radius: 99px;
  background: #333;
  color: #fff;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  z-index: 99;
  
}
.triangle{width: 30px;height:30px;margin-top: 20px;background: var(--background);}

.calendar i{font-size: 2rem;}
.history.sinistra{margin-right: 60%;padding: 15px;border: 1px solid #ccc;}
.history.destra{margin-left: 60%;padding: 15px;border: 1px solid #ccc;}

.history.sinistra .title{justify-content: space-between; margin-right: -170px;}
.history.sinistra .title .triangle{border-top: 1px solid #ccc;border-right:1px solid #ccc;transform: rotate(45deg);margin-left: -228px;}
.history.destra .title h3{order: 3;}
.history.destra .title .calendar{order: 1;margin-left: -170px;}
.history.destra .title .triangle{border-top: 1px solid #ccc;border-right:1px solid #ccc;transform: rotate(-135deg);order: 2;margin-left: 58px;}


@media screen and (max-width: 1300px) {
  .history.sinistra .title{margin-right: -160px;}
  .history.sinistra .title .triangle{margin-left: -209px;}
}


@media screen and (max-width: 1023px) {
  .page-template-page-memoria h1 {font-size: 2rem;}
  .history.sinistra,
  .history.destra
  {width: 100%;margin: 0;margin-top: 10px;padding-left: 10%;}

  .triangle{display: none;order: 3;}
  article .line__history{left:5%; top: 220px; height: 90%;}
  .history.sinistra .title h3,
  .history.destra .title h3{order:2 ;}

  .history.sinistra .title .calendar,
  .history.destra .title .calendar{
    margin-left: -75px;

  }
  
}
/* Sharedaddy */
.sharedaddy {max-width: 1350px;width: 100%;padding: 15px;margin: 0 auto;}

/* ! FAQ Yoast  */
section.faq{ border-top: 2px solid #ddd; border-bottom:2px solid #ddd;margin:30px -15px; padding: 15px;}
section.faq h2{position: relative;cursor: pointer;font-size: 2.5rem;color: var(--blue);}
section.faq h2::after {content: "\f0d7 ";font-family: "Font Awesome 5 Free";font-weight: 900;display: inline-block;position: absolute;transition: 0.6s;color: var(--blue);bottom: -2px;left: 85px;cursor: pointer;}
section.faq h3{text-align: right;color: #ccc;margin-top: -50px;font-size: 1rem;}
section.faq h3 em{text-transform: uppercase;color:#ddd;font-size: 1.25rem;}

p.FAQ{background: VAR(--green); color: #fff;padding: 5px;width: 200px;text-transform: uppercase;font-size: 0.9rem;text-align: center;}
h3.FAQ{font-weight: 400;}
h3.FAQ strong em{color: VAR(--green);font-weight: 500;font-style: normal;}
.schema-faq.wp-block-yoast-faq-block .schema-faq-question{margin-bottom: 10px;display: block;border-bottom: 1px solid #ccc; padding: 5px 20px;font-weight: 500;position: relative;}
.schema-faq.wp-block-yoast-faq-block .schema-faq-question:before{content: "\f0da ";font-family: "Font Awesome 5 Free";font-weight: 900;color: var(--red);padding-right:2px;}
.schema-faq.wp-block-yoast-faq-block .schema-faq-question:after{position: absolute;content: "\f067";font-family: "Font Awesome 5 Free";font-weight: 900;color: var(--red);right: 5px;bottom: 5px;transition: 0.6s;}
.schema-faq.wp-block-yoast-faq-block div.active .schema-faq-question:after{-ms-transform: rotate(45deg);transform: rotate(45deg);color: var(--yellow);}
.schema-faq.wp-block-yoast-faq-block div.schema-faq-section p.schema-faq-answer{display:none;transition: 0.6s;padding:5px;}
.schema-faq.wp-block-yoast-faq-block div.schema-faq-section.active p.schema-faq-answer{display:block;}


/* Animation System on scroll v2 
--------------------------------------------------------- */

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease-out, transform .8s cubic-bezier(.2,.7,.25,1), filter .8s cubic-bezier(.2,.7,.25,1); will-change: opacity, transform, filter; }

/* Directional variants */
.reveal.reveal-up { transform: translateY(30px); }
.reveal.reveal-down { transform: translateY(-30px); }
.reveal.reveal-left { transform: translateX(30px); }
.reveal.reveal-right { transform: translateX(-30px); }
.reveal.reveal-zoom { transform: scale(.95); }
.reveal.reveal-skew { transform: translateY(20px) skewY(5deg); }
.reveal.reveal-blur { filter: blur(6px); }

/* Active state on scroll */
.reveal.is-inview { opacity: 1; transform: none; filter: none; }

/* Clip-path effect */
.reveal.reveal-clip { display: inline-block; position: relative; overflow: hidden; /* create mask */ clip-path: inset(0 0 100% 0); /* hidden from bottom */ transform: translateY(20px); /* placed below */ }

/* Clip-path active state */
.reveal.reveal-clip.is-inview { animation: clip 0.9s cubic-bezier(.2,.7,.25,1) forwards; }

/* Keyframes for clip-path reveal */
@keyframes clip {
  0% { clip-path: inset(0% 0 100% 0); /* masked at bottom */ transform: translateY(0px); /* pushed down */ }
  100% { clip-path: inset(0 0 0 0); /* fully visible */ transform: translateY(0); /* normal position */ }
}

/* Accessibility: disable animations */
@media (prefers-reduced-motion: reduce) {
  .reveal { transition: none !important; animation: none !important; opacity: 1 !important; transform: none !important; filter: none !important; clip-path: none !important; }
}

/* Delay utilities */
.delay-01 { transition-delay: .1s; }
.delay-02 { transition-delay: .2s; }
.delay-03 { transition-delay: .3s; }
.delay-04 { transition-delay: .4s; }
.delay-05 { transition-delay: .5s; }
.delay-06 { transition-delay: .6s; }
.delay-07 { transition-delay: .7s; }
.delay-08 { transition-delay: .8s; }
.delay-09 { transition-delay: .9s; }
.delay-10 { transition-delay: 1s; }

/* Animation System v2 End */

/* ! Animate */
:root {--animate-duration: 1s;--animate-delay: 1s;--animate-repeat: 1;}
.animated {animation-duration: var(--animate-duration);animation-fill-mode: both;}

@keyframes bounceOutLeft {
  20% {opacity: 1;transform: translate3d(20px, 0, 0) scaleX(0.9);}
  to {opacity: 0;transform: translate3d(-2000px, 0, 0) scaleX(2);}
}
.bounceOutLeft {animation-name: bounceOutLeft;}

@keyframes bounceInLeft {from,60%,75%,90%,
  to {animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}
  0% {opacity: 0;transform: translate3d(-3000px, 0, 0) scaleX(3);}
  60% {opacity: 1;transform: translate3d(25px, 0, 0) scaleX(1);}
  75% {transform: translate3d(-10px, 0, 0) scaleX(0.98);}
  90% {transform: translate3d(5px, 0, 0) scaleX(0.995);}
  to {transform: translate3d(0, 0, 0);}
}
.bounceInLeft {animation-name: bounceInLeft;}

@keyframes bounceInRight {from,60%,75%,90%,
  to {animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}
  from {opacity: 0;transform: translate3d(3000px, 0, 0) scaleX(3);}
  60% {opacity: 1;transform: translate3d(-25px, 0, 0) scaleX(1);}
  75% {transform: translate3d(10px, 0, 0) scaleX(0.98);}
  90% {transform: translate3d(-5px, 0, 0) scaleX(0.995);}
  to {transform: translate3d(0, 0, 0);}
}
.bounceInRight {  animation-name: bounceInRight;}


@keyframes lightSpeedInRight {
  from {transform: translate3d(100%, 0, 0) skewX(-30deg);opacity: 0;}
  60% {transform: skewX(20deg);opacity: 1;}
  80% {transform: skewX(-5deg);}
  to {transform: translate3d(0, 0, 0);}
}
.lightSpeedInRight {animation-name: lightSpeedInRight;animation-timing-function: ease-out;}

@keyframes zoomInDown {
  from {opacity: 0;transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}
  60% {opacity: 1;transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);}
}

.is-selected .zoomInDown {animation-name: zoomInDown;}


/* ! Flickity v2.2.2 */

.flickity-enabled {position: relative;}
.flickity-enabled:focus { outline: none; }
.flickity-viewport {overflow: hidden;position: relative;height: 100%}
.flickity-slider {position: absolute;width: 100%;height: 100%;}

/* draggable */
.flickity-enabled.is-draggable {-webkit-tap-highlight-color: transparent;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
.flickity-enabled.is-draggable .flickity-viewport {cursor: move;cursor: -webkit-grab;cursor: grab;}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {cursor: -webkit-grabbing;cursor: grabbing;}

/* ---- flickity-button ---- */
.flickity-button {position: absolute;background: hsla(0, 0%, 100%, 0.75);border: none;color: #333;}
.flickity-button:hover {background: white;cursor: pointer;}
.flickity-button:focus {outline: none;box-shadow: 0 0 0 5px #19F;}
.flickity-button:active {opacity: 0.6;}
.flickity-button:disabled {opacity: 0.3;cursor: auto;pointer-events: none;}
.flickity-button-icon {fill: currentColor;}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {top: 50%;width: 44px;height: 44px;border-radius: 50%;transform: translateY(-50%);}
.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {left: auto;right: 10px;}
.flickity-rtl .flickity-prev-next-button.next {right: auto;left: 10px;}
.flickity-prev-next-button .flickity-button-icon {position: absolute;left: 20%;top: 20%;width: 60%;height: 60%;}

/* ---- page dots ---- */
.flickity-page-dots {position: absolute;width: 100%;bottom: 25px;padding: 0;margin: 0;list-style: none;text-align: center;line-height: 1;}
.flickity-rtl .flickity-page-dots { direction: rtl; }
.flickity-page-dots .dot {display: inline-block;width: 40px;height: 4px;margin: 0 8px;background:#fff;opacity: 0.5;cursor: pointer;}
.flickity-page-dots .dot.is-selected {opacity: 1;background: var(--red)}

/* End Flickity */




/* ------------------------------------------------------------------------- *
/* ! Footer */
/* ------------------------------------------------------------------------- */
footer{ color: #fff;margin-top: 100px;}
footer .footer__logo{max-width: 300px;}
footer .footer__logo img{width: 100%;}
footer .claim{max-width: 280px;text-align: center;color: #fff;text-transform: uppercase;margin-left: 5px;margin-bottom: 50px;}
footer a{color: #fff;}



/* ------------------------------------------------------------------------- *
/* ! Credits */
/* ------------------------------------------------------------------------- */

footer .ottomedia {
    text-align: right;
    padding-top: 50px;
    padding-bottom: 10px;
    font-size: 15px;
    font-weight: 400;
    display: block;
    width: 100%;
    border-radius: 15px;
}

footer .ottomedia a span.logo {
    color: #82DD00;
}

footer .ottomedia a img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    margin-left: -10px;
    width: 150px;
    height: auto;
}

footer .social {text-align: center;font-size: 3rem;}
footer .social a {transition: 0.6s;}
footer .social:hover a{color: #0766FF;}

/* ------------------------------------------------------------------------- *
/* ! Form */
/* ------------------------------------------------------------------------- */
.form-contact-info h5{text-align: center;text-transform: uppercase;margin-top: 10px;font-size: 2.5rem;}
textarea.form-control{height: 147px;}
.form-row .form-row .col-12{padding-left: 5px;padding-right: 5px;}



input.button{ position: relative;
    display: block;
    border-radius: 0;
    border: 0;
    transition: 0.5s;
    text-align: center;
    padding: 10px 15px;
    color: #495057;
    width: 100px;
    text-transform: uppercase;
    font-size: 1rem;
    margin: 20px 0;
    background: #fff;
    z-index: 1;
    border: 2px solid #fff;
    transition: 0.6s;
    border-radius: 5px;
    cursor: pointer;
}
input.button:hover{
    border: 2px solid var(--red);
    background: var(--red);
    color: #fff;

}

/* ------------------------------------------------------------------------- *
/* ! Back-to-top */
/* ------------------------------------------------------------------------- */

.back-to-top {
    display: block;
    position: fixed;
    line-height: 1rem;
    left: calc(50% - 27px);
    bottom: 5px;
    visibility: hidden;
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    text-align: center;
    padding: 0;
    border-radius: 99px;
    border: 2px solid transparent;
    transition: 0.5s;
    background: var(--red);
    opacity: 0.7;
    z-index: 9;
}

.back-to-top:hover {
    opacity: 1;
    box-shadow: 0 0 0 1px #fff;
    -webkit-box-shadow: 0 0 0 1px var(--red);
    width: 56px;
    height: 56px;
    left: calc(50% - 28px);
    border: 2px solid #fff;
}

.display-top .back-to-top {
    visibility: visible;
    z-index: 99;
}

.back-to-top a {
    color: #fff;
    padding: 0;
}

.back-to-top a .top-up {
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    transition: 0.5s;
}

.back-to-top:hover a .top-up {
    top: 8px;
}

.back-to-top a .top-down {
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    transition: 0.5s;
}

.back-to-top:hover a .top-down {
    top: 22px;
}