@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,400;0,700;1,400;1,700&display=swap');

* {
  margin: 0;
  padding: 0;
}

:root {
  --padding: 1.5rem;
  --color-black: #000;
  --color-white: #fff;
  --color-green:  #56b474;
  --color-text: var(--color-black);
  --color-background: var(--color-white);
  --font-family-sans: 'Archivo', Helvetica, Arial, sans-serif;

}

html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background: var(--color-background);
  box-sizing: border-box;
  scroll-behavior: smooth;
}
body {
  margin: 0 auto;
}
.start-section{
  position: relative;
  z-index: 999;
  display: block;
  height: 100vh;
}
.vertical-section{
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

main {

}
.pure-g  {
  overflow: hidden;
}
.pure-g [class*="pure-u"] {
  font-family: var(--font-family-sans);
  overflow: hidden;
}
a{
  color: var(--color-black);
  transition: 0.3s ease;
}
a:hover{
  color: var(--color-green);
}
p{
  color:  var(--color-black);
}
h1 {
  margin: 0;
  padding: 0;
}

div{
  box-sizing: border-box;
}

section {
  min-height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 2rem;
}
main section:first-child {
  padding-top: 2rem;
}

figure{
  /*text-align: center; 
  overflow: hidden; 
  max-height: 100vh;*/
  width: 100%;
  height: auto;
  margin-top: 0.1rem;
  display: block;
}
figure a:hover{
  opacity: 0.6;
}
figure img{
  object-fit: cover;
  width: 100%;
}
section h1{
  font-size: 1.3rem;
  font-weight: 400;
}
section h2{
  font-size: 1.3rem;
  font-weight: 400;
}
section h4{
  font-size: 1.3rem;
  font-weight: 400;
}
section h5{
  font-size: 0.9rem;
  line-height: 1.4;
  margin-top: 1.4rem;
}
section p{
  font-size: 0.9rem;
  line-height: 1.4;
  margin-top: 0.8rem;
}


.no-mt{
  margin-top: 0;
}
.full {
  width: 100%;
}

.boxed {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}

.header {
  background-color: rgba(255,255,255, 1);
  position: fixed;
  width: 100%;
  height: 0;
  z-index: 99;
}
.header .logo {
  float: right;
  padding: 1rem 0.4rem 1rem 1rem;
  color: var(--color-black);
  text-decoration: none;
  display: none;
}
.header .logo img{
  float: left;
  width: 36px;
  display: block;

}

.header .minilogo {
  float: right;
  padding: 0.7rem 1rem 1rem 1rem;
  color: var(--color-black);
  text-decoration: none;
  display: block;
}
.header .minilogo i{
  font-size: 1.4rem;
  margin-left: 0.3rem;
  position: relative;
  top: 2px;
}
.menu{
  background-color: var(--color-white);
  /*opacity: 0.96;*/
  /*border-bottom: 1px solid var(--color-black);*/
}
.menu ul {
  display: block;
  margin-top: 0.6rem;
}
.menu ul li {
  float: left;
  display: block;
}
.menu ul li a {
  padding: 0.35rem 0.8rem;
  display: block;
  text-decoration: none;
  color: var(--color-black);
  font-weight: 700;
  font-size: 0.9rem;
}
}
.menu ul li a[aria-current] {
  text-decoration: underline;
}
.header .logo-da {
  float: left;
  padding: 1rem;
}
.header .logo-da img{
  float: left;
  width: 160px;
  display: block;

}

.tcenter{
  text-align: center;
}

.social {
  display: none;
  width: 48px;
  margin: 20px 2rem;
  float: right;

}
.social a {
  padding: .7rem .5rem;
}



.vimeo-wrapper {
  background-color: var(--color-white);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.vimeo-wrapper video{
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 100vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
.start-logo{
  margin: 0 auto;
  padding-top: 6vh;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.start-logo a{
 width: 100%;
 display: block;
}

.start-logo a img{
 width: 200px;
 margin: 0 auto;
 display: block;
}
.start-logo::after {
  content: " ";
  display: none;
  margin: 2.4rem auto 1rem auto;
  width: 1px;
  height: 6vh;
  border-left: 1px solid  var(--color-white);
}
.start-logo a::after {
  content: " ";
  display: block;
  margin: 1.6rem auto;
  height: 1px;
  max-width: 360px;
  border-bottom: 1px solid  var(--color-white);
}
.start-logo h1{
  color: var(--color-white);
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
}
.start-logo p{
  color: var(--color-white);
  text-align: center;
  font-size: 1rem;
  line-height: 1.4;
}
.start-logo p a{
  color: var(--color-white);
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.4;
  width: auto;
  display: inline;
}
.start-logo p a:after{
  display: none;
}
.start-mouse{
  width: 24px;
  margin: 0 auto;
  display: none;
}

.start-mouse a{
  width: 100%;
  display: block;
  position: relative;
  animation: pulse 2.5s infinite;
  animation-timing-function: ease-in-out;
}

.start-button{
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.start-button a{
  color: var(--color-white);
  font-family: var(--font-family-sans);
  letter-spacing: 0.05rem;
  text-decoration: none;
  font-size: 1.2rem;
}

.start-button a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  font-style: normal;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 1.5rem;
  position: relative;
  animation: pulse 2.5s infinite;
  animation-timing-function: ease-in-out; 
  margin-bottom: 0.8em;
}

.mesi .pure-g div{
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}
.mesi .pure-g .flex-column-end{
  flex-direction: column;
}
.mesi .pure-g .flex-column-start{
  flex-direction: column;
  align-items: flex-start;
}



.mesi h3{
/*  float: left;
  padding: 1rem;
  min-height: 100%;
  box-sizing: border-box;
  position: relative;*/
  font-size: 0.9rem;
  font-weight: 400;
}
.mesi h3 span{
/*  position: absolute;
  bottom: 0;
  left: 0;*/
  float: left;
  text-align: left;
  white-space: nowrap;
  margin: 0.2rem;
}
.mesi a{
  display: block;
}

.shift-top-12{
  position: relative;
  top: -0.5rem;
}

@keyframes pulse {
  0% {
    top: 14px;
  }
  50% {
    top: 5px;
  }
  100% {
    top: 14px;
  }
}

.start-button a i{
  font-size: 2rem;
  width: auto;

}


.box1{
  padding: 1.2rem 1.5rem;
}
.box2{
  padding: 1.2rem 1.5rem;
}
.box3{
  padding: 1.2rem 1.5rem;
}
.box4{
  padding: 1.2rem 1.5rem;
}
.box5{
  padding: 1.2rem 1.5rem;
}
.box6{
  padding: 1.2rem 1.5rem;
}

.box-end{
  padding: 2.7rem 1.5rem 4rem 1.5rem;
}

.box-scheda{
  position: relative;
}
.scheda{
  width: 100%;
  text-align: center;
  transition: 0.6s cubic-bezier(.86,0,.07,1);
  margin-top: 3rem;
}
.scheda h3{
  font-size: 1.8rem;
}
.scheda h3 a{
  color: var(--color-black);
  text-decoration: none;
}
.scheda:hover{
  opacity: 0.85;
}

.hr-area {
  margin: 0 auto;
  max-width: 222px;
  text-align: center;
}
.scheda hr{
  margin: 0.4rem 4rem;
  transition: 0.6s cubic-bezier(.86,0,.07,1);
}
.scheda:hover hr{
  margin: 0.4rem 5rem;
}
.video-container {
  width: 100%;
  height: 100vh;
  position: absolute;
  z-index: -1;
}

.video-container video {
  width: 50%;
  position: absolute;
  z-index: -1;
  bottom: 6vh;
  right: 0;
}
.pure-g video{
  width: 100%;
}
.rwd-video {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  padding-top: 30px;
  position: relative;
}
.rwd-video iframe,
.rwd-video object,
.rwd-video embed {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;

}
.footer{
  /*background-color: var(--color-white);*/
  padding-top: 2rem;
}

.footer p{
  font-size: 0.9rem;
}
.footer h4{
  color: var(--color-black);
  line-height: 1.5;
  margin-top: 1rem;
  font-size: 1.4rem;
  font-weight: 400;
}
.footer a{
  color: var(--color-black);
}
.copyright{
  font-size: 0.8rem !important;
  font-weight: 700;
  letter-spacing: 0.02rem;
  color: var(--color-black);
}

.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide{
  width: 100% !important;
}
.swiper img{
  width: 100%;
  object-fit: cover;
}

.swiper-button-next, .swiper-button-prev {
  color: var(--color-white);
}

.wow{
  overflow: hidden;
}



.swiper-button-next, .swiper-button-prev {
  scale: 0.6;
}






.form-contatto .field{
  width: 100%;
  padding-right: 0;
  margin-bottom: 1em;
  float: left;
}

.form-contatto .text-field{
  padding-right: 0;
}

.form-contatto form label{
  margin-bottom: 1rem;

}
.form-contatto form .checkbox{
  float: left;
}
.form-contatto form .checkbox p{
  font-size: 0.9rem;
}
.form-contatto form .checkbox input{
  margin-right: 0.6rem;
}
.form-contatto form input:not([type=submit], [type=checkbox]){
    width: 100%;
    padding: 0.7em 1.4em;
    margin-bottom: 1rem;
    border-bottom: 2px solid #000;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    /*background-color: var(--color-green);*/
    transition: 0.35s;
    box-sizing: border-box;
    text-align: center;
}


.form-contatto form textarea{
    width: 100%;
    padding: 0.7em 1.4em;
    margin-bottom: 1rem;
    border: 2px solid #000;
    /*background-color: var(--color-green);*/
    transition: 0.35s;
    box-sizing: border-box;
}


.form-contatto form button[type=submit]{
  color: var(--color-white);
  border: 2px solid var(--color-green);
  font-weight: 700;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  padding: 0.4rem 1.2rem;
  background-color: var(--color-green);
  text-transform: uppercase;
  cursor: pointer; 
  transition: 0.35s;
  box-sizing: border-box;
}
.form-contatto form button[type=submit]:hover{
  color: var(--color-green);
  background-color: var(--color-white);
  border: 2px solid var(--color-green);
}

.form-contatto form input:focus {
  background-color: rgba(0,0,0,.1);
  outline: none;
}

.form-contatto form textarea:focus {
  background-color: rgba(0,0,0,.1);
  outline: none;
}

.form-contatto form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000;
  opacity: 1; /* Firefox */
}

.form-contatto form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #000;
}

.form-contatto form input::-ms-input-placeholder { /* Microsoft Edge */
  color: #000;
}

.form-contatto form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000;
  opacity: 1; /* Firefox */
}

.form-contatto form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #000;
}

.form-contatto form textarea::-ms-input-placeholder { /* Microsoft Edge */
  color: #000;
}

.hide-btn{
  display: none;
}
.form-contatto form .download-btn{
  display: block;
  float: left;
  width: 100%;
}


.form-contatto form .download-btn a{
  color: var(--color-white);
  border: 2px solid var(--color-black);
  font-weight: 700;
  margin-top: 1rem;
  margin-bottom: 2rem;
  font-size: 1rem;
  letter-spacing: 0.05rem;
  padding: 0.4rem 1.2rem;
  background-color: var(--color-black);
  text-transform: uppercase;
  cursor: pointer; 
  transition: 0.35s;
  box-sizing: border-box;
  text-decoration: none;
  display: block;
  width: 260px;
  margin-left: 50%;
  position: relative;
  left: -130px;
}
.form-contatto form .download-btn a:hover{
  color: var(--color-black);
  background-color: var(--color-white);
  border: 2px solid var(--color-black);
}
#donate-button-container{
  margin-top: 0.6rem;
}
.success p{
  color: var(--color-green);
  font-weight: 700;
}
.mob-hide{
  display: none;
}
.desk-hide{
  display: block;
}


.uniform__potty {
    position: absolute;
    top: -9999px;
    left: -9999px;
}

.card-text{
  position: relative;
  top: -2rem;
  margin-bottom: 0.2rem;
}