/**,
*:before,
*:after {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
*/


.webgl
{
    position: fixed;
    top: 0;
    left: 0;
    outline: none;
}



:root {
  --rosso: #Ff4848;
user-select: none;
}

.text-blue {
  color: var(--rosso);  
}

.text-red {
  color: var(--rosso);  
}

#intro {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 150px;
  width: 150px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0;
  transform: translate(-50%, -50%);
}

#background_pattern {
  position: absolute;
  width: 600vw;
  height: 600vh;
  background-image: url(/assets/img/bg4.svg);
  background-size: 40px 40px;
  transform: rotate(0deg);
  -webkit-animation: rotate-center 3000s linear infinite both;
  animation: rotate-center 3000s linear infinite both;
}

@media(min-width: 768px){
  #background_pattern {
    opacity: .75;
  }
}

@-webkit-keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@media(max-width: 959px) {
  #wrapper {
    width: 100%;
  }
}

#dialogue {
  padding: 0;
  width: 100%;
  margin: 0 auto;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: flex-end;
}

#dSpacer > div {
  height: 30px;
}

#navigation_buttons li {
  position: fixed;
  background-color: #e50040;
  border-radius: 50%;
  padding: 15px 17px;
  right: 25px;
  color: white;
  z-index: 10000;
}

.ensoulSays, .userSays {
  position: relative;
  display: none;
  flex-direction: column;
  padding: 0 15px;
  box-sizing: border-box;
}

.ensoulSays {
  align-items: flex-start;
}

.userSays {
  transform-origin: right;
  align-items: flex-end;
  align-self: flex-end;
  max-width: 80%;
  width: 310px;
}

.ensoulSays .message, .userSays .message {
  padding: 16px 24px;
  font-weight: 300;
  font-size: 1.15rem;
  letter-spacing: 0.4px;
  line-height: 1.28em;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  border-radius: 33px;
  box-sizing: border-box;
}

@media(max-width: 767px) {
  .ensoulSays .message, .userSays .message {
    padding: 16px 24px;
    font-weight: 300;
    font-size: 1.05rem;
    letter-spacing: 0.4px;
    line-height: 1.28em;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 33px;
  }
}

.ensoulSays .message {
  opacity: 1;
  transform: scale(0);
  transform-origin: 0 0;
  color: #2C2C2C;
  cursor: default;
  background: #FBE3DC;
  border-radius: 0px 20px 20px;
  width: 82%;
}

.ensoulSays .message.image {
    width: 100%;
    height: 200px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0;
    border-radius: 30px 30px 30px 0px;
    margin-bottom: -30px;
}

#case-slide-content-mobile .ensoulSays {
  padding:0;
}
  
#case-slide-content-mobile .ensoulSays .message {
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0px 3px 10px rgba(42,34,75,0.2);
}

.ensoulCaseStudies {
  box-sizing: border-box;
  padding: 0 15px;
}

@media(max-width: 767px) {
  .ensoulCaseStudies {
    margin-top: 0;
  }
}

.case-sotto {
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  position: absolute;
}

.ensoulCaseStudies h3 {
  font-size: 1.15rem;
  line-height: 1.28;
  font-weight: 400;
  text-align: left;
  margin: 0;
  background-color: #FBEBE7;
  border-radius: 30px 0px 30px 30px!important;
  position: relative;
  transition: all .4s cubic-bezier(0, 0.62, 0.2, 1.01);
  transform-origin: center;
  border-radius: 30px;
  padding: 15px 35px 15px 35px;
  box-shadow: 0px 3px 10px rgba(42,34,75,0.2);
}

.case {
  cursor: pointer;
}

.case:first-child {
  margin-top: 0;
}

.case-content-inner {
  overflow: hidden;
}

.case-content-inner, .case-sotto {
  perspective: 15px;
}

.case-sotto h3:hover {
  transition: all .4s cubic-bezier(0, 0.62, 0.2, 1.01);
  background-color: var(--rosso);
  color: white;
}

.case img {
  transition: transform .4s cubic-bezier(0, 0.62, 0.2, 1.01);
  transform-origin: center;
  backface-visibility: hidden;
  border-radius: 15px;
}

.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 15px 15px;
  grid-template-areas: ". .";
}

.ensoulCaseStudies .caseStudiesTitle {
  position: absolute;
}

#case-slide-content-mobile {
  position: relative;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 300px;
  max-width: 300px;
  z-index: 13;
  height: 100%;
  left: 150px;
}

#case-slide-content-mobile .ensoulSays {
  align-items: center;
}

.ensoulSays a {
  pointer-events: all;
  color: #ff4848;
  font-weight: bold;
  z-index: 15;
  position: relative;
}

.case:hover h3 {
  background-color: var(--rosso);
  color: white;
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out, padding 0.3s ease-out, margin 0.3s ease-out;
  -moz-transition: background-color 0.3s ease-out, color 0.3s ease-out, padding 0.3s ease-out, margin 0.3s ease-out;
  -o-transition: background-color 0.3s ease-out, color 0.3s ease-out, padding 0.3s ease-out, margin 0.3s ease-out;
  transition: background-color 0.3s ease-out, color 0.3s ease-out, padding 0.3s ease-out, margin 0.3s ease-out;
  padding: 15px 40px 15px;
  margin: 0 0 0 -10px;
}

.ensoulCaseStudies .case:hover img.canZoom {
  transform: scale(1.15);
}

.userSays .message {
  font-size: 1.15rem;
  line-height: 1.28;
  font-weight: 400;
  text-align: left;
  margin: 0;
  background-color: var(--rosso);
  color: #fff;
  border-radius: 30px 0px 30px 30px!important;
  position: relative;
  transition: all .4s cubic-bezier(0, 0.62, 0.2, 1.01);
  transform-origin: center;
  border-radius: 30px;
  padding: 15px 35px 15px 35px;
  box-shadow: 0px 3px 10px rgb(42 34 75 / 20%);
  cursor: pointer;
}

.userSays .message span {
  pointer-events: none;
}

.userSays.showFilled .message {
  background: var(--rosso);
  color: #e6e6e6;
}

.userSays .message:hover, .userSays .message.selected {
  background-color: var(--rosso);
  color: #e6e6e6;
  transition: background-color .3s ease-in, color .15s ease-in;
}

.message.selected {
  cursor: default;
}

.userSays .message.image {
  padding: 10px;
}

@media(min-width: 768px) {
  .userSays.userSayMobileOnly {
    display: none !important;
  }
}

.dots {
  position: absolute;
  width: 70px;
  height: 60px;
  overflow: hidden;
  display: flex;
  align-items: center;
  background: #fbe3dc;
  top: 0;
  -webkit-border-radius: 40px;
  -webkit-border-top-left-radius: 0;
  -moz-border-radius: 40px;
  -moz-border-radius-topleft: 0;
  border-radius: 40px;
  border-top-left-radius: 0;
  transform: scale(0);
  transform-origin: 0 0;
  justify-content: center;
}

.dots .dot {
  position: relative;
  height: 8px;
  width: 8px;
  background: #fff;
  margin: 0 3px;
  border-radius: 64px;
  animation-name: fluttua;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.dots .dot:nth-child(2) {
  animation-delay: .2s;
}

.dots .dot:nth-child(3) {
  animation-delay: .4s;
}

@keyframes fluttua {
  0% {
    top: 0;
  }
  30% {
    top: -8px;
  }
  60% {
    top: 0;
  }
}

.z1 {
  z-index: 1;
}

/** FLIP ENTRANCE ANIMATION **/
@-webkit-keyframes flip-in-ver-left {
  0% {
    -webkit-transform: rotateY(80deg);
            transform: rotateY(80deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}
@keyframes flip-in-ver-left {
  0% {
    -webkit-transform: rotateY(80deg);
            transform: rotateY(80deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}

#menuButton {
    bottom: 2px;
    position: absolute;
    left: calc(50% - 30px);
    width: 60px;
    overflow: hidden;
    cursor: pointer;
    height: 60px;
    border-radius: 60px;
    background: var(--rosso);
    z-index: 15;
}


@keyframes spinHorizontal {
  0% {
    transform: rotate(0deg);
  }
  5% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes spinHorizontalHover {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#FakeBall {
  width: 51px;
  height: 51px;
  position: absolute;
  background-color: #fff4f1;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 1;
  border-radius: 50%;
  display: none;
}

.bbText_el {
  font-family: 'extenda';
  font-size: 25vw;
  line-height: 1;
  text-transform: uppercase;
  display: inline-block;
  opacity: .2;
}

.overflow {
  position: relative;
  overflow: hidden;
}

.st_line {
  overflow: hidden;
}



@media(min-width: 1600px) {
  .bbText_el {
    font-size: 409px;
  }
}

#bbText {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  z-index: 0;
  transform: translateY(-50%);
  text-align: center;
}

@media(max-width: 499px) {
  #bbText {
    display: 'none';
  }
}

#bbWedge {
  width: 310px;
  flex-shrink: 0;
}

.bbTextCol {
  width: 50%;
}

.desktop_message_holder {
  overflow: hidden;
  position:  relative;
}

#menuButton:hover {
  transform: scale(1.2);
}

#menu:not(.open) #menuButton.moving {
  box-shadow: 0px 0px 10px rgba(0,0,0,.5);
}

#menuButton svg {
  max-width: none;
  width: 200px;
  left: 14px;
  position: relative;
  bottom: -7px;
}

#menuButton svg g#nome {
  transform: translate(70px);
}

@media(max-width: 767px) {
  #menuButton svg g#nome {
    transform: translate(70px, 19px) scale(0.7);
  }
}

#menuContent {
  width: 100%;
  height: 100%;
  position: absolute;
  transform: translate(0, 100%);
  left: 0;
  top: 0;
  border-radius: 50%;  
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 12;
  background: #CAD2DD;
}

/*#menu.open #menuContent {
  top: 0;
  border-radius: 0%;
}

#menu.open #menuButton {
  background: none;
}*/

.ensoulDraws {
  margin: 0;
  overflow: hidden;
}


/* fulvio */


.image_header {
  width: 100%;
  height: 60vh;
  background-size: cover;
  margin-bottom: 50px;
  border-radius: 15px;
}

.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.parent_link {
    font-size: 20px;
    color: var(--rosso);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: -1px;
    position: relative;
    cursor: pointer;
    font-family: chaney;
}

#menu_list {
  width: 300px;
  padding: 0;
  list-style: none;
}

#menu_list > li {
  margin-bottom: 13px;
  overflow: hidden;
}

#menuContent ul.children_links {
  margin: 12px 0 26px;
  list-style: none;
}

.children_links {
  display: none;
}

.children_links a {
  font-family: 'Work Sans', sans-serif;
  font-weight: 300;
  display: block;
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 1px;
}



#menu_list .active_title .parent_link {
  color: #fff !important;
}

#menu_list .active_title .parent_link::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23FFF%22%20stroke-width%3D%222%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

#menu_list .active_title .children_links {
  display: block;
}

#preloadBank {
  position: absolute;
}

.hover-reveal {
  position: fixed;
  width: 400px;
  height: 340px;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
}

.hover-reveal__inner,
.hover-reveal__img {
  width: 100%;
  height: 100%;
  position: relative;
}

.hover-reveal__deco {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #181314;
}

.hover-reveal__img {
  background-size: cover;
}

/*arrow down animation*/
.continueArrow {
  position: absolute;
  height: 40px;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 30px;
}

.arrow {
  opacity: 0;
  position: absolute;
  top: 0;
}

.arrow-first {
  animation: arrow-movement 2s ease-in-out infinite;
}
.arrow-second {
  animation: arrow-movement 2s 1s ease-in-out infinite;
}

.arrow:before,
.arrow:after {
  background: #fff;
  content: '';
  display: block;
  height: 3px; 
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
}

.arrow:before {
  transform: rotate(45deg) translateX(-23%);
  transform-origin: top left;
}

.arrow:after {
  transform: rotate(-45deg) translateX(23%);
  transform-origin: top right;
}

@keyframes arrow-movement {
  0% { 
    opacity: 0;
    top: 100%;
  }
  70% {
    opacity: 1;
  }
  100% { 
    opacity: 0;
  }
}

#mobileFrame {
  width: 100%;
  margin: 0 auto 0;
  background-size: contain;
  background-repeat: no-repeat;
  box-sizing: border-box;
  position: relative;
  height: 100%;
  z-index: 12;
  display: flex;
  justify-content: center;
}

#mobileFrameInner {
  position: relative;
  overflow: hidden;
  display: flex;
  height: 100%;
  width: 100%;
  box-shadow: rgba(255, 212, 212, 1) 0px -12px 71px, rgba(255, 255, 255, 1) 0px 12px 71px;
  border-radius: 30px;
  background-color: #fffbfb;
}


@media(max-width: 767px) {
  #mobileFrameInner {
    background-color: transparent;
    border-radius: 0px;
  }
}

#app {
  width: 100%;
  overflow-y: auto;
  box-sizing: border-box;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* background: rgba(255, 255, 255, .49);
  
   Hide scrollbar for IE, Edge and Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
#app::-webkit-scrollbar {
  display: none;
}

@media (min-width: 500px) {

  #mobileFrame {
    width: 310px;
    max-height: 550px;
    z-index: 12;
  }

  #app {
    width: 100%;
    max-height: calc(100vh - 50px);
    flex-shrink: 0;
  }
}

img {
  width: 100%;
}
/* ************ YOUR CONTENT HERE ************ */

ul#menu_list {
  margin: 0 0 10px;
  padding: 0;
}

ul#menu_list li {
  padding-left: 10px;
  font-size: .85rem;  
  text-transform: uppercase;
}

a {
  color: orange;
  text-decoration: none;
}

.pad-15 {
  padding: 15px;
}

/* reset da UIKIT per svg */
svg:not(:root) {
  overflow: hidden;
}
svg {
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}
svg:not(:root) {
  overflow: hidden;
}


#progress {
  position: absolute;
  left: 50%;
  top: 5px;
  width: 260px;
  height: 44px;
  display: flex;
  padding: 19px 19px 19px 19px;
  z-index: 16;
  box-sizing: border-box;
  transform: translateX(-50%);
  border-radius: 0px 0px 30px 30px;
  background-color: #fff4f1;
  opacity: 0;
}

.barra-slot {
    flex: 1;
    position: relative;
    /* border-bottom: 1px solid var(--rosso); */
    cursor: pointer;
    opacity: 0;
    background-color: rgb(232,219,217);
    border-radius: 4px;
    margin: 0 4px;
}

.barra-riempimento {
  width: 100%;
  position: absolute;
  height: 100%;
  background: var(--rosso);
  pointer-events: none;
  border-radius: 4px;
}

#closeModalButton {
  cursor: pointer;
  animation: spinHorizontal 20s ease-in-out infinite;
  padding: 14px;
}

#closeModalButton path {
  -webkit-transition: fill 0.3s ease-in 0.1s;
  -moz-transition: fill 0.3s ease-in 0.1s;
  -o-transition: fill 0.3s ease-in 0.1s;
  transition: fill 0.3s ease-in 0.1s;
}

.closemodal {
  left: 50%;
  position: absolute;
  z-index: 16;
  background-color: #FFF4F1;
  border-radius: 30px;
  padding: 4px;
  opacity: 0;
  bottom: 0px;
  transform: translateX(-50%);
  -webkit-transition: background-color 0.3s ease-in 0.1s;
  -moz-transition: background-color 0.3s ease-in 0.1s;
  -o-transition: background-color 0.3s ease-in 0.1s;
  transition: background-color 0.3s ease-in 0.1s;
}

.closemodal:hover {
  background: var(--rosso);
  -webkit-transition: background-color 0.15s ease-out;
  -moz-transition: background-color 0.15s ease-out;
  -o-transition: background-color 0.15s ease-out;
  transition: background-color 0.15s ease-out;
}

.closemodal:hover #closeModalButton path {
  fill: white;
  -webkit-transition: fill 0.15s ease-out;
  -moz-transition: fill 0.15s ease-out;
  -o-transition: fill 0.15s ease-out;
  transition: fill 0.15s ease-out;
}


.closemodal:hover #closeModalButton:hover {
  animation: spinHorizontalHover 1s ease-in-out both;
}

/*** canvas ***/


.video_canvas_container {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
}

#videosContainer {
  width: 300px;
  height: 300px;
  position: absolute;
}

#videosContainer video {
  position: absolute;
  width: 300px;
  height: 300px;
}

.video {
  pointer-events: none;
  z-index: 1;
  position: relative;
  width: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
}

#canvas {
  position: absolute;
  width: 100%;
  height: 100%;
}

#plane {
  width: 100vh;
  height: 100%;
  position: relative;
  z-index: 100;
}

#plane video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100px;
  display: none;
}

#story-modal {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  z-index: 13;
  border: 20px solid #fff4f1;
  box-sizing: border-box;
  pointer-events: none;
}

.planeContainer {
  height:100%;
}

#story-modal-left{
  height: 100%;
  display: flex;
  box-sizing: border-box;
  flex: 1;
  justify-content: flex-end;
  position: relative;
  align-items: center;
}

#case-slide-title {
  position: absolute;
  width: 100%;
  opacity: 0.6;
  display: flex;
  justify-content: center;
}

#case-slide-title-inner {
  display: inline-block;
  font-size: 16vw;
  text-transform: uppercase;
  font-family: 'extenda';
  line-height: -3em;
  box-sizing: border-box;
  text-align: center;
  padding: 0px;
  margin-bottom: -50px;
}

.split_line {
  overflow: hidden;
}

#story-avatar, #story-modal-left-spacer {
  width: 90px;
  height: 90px;
  background-size: cover;
  background-position: center;
}

@media (max-aspect-ratio: 8 / 10) {
  #progress {
    width: 100%;
    padding: 19px 58px 19px 19px;
    bottom: 0;
    background: #fff4f1;
    top: initial;
    border-radius: 30px 30px 0px 0px;
    left: 0;
    transform: none;
  }

  .closemodal {
    background: none;
    left: auto;
    bottom: 0;
    right: 7px;
    opacity: 0;
    transform: none;
    padding: 0;
  }

  #closeModalButton {
    z-index: 13;
  }

  .video {
    display: block;
  }

  .video_canvas_container {
    padding-bottom: 0;
  }

  #canvas {
    width: 100vw;
    height: 100vw;
  }

  #story-modal {
    border-color: black;
  }

  #story-modal {
    display: flex;
    flex-direction: column-reverse;
    border: none;
  }

  #case-slide-title{
    position: fixed;
    z-index: 10;
    bottom: calc(100vh - 100vw - 82px);
    left: 0px;
    opacity: 1;
  }
  
  #case-slide-title-inner {
    font-size: 107px;
  }

  #story-modal-left {
    padding: 20px 20px 60px;
    height: auto;
    flex: 1;
    width: 100%;
    position: absolute;
    bottom: 0;
    justify-content: center;
  }

  .video, #plane {
    width: 100%;
    height: 100vw !important;
  }

  #case-slide-content-mobile {
    width: 100%;
    justify-content: flex-end;
    left: 0;
  }

  #story-avatar {
    width: 60px;
    height: 60px;
  }

  #story-modal-left-spacer {
    display: none;
  }

  #like-heart {
    bottom: auto;
    left: auto;
    right: 40px;
    top: 79vw;
  }
}

@media (max-aspect-ratio: 2 / 1) and (min-aspect-ratio: 8 / 10) {
  #canvas {
    border-radius: 35px 0px 0px 35px;
  }
}

.video-started .frame__content-text,
.video-started .frame__switch {
    opacity: 1;
}

.arrowLink {
  border-radius: 40px;
  padding: 10px 0px;
  z-index: 12;
  color: var(--rosso);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
}

@media(max-width: 499px){
  .arrowLink {
    display: none;
  }
}

.nextCaseBtn {
  display: none;
}

.clickShade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
  -webkit-user-select: none; 
  z-index: 12;
  pointer-events: all;
}

.arrowLink .rarr {
  font-size: 1.6rem;
}

.arrowLinkText {
  position: relative;
  transition: left .5s ease-in-out, opacity .5s ease-in-out;
  left: 5px;
  opacity: 0;
  margin-right: 9px;
}

.arrowLink:hover .arrowLinkText {
  left: 0;
  opacity: 1;
}

#rcWrapper {
  position: absolute;
  right: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 19px;
  z-index: 14;
}

.caseSiteUrl .rarr {
  transform: translate(0px, -2px) rotate(-40deg);
}

@media screen and (max-width: 768px) {
  #left_text, #right_text {
    display: none;
  }

  .case-sotto h3 {
    border-radius: 30px;
  }
}

@media screen and (min-width: 768px) {
  .case-content-inner {
    overflow: hidden;
    border-radius: 15px;
  }
}

#starter {
  position: absolute;
  height: 100vh;
  align-items: center;
  z-index: 123;
}



@media(max-width: 767px) {
  #starter {
    align-items: flex-end;
  }
}

#starter ul {
  list-style-type: none;
  padding: 0 70px;
}

@media(max-width: 767px) {
  #starter ul {
    padding: 0 30px;
    margin-bottom: 7.85rem;
  }
}

#starterOne {
  font-size: 2.8vw;
  font-weight: bold;
  margin-bottom: 1rem;
}

#st1_ita, #st1_fur {
  position: absolute;
  bottom: 0;
}

#st2_eng, #st2_ita, #st2_fur {
  font-size: 1rem;
  letter-spacing: 0.8px;
  line-height: 1.2em;
}

@media(min-width: 768px) {
  #st2_eng, #st2_ita, #st2_fur {
    white-space: nowrap;
  }
}

#st2_eng .st_line div,
#st2_ita .st_line div,
#st2_fur .st_line div {
  overflow: hidden;
  line-height: 1.05rem;
  margin-top: 2px;
}

#st2_eng, #st2_fur {
  position: absolute;
  top: 0;
}

#select_language {
  margin-top: 2.5rem;
}

@media(max-width: 767px) {
  #st2_eng, #st2_ita, #st2_fur {
    font-size: 1rem;
    line-height: 1.2;
  }
  
  #select_language {
    margin-top: 1.5rem;
  }
}

#sel_eng, #sel_ita, #sel_fur {
  cursor: pointer;
}

#sel_eng:hover, #sel_ita:hover {
  font-weight: bold;
}

@media(max-width: 767px) {
  #starterOne {
    font-size: 6.5vw;
    font-weight: bold;
  }
}
.lang_selector {
  box-shadow: 0px 3px 10px rgba(42,34,75,0.2);
  padding: 10px 30px;
  margin-right: 10px;
  border-radius: 0px 20px 20px 20px;
  background-color: #FBEBE7;
  font-size: 1.15rem;
  color: #181314;
}

.lang_selector.bg-transition {
  -webkit-transition: background-color 0.3s ease-in 0.1s, color 0.3s ease-in 0.1s;
  -moz-transition: background-color 0.3s ease-in 0.1s, color 0.3s ease-in 0.1s;
  -o-transition: background-color 0.3s ease-in 0.1s, color 0.3s ease-in 0.1s;
  transition: background-color 0.3s ease-in 0.1s, color 0.3s ease-in 0.1s;
}

@media(max-width: 767px) {
  .lang_selector {
    padding: 10px 17px;
    background-color: #fbebe7;
  }
}

.lang_selector.bg-transition:hover {
  background-color: var(--rosso);
  color: white;
  -webkit-transition: background-color 0.15s ease-out, color 0.15s ease-out;
  -moz-transition: background-color 0.15s ease-out, color 0.15s ease-out;
  -o-transition: background-color 0.15s ease-out, color 0.15s ease-out;
  transition: background-color 0.15s ease-out, color 0.15s ease-out;
}

.greyed {
  margin-top: 19px;
  color: #979797;
  font-variant: all-small-caps;
  display: none;
}

.mobile-only{
  display: none;
}

@media(max-width: 767px) {
  .mobile-only{
    display: block;
  }
}

.flex {
  display: flex;
}

#partita_iva{
  position: absolute;
  bottom: 10px;
  right: 20px;
  font-size: 0.6rem;
  z-index: 14;
}

#co2_consume {
  text-transform: uppercase;
}

@media(max-width: 849px) {
  #co2_consume {
    display: none;
  }
}

@media(min-width: 768px) {
  #partita_iva{
    position: absolute;
    bottom: 42px;
    right: 67px;
    font-size: 0.6rem;
  }
}

#root {
  flex-grow: 1;
  color: #222;
  font-family: 'GT', Helvetica, Arial, sans-serif;
}

#donna {
  position: absolute;
  right: -139px;
  width: 222px;
  height: auto;
  bottom: -69px;
  animation: float 12s ease-in-out infinite;
}

#donna_riflessa {
  animation: float 12s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateX(0px);
    transform: translatey(0px);
  }
  50% {
    transform: translateX(4px);
    transform: translatey(-20px);
  }
  100% {
    transform: translateX(0px);
    transform: translatey(0px);
  }
}

@keyframes float2 {
  0% {
    transform: translateX(0px);
    transform: translatey(0px);
  }
  50% {
    transform: translateX(4px);
    transform: translatey(-45px);
  }
  100% {
    transform: translateX(0px);
    transform: translatey(0px);
  }
}

#iubenda-cs-banner {
  transform: translate(0,100%);
}

@media(max-width: 767px) {
  #donna {
    right: 6px;
    width: 142px;
    bottom: calc(-53px + 30%);
  }

  #donna_riflessa {
    width: 340px;
    bottom: -108px;
    right: -40px;
    animation: float2 12s ease-in-out infinite;
  }

  #iubenda-cs-banner {
    font-size: 11px!important;
  }

  button.iubenda-cs-close-btn:after {
    content: "×";
    position: absolute;
    padding: 20px;
    left: 0;
    top: 0;
    background: #fff;
    font-size: 32px;
  }
}

#p_iva:before {
  content: "";
  width: 30px;
  height: 1px;
  background-color: black;
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 3px;
}

#fontLoader {
  font-family: 'extenda', arial;
  opacity: 0;
}

.st_text {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(90deg, rgba(255,239,239,1) 22%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 49%, rgba(255,239,239,1) 52%, rgba(255,239,239,1) 74%, rgba(255,255,255,0) 77%, rgba(255,255,255,0) 100%);
  background-position: 99% 0;
  background-size: 450%;
  -webkit-background-clip: text;
}

.st1, .st2 {
  position: relative;
}

.bbText_el {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(90deg, rgb(201 179 179) 22%, rgba(255,239,239,1) 25%, rgba(255,239,239,1) 49%, rgb(201 179 179) 52%, rgb(201 179 179) 74%, rgba(255,255,255,0) 77%, rgba(255,255,255,0) 100%);
  background-position: 99% 0;
  background-size: 450%;
  -webkit-background-clip: text;
}

#case-slide-title-inner {
  -webkit-text-fill-color: transparent;
  background: linear-gradient(90deg, rgba(251, 235, 231, .4) 22%, rgb(251, 235, 231) 25%, rgb(251, 235, 231) 49%, rgba(251, 235, 231, .4) 52%, rgba(251, 235, 231, .4) 74%, rgba(255,255,255,0) 77%, rgba(255,255,255,0) 100%);
  background-position: 99% 0;
  background-size: 450%;
  -webkit-background-clip: text;
}
