@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Varela+Round&display=swap');
@import url('https://fonts.googleapis.com/css?family=Poppins:300,300i,400,400i,500,500i,600,600i,700,700i&display=swap');
/*GENERALI*/
html, body {
  height: 100%;
  min-height: 100%;
  padding: 0px;
  margin: 0px;
  color: #464646;
  outline: none;
  background-color: #fff;
  font-family: 'Poppins', sans-serif;
  ;
}
html, body {
  -webkit-font-smoothing: antialiased;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
}
* {
  outline: none !important;
}
a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  color: inherit;
  text-decoration: none;
}
.align-center {
  text-align: center;
}
.align-right {
  text-align: right;
}
.block {
  display: block !important;
  text-align: left;
}
#main {
  padding: 0 15px;
}
section {
  position: relative;
  padding: 120px 0;
  background-color: #ffe7de;
}
section:first-of-type {
  margin-top: 15px;
  border-top: 2px solid #e9416c;
  background-image: url("../img/element/el_center.png");
  background-position: top right;
  background-repeat: no-repeat;
  background-size: 100%;
}
section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 160px;
  height: 280px;
  background-image: url("../img/element/el_dx.png");
  background-position: top right;
  background-repeat: no-repeat;
  background-size: contain;
}
section:last-of-type {
  margin-bottom: 0;
}
section:nth-child(odd) {
  background-color: #ffe1d6;
}
.wrapper {
  position: relative;
  width: 100%;
  padding: 0 35px;
  z-index: 10;
}
.container {
  position: relative;
  z-index: 10;
}
.container:last-of-type {
  margin-bottom: 0;
}
.row {
  margin-bottom: 100px;
}
.row:last-of-type {
  margin-bottom: 0 !important;
}
.row.row_inside {
  margin-bottom: 50px;
}
.big-gutters {
  margin-right: -50px !important;
  margin-left: -50px !important;
}
.big-gutters > .col, .big-gutters > [class*=col-] {
  padding-right: 50px;
  padding-left: 50px;
}
.cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  object-position: center;
}
.cover.cover_bottom {
  object-position:bottom;
}
.cover.cover_top {
  object-position:top;
}
dl, ol, ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
/*END GENERALI*/
/*TYPO*/
h1, h2, h3, h3, h4, h5, h6 {
  padding: 0px;
  margin: 0 0 0 0;
}
h1, h2, h3 {
  font-size: 12px;
  line-height: 16px;
  color: #e9416c;
  margin-bottom: 50px;
  font-weight: 600;
}
h1, h3 {
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
h1:last-child, h2:last-child, h3:last-child {
  margin-bottom: 0;
}
h2, .homepage h2.a_footer {
  font-family: 'Varela Round', sans-serif;
  font-size: 38px;
  line-height: 42px;
  font-weight: 400;
}
.homepage h2 {
  font-size: 80px;
  line-height: 85px;
}
p {
  font-size: 16px;
  line-height: 25px;
  font-weight: 600;
  margin-bottom: 15px;
}
p:last-of-type {
  margin-bottom: 0 !important;
}
p a {
  transition: all 0.3s;
  font-weight: 700;
}
p a:hover {
  color: #e9416c;
}
strong {
  font-weight: 700;
}
p strong {
  font-weight: 700;
}
/*END TYPO*/
/*A BTN*/
a.more {
  position: relative;
  display: inline-block;
  min-width: 200px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  text-transform: uppercase;
  text-align: center;
  margin-right: 10px;
  background-color: #b02549;
  border-radius: 20px;
  padding: 15px 20px;
  box-shadow: 0px 4px 0px 0px rgba(255, 255, 255, 0.50);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  overflow: hidden;
}
a.more:last-of-type {
  margin-right: 0;
}
a.more.more_margin {
  margin-top: 50px;
}
a.more span {
  display: inline-block;
  position: relative;
  transition: all 0.3s;
  z-index: 2;
}
a.more:hover span {
  transition-delay: 0.3s;
  color: #fff;
}
a.more::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e9416c;
  transition: all 0.3s;
  transform: translate(0, 0);
  z-index: 1;
}
a.more:hover::after {
  transform: translate(0, 100%)
}
/*END A BTN*/
/*PAGE*/
.img_box {
  position: relative;
  height: 65vh;
  min-height: 600px;
  width: 100%;
  overflow: hidden;
  border: 6px solid rgba(255, 255, 255, 0.35);
}
.img_box.img_box_mini {
  height: 45vh;
  min-height: 450px;
}
.img_box.img_box_profilo {
  height: 350px;
  min-height: 350px;
}
.img_box img {
  z-index: 1;
}
.img_box::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 30px);
  height: calc(100% - 30px);
  top: 15px;
  left: 15px;
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 2px;
  z-index: 2;
}
/*ITEM*/
.item {
  position: relative;
  padding: 100px;
  border: 2px solid #e9416c;
  margin-bottom: 50px;
}
.item:last-of-type {
  margin-bottom: 0;
}
.item.item_mini {
  padding: 50px;
}
p.p_line {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 2px solid #e9416c;
}
p.p_mini {
  font-size: 70%;
}
ul.list_dett {
  font-size: 16px;
  line-height: 25px;
  font-weight: 600;
}
ul.list_dett:first-of-type {
  margin-top: 25px;
}
ul.list_dett li {
  display: block;
  position: relative;
  padding: 0;
  margin-bottom: 20px;
  padding-left: 25px;
}
ul.list_dett li:last-of-type {
  margin-bottom: 0;
}
ul.list_dett li::before {
  content: "";
  display: block;
  position: absolute;
  width: 15px;
  height: 15px;
  top: 5px;
  left: 0;
  background-color: #e9416c;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 15px;
}
ul.list_dett li span {
  display: inline-block;
  vertical-align: top;
  width: 90%;
}
ul.list_orari {
  font-size: 16px;
  line-height: 25px;
  font-weight: 600;
}
ul.list_orari li {
  display: block;
}
ul.list_orari li span {
  display: inline-block;
  width: 50%;
  border-right: 2px solid #e9416c;
  margin-right: 20%;
  padding: 5px 0;
}
/*FOOTER*/
footer {
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 100px 0 100px 0;
  background-color: #fff;
  border-top: 2px solid #e9416c;
  border-bottom: 2px solid #e9416c;
}
/*END FOOTER*/