/*
Aggiungere sempre il NORMALIZE nell'header di pagina con questo codice:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">

Oppure nel css con:
@import url('https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css');
*/

@import url('https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css');

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap');

html {
    background-color: #f6f6f6;
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 4rem;
}

body {
    /*max-width:960px;*/        /* nessun elemento può essere full-width, cioè a pieno browser */
                            /* Max larghezza consentita è indicata qui */
                            /* cancallare/commentare la riga se invece si vogliono elementi full-width */
                            /* e poi andare qui sotto su .flex-row */
    margin: 0 auto;
    background-color: white;
    overflow-x: hidden;
}

/*
Copyright (c) 2020 by Nick Else (https://codepen.io/nickelse/pen/MEWPwm)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: the above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/


.flex-wrapper {
	/*margin-bottom: 2rem;
	margin-top: 2rem;*/
}

.flex-row {
    max-width: 1040px;          /* stabilire una max-width qui anzichè nel body (vedere sopra) */
                                    /* permette di avere elementi full-width, cioè a pieno browser */
                                    /* basto solo siano dentro .flex-wrapper ma fuori .flex-row  */
                                    /* cancellare/commentare sia qui che in body per avere tutto full-width */
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    padding: 8px;
}

/*.flex-row:nth-child(odd) div {background: #999; padding: 1rem 0;}
.flex-row:nth-child(even) div {background: #555; padding: 1rem 0;}*/


/* forza le colonne di una riga ad avere tutte la medesima altezza */
/* (cioè quella della colonna più alta) */
/* N.B. la classe sottostante va attribuita ad ogni colonna della riga */
.eq-height{
    height: inherit;
}


@media (min-width: 980px) {
	.flex-wrapper {
        padding: 0 1%;      /* mettere lo stile inlinea "padding: 0;" */
    }                       /* (oppure "padding-left: 0;  padding-right: 0;") */
                            /* per avere uno specifico wrapper full-width */


	.flex-row {margin-top: 2rem;}
	.flex-row:first-child {margin-top: 0;}

	.d-1 						{width: 7.05%;}
	.d-2 						{width: 15.5%;}
	.d-3,
	.d-thirds 					{width: 23.95%;}
	.d-4,
	.d-quarters 				{width: 32.4%;}
    .d-45                       {width: 36.63%;}  /* schema "tipo": d-45 + d-45 + d-3 */
	.d-5 						{width: 40.85%;}
	.d-6,
	.d-halfs					{width: 49.3%;}
	.d-7 						{width: 57.75%;}
	.d-8 						{width: 66.2%;}
	.d-9 						{width: 74.65%;}
	.d-10 						{width: 83.1%;}
	.d-11 						{width: 91.55%;}
	.d-12,
	.d-full 					{width: 100%;}

    .no-d {
        display: none !important;
    }
}



@media only screen and (min-width: 661px) and (max-width: 979px) {
	.flex-wrapper {
		/*padding-left: 5%;
		padding-right: 5%;*/
        padding: 0 2%;
	}

	.flex-row {-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-flow: row wrap;}

	.t-4,
    .t-4on10,
	.t-6,
    .t-6on10,
    .t-8,
	.t-12 {margin-top: 2rem}

	.t-4 		{width: 31.46%;}
    .t-4on10    {width: 34.88%;}
	.t-6 		{width: 48.6%;}
    .t-6on10    {width: 62.32%;}
    .t-8 		{width: 65.74%;}
	.t-12 		{width: 100%;}

	.flex-row:first-child .t-4,
    .flex-row:first-child .t-4on10,
	.flex-row:first-child .t-6,
    .flex-row:first-child .t-6on10,
    .flex-row:first-child .t-8,
	.flex-row:first-child .t-12 {
		 margin-top: 0;
	}

    .no-t {
        display: none !important;
    }
}




@media only screen and (min-width: 0px) and (max-width: 660px) {
	.flex-wrapper {
		/*padding-left: 3%;
		padding-right: 3%;*/
        padding: 0 3%;
	}

	.flex-row {-webkit-box-orient: horizontal;-webkit-box-direction: normal;flex-flow: row wrap;}

	.m-6,
	.m-12 {margin-top: 2rem;}

	.m-6 		{width: 47.2%;}
	.m-12 		{width: 100%;}

	.flex-row:first-child .m-6,
	.flex-row:first-child .m-12 {
		 margin-top: 0;
	}

    .no-m {
        display: none !important;
    }
}

/* N.B. di seguiro tutto ciò che non è "grid" da Skeleton */

/* Skeleton V2.0.4
* Copyright 2014, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 12/29/2014 */



/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
  font-size: 62.5%; }
body {
  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #222; }


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  font-weight: 500; }
h1 { font-size: 3.6rem; line-height: 1.2;  }
h2 { font-size: 3.2rem; line-height: 1.25; }
h3 { font-size: 2.8rem; line-height: 1.3;  }
h4 { font-size: 2.2rem; line-height: 1.35; }
h5 { font-size: 1.7rem; line-height: 1.5;  }
h6 { font-size: 1.5rem; line-height: 1.6;  }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{
    text-decoration: none;
}

/* Larger than phablet */
@media (min-width: 661px) {
  h1 { font-size: 5.0rem; }
  h2 { font-size: 4.2rem; }
  h3 { font-size: 3.6rem; }
  h4 { font-size: 3.0rem; }
  h5 { font-size: 2.4rem; }
  h6 { font-size: 1.5rem; }
}

p {
  margin-top: 0;
    font-size: 1.45rem;
    line-height: 1.9rem;
    color: #555;
}

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #1EAEDB; }
a:hover {
  color: #0FA0CE; }

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 32px;
  padding: 0 30px;
  color: white;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: red;
  border-radius: /*4px*/ 1px;
  border: 1px solid red;
  cursor: pointer;
  box-sizing: border-box; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: white;
/*background-color: transparent;*/
  /*border-color: white;*/
  outline: 0; }
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  color: #FFF;
  background-color: #375962;
  border-color: #375962;}
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  color: #FFF;
  background-color: #375962;
  border-color: #375962; }


/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #33C3F0;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
  margin-bottom: 1rem; }

/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px; }
pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre; } */

/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }

/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
  margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 2.5rem; }

/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box; }
.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box; }
.u-pull-right {
  float: right; }
.u-pull-left {
  float: left; }

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }


/* = = = */
/* mio CSS per il progetto */
/* = = = */

/* questo serve per footer at bottom */
body {
    min-height: 100vh !important;
    display: flex;
    flex-direction: column;
}

* {
    color: #333;
}

.b-red {
    border: 0.5px solid red;
}

.b-red-all {
    border: 1px solid red;
}

.b-red-all *{
    border: 0.5px solid red;
}

.wrapper_1600 {
    max-width: 1600px;
    margin: 0 auto;
}

.wrapper_1040 {
    margin: 0 auto;
    max-width: 1040px;
}

.page_title {
    /*text-align: center;*/
    margin: 32px auto 18px auto;
    font-size: 2.2rem;
    /*text-transform: uppercase;*/
    text-align: center;
    font-weight: 600;
}

.the-content h6 {
    margin: -0.6rem auto 2.4rem auto;
    font-size: 1.4rem;
    letter-spacing: 0.5px;
    font-weight: 800;
}

.the-content p {
    margin-bottom: 0;
    font-size: 1.55rem !important;
    line-height: 2rem;
}


.the-content > img {
    max-width: 100%;
}

.the-content > p > img {
    max-width: 100%;
}


.img_full_w, .img100, .img_full_width, .img_full {
    width: 100% !important;
    height: auto;
}

/*.videoWrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}*/


.button-empty {
    background-color: white;
    border: 1px #777 solid;
    color: #666;
}

.button-empty > a, .button-empty > a:hover {
    color:  #666;
    text-decoration: none;
    font-weight: bold;
}

.button-primary > a, .button-primary > a:hover {
    color:  white;
    text-decoration: none;
}




/* = = = */
/* columns plugin images */   /* vedere anche header (nel mio plugin "custom-php") */
/* = = = */

.content-column img {
    width: 100% !important;
    height: auto;
    /*padding-bottom: 21px;*/
}

.aligncenter {
    display: block;
    margin: 0 auto;
}

/* = = = */
/* home */
/* = = = */

.avvisi {
    position: relative;
    padding: 8px 36px;
    text-align: center;
    font-size: 1.35rem;
    line-height: 1.8rem;
    color: #666;
}

.avvisi > div {
    position: absolute;
    right: 0.5%;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.main_menu_home {
    position: absolute;
    top: 0px;
    z-index: 1;
    width: 100%;
}

.main_carousel {
    z-index: 0;
}

.main_carousel  .slick-dots  {
    bottom: 22px;
}

.carousel-cell {
    width: 100%;
    height: 580px;
    background-color: #111;
    counter-increment: gallery-cell;
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.carousel-cell > div {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 0 34px 0;
    text-align: center;
    width: 100%;
    background-color: rgb(0,0,0,0.35);
}

.carousel-cell h5 {
    font-size: 2rem;
    padding: 2px 10px;
    color: white;
    font-weight: 500;
    letter-spacing: 1px;
}

/* per ora non è usato */
@media (min-width: 1350px) {
    .zoom_in_locandina {
        background-size: 120%;
        transform: translateY(30px)
    }
}

@media (max-width: 979px) {
    .carousel-cell {
        height: 420px;
    }
}

@media (max-width: 659px) {
    .carousel-cell {
        height: 360px;
    }
    .carousel-cell > div {
        padding: 4px 0 26px 0;
    }
    .carousel-cell h5 {
         font-size: 1.7rem;
         padding-bottom: 0px;
    }
    .main_carousel .slick-dots {
      bottom: 16px;
   }

}

/* distanza punti slick */
.slick-dots li {
    width: 15px !important;
}


.prod_carousel {
        max-width: 1040px;
        margin: 0 auto;
    }


@media (max-width: 1079px) {
    .prod_carousel {
        max-width: 800px;
    }
}

@media (max-width: 849px) {
    .prod_carousel {
        max-width: 540px;
    }
}

@media (max-width: 599px) {
    .prod_carousel {
        max-width: 300px;
    }
}

.prod_carousel_cell {
    width: 250px;
    margin: 0 auto;
}

.prod_carousel_cell h6 {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.9rem;
}

.prod_carousel_cell > a > img {
    border-radius: 3px;
    /*filter: saturate(90%); */
}

.prod_carousel_cell > a > img:hover {
    /*filter: saturate(100%);*/
    transform: scale(0.99);
}

.section_home div:nth-child(1),
.section_home div:nth-child(3) {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    /*background-image: url(https://d3mcbia3evjswv.cloudfront.net/styles/prospectus_image_style_new_finalfinal/s3/mt%20and%20music%20banner_0.jpg);*/
    line-height: 280px;
    border-radius: 5px;
}

.section_home div:nth-child(2) {
    text-align:center;
}


.section_home div:nth-child(2) > p {
    padding: 18px 18px 8px 18px;
    margin-bottom: 0;
}

.section_home .button-primary {
    margin-top: 20px;
}

.section_home h6 {
    text-transform: uppercase;
}

.partner_home {
   background-repeat: no-repeat;
   background-position:center;
   background-size: contain;
   height: 150px;
}

@media (min-width: 981px) {
   .partner_home:nth-of-type(2) {
      background-size: 130%;
   }
   .partner_home:nth-of-type(3) {
      background-size: 60%;
   }
}

@media (max-width: 980px) {
   .partner_home_2 {
      background-size: 110% !important;
   }
}

@media (max-width: 660px) {
   .partner_home_2 {
      background-size: 50% !important;
      padding-bottom: 32px !important;
   }
}

@media (max-width: 500px) {
   .partner_home_2 {
      background-size: 70% !important;
      padding-bottom: 24px !important;
   }
}

.sponsors {
    text-align: center; 
    max-width: 1120px; 
    margin: 0 auto;
}

.sponsors img {
    margin: 0 12px;
    transform: scale(0.8);
}

/* = = = */
/* footer */
/* = = = */

.site-footer {
    background-color: black;
    width: 100%; 
    margin-top: auto !important;
}

.footer_wrapper {
    padding: 24px 12px;
}

.footer_wrapper > div:nth-child(1) {
    color:red;
}

.footer_wrapper > div:nth-child(2) {
    color: #ccc !important;
    font-size: 1.3rem;
    padding: 10px 4px 0 0;
    text-align: right;
    line-height: 1.75rem;
}

@media only screen and (max-width: 660px) {
    .footer_wrapper > div {
        text-align: center !important;
    }
}

.footer_wrapper a {
   text-decoration: none;
}

/* = = = */
/* calendario cmcal_calendar_2 */
/* = = = */

.fc-toolbar *:focus {
    border: white !important;
}

.cmcal-calendar-container.cmcal-calendar-2 .fc-toolbar {
    background-color: white !important;
}


.cmcal-calendar-container.cmcal-calendar-2 .fc-toolbar .fc-button {
    background-color: white !important;
    cursor: pointer;
}

#cmcal_calendar_2 .fc-right {
    display: none !important;
}

#cmcal_calendar_2 .fc-event-container {
    cursor: pointer;
}

#cmcal_calendar_3 .fc-center > h2{
    color: #333 !important;
    font-size: 2.5rem;
    font-weight: 400;
}

#cmcal_calendar_3 .fc-day-header > span {
    color: red !important;
    text-transform: lowercase;
    /*font-weight: 500;*/
    font-size: 18px !important;
}

#cmcal_calendar_3 .fc-head {
    border-radius: 10px !important;
}

.cmcal-calendar-container.cmcal-calendar-3 .fc .fc-row td.fc-day-top, .cmcal-calendar-container.cmcal-calendar-3 .fc .fc-row td.fc-day-top a, .cmcal-calendar-container.cmcal-calendar-3 .fc .fc-bg td.fc-day, .cmcal-calendar-container.cmcal-calendar-3 {
    font-size: 16px !important;
}

.fc-event-container {
    text-align: left !important;
}

.fc-body * {
    background-color: white !important;
}

.fc-day-top > a {
    width: 44px !important;
    height: 44px !important;
}


.fc-dayGrid-view .fc-day-number, .fc-dayGrid-view .fc-week-number {
    padding: 1px !important;
}

.fc-day-number {
    line-height: 46px !important;
}

.fc-dayGridMonth-button {
    /*text-decoration: underline !important;*/
    /*position: absolute !important;
    right: 120% !important;*/
}

.evento_calendario {
    max-width: 360px;
    width: 95%;
    padding-left: 15px;
    margin: auto;
}

.evento_calendario > img {
    float: left;
    width: 150px;
    padding: 0 12px 0 0;
}

.evento_content > p {
   margin: auto 12px;
}

.el-button {
   line-height: 0.5rem !important;
}

/* = = = */
/*  newsletter */
/* = = = */

#frm_form_2_container input[type="text"],
#frm_form_2_container input[type="email"] {
    max-width: 400px;
    width: 100%;
}

#frm_form_2_container label {
    font-weight: 400;
    vertical-align: -50%;
    width: 95%;
    max-width: 400px;
    line-height: 0.4rem;
    margin: 1rem auto 3rem auto;
}

.frm_error_style {
    display: none;
}

.frm_error {
    color: red;
    margin-top: -15px;
    margin-bottom: 10px;
}

/* = = = */
/* menu */
/* = = = */

#mega-menu-primary {
    text-align: center !important;
}

#mega-menu-secondo-menu {
    text-align: right !important;
}

/* biglietti */
#mega-menu-item-167 > a.mega-menu-link {
    /*height: 31px !important;
    padding-left: 24px !important;
    padding-right: 12px !important;*/
    /*color: #FFD700 !important;*/
}

#mega-menu-item-167 > a {
    /*background-color: red !important;*/

    /* background-color: white !important;
    color: #333 !important;*/

    /*line-height: 30px !important;
    margin: 0 8px !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;*/
}

 /* questo fa in modo che la voce "calendario" del menù mobile
 abbia sfondo nero anzichè grigio quando si è in home */
@media (max-width: 980px) {
   #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
      background: #000 !important;
   }
}

/* Calendario */
#mega-menu-item-229 > a.mega-menu-link {
    height: 32px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

#mega-menu-item-229 > a {
    border: 1px solid white !important;
    /*border: 1px solid white !important;*/
    line-height: 30px !important;
    margin: 0 8px !important;
    font-size: 11.5px !important;
}

#mega-menu-wrap-primary #mega-menu-primary li#mega-menu-item-226 .mega-search .search-icon {

}

/* = = = */
/* super-produzioni */
/* = = = */

.img_testa_super {
    widows: 100%;
    height: 600px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position:relative;
}

.img_testa_super > a {
    font-size: 3.5rem;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.img_testa_super > a::after {
  content: '';
  width: 30px; height: 30px;
  border-radius: 100%;
  border: 5px solid white;
  position: absolute;
  z-index: -1;
  top: 43.5%;
  left: 43.5%;
  transform: translate(-50%, -50%);
  animation: ring 4s infinite;
}

@keyframes ring {
    0%, 79% {
        width: 55px;
        height: 55px;
        opacity: 0.7;
    }
    100% {
        width: 150px;
        height: 150px;
        opacity: 0;
    }
}


@media (max-width: 979px) {
    .img_testa_super {
        height: 420px;
    }
}

@media (max-width: 659px) {
    .img_testa_super {
        height: 360px;
    }
}


.content-super-prod {
    padding-left: 6%;
    padding-right: 6%;
}


.content-prod {
    display: table;
    width: 100%;
}

.content-prod > div:nth-child(1) {
    display: table-cell;
    width: 250px;
    background-repeat: no-repeat;
}

.content-prod > div:nth-child(1) > div {
/*    height: 300px;*/
    margin: 0 0 4rem 0;
    padding: 0;
}

.content-prod > div:nth-child(2) {
    display: table-cell;
    text-align: left;
    padding-left: 24px;
    padding-right: 12px;
}

@media (max-width: 660px) {
    .content-prod,
    .content-prod > div:nth-child(1),
    .content-prod > div:nth-child(2) {
        display: block;
    }
    .content-prod > div:nth-child(1) {
        margin: 4rem auto;
        width: 300px;
        background-size: cover;
    }
    .content-prod > div:nth-child(1) > div {
/*        height: 360px;*/
    }
    .content-prod > div:nth-child(2) {
        width: 90%;
        max-width: 400px;
        text-align: center;
        margin: 0 auto;
        padding: 0;
    }
    .red_line_acq {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.biglietti-top {
    display: block;
    margin: auto;
    width: 160px;
    height: 40px;
    line-height: 38px;
    background-color: red !important;
    border-radius: 2px;
    border-color: red !important;
}

.t_one_code {
    display: none;
    margin-top: 0;
/*    padding-bottom: 75%;*/
}

@media (max-width: 960px) {
    .t_one_code {
/*        padding-bottom: 110%;*/
    }
}

@media (max-width: 500px) {
    .t_one_code {
/*        padding-bottom: 150%;*/
    }
}

iframe {
/*  border: 1px solid #FFD700;*/
}

.galleria_super {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
    z-index: -1;
}

@media (max-width: 580px) {
    .galleria_super {
        max-width: 500px;
    }
}

.img_gall_super {
    padding-top: 80%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 5px;
    position: relative;
}

.img_gall_super > div {
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 100.5%;
    height: 70%;
}


.show-galleria_wrapper {
    margin-top: -50px;
}

.show-galleria {
    visibility: hidden;
    margin-left: calc(50% - 80px);
}


/* = = = */
/* template stagioni */
/* = = = */

.grid_stagione {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 2rem;
    z-index: -1;
}

.grid_stagione > div {
    margin-bottom: 1.5rem;
}

.grid_stagione p {
    margin-bottom: 1rem;
    padding-left: 2px;
}

.grid_stagione h6 {
    padding-left: 2px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2rem;
}

.grid_stagione p:nth-child(3) {
    font-style: italic;
}

.grid_stagione p:nth-child(5) {
    font-size: 1.4rem;
    line-height: 1.85rem;
    padding-right: 12px;
}

@media (max-width: 489px) {
    #prods-stagione, #content-stagione {
        max-width: 310px;
        margin: auto;
    }
}

.email, .email *{
    text-decoration-color: white !important;
    /*font-weight: 600;*/
}

.optanon-alert-box-bg {
    background-color: red !important;
}


#tabs .button {
  border-radius: 18px;
  padding: 16px 40px;
  line-height: 2px;
  border: 1px #375962 solid;
  background-color: #375962;
  color: white;
}

#tabs .inactive {
  background-color: white;
  color: #333;
  font-weight: 500;
}


 /* FAQ, PROMO e AFFITTA TEATRO  */

.domanda {
   margin: 24px 0;
   /* border-top: 1px solid #ddd; */
   text-align: center;
   font-size: 2rem;
   line-height: 2.5rem;
}

.domanda:first-of-type {
   margin-top: -12px;
   /* border-top: 0px solid #ddd; */
}

.domanda a {
   text-decoration: none;
   /* font-weight: 500; */
   color: #333;
}

.linea_div_faq {
   width:90px;
   border-top: 1px solid #ccc;
   margin: 0 auto;
   height: 2px;
}

.linea_div_faq:first-of-type {
   display: none;
}

.risposta {
   text-align: center;
    margin: 0 auto 24px auto;
    max-width: 800px;
}

.risposta p {
    margin-bottom: 0;
    font-size: 1.5rem;
    line-height: 2.1rem;
}

.affitta_carousel {
   margin-bottom: 48px !important;
}

 /* barra cookies  */

 .cn-text-container {
    color: white;
}


.page-id-1637 p img {          /* .page-id-1637 = PROMO */
    margin: 0 6px;
    transform: scale(0.8);
}

.page-id-1637 .domanda *{
    color:  #1EAEDB;
    font-size: 1.9rem;
}

.page-id-1637 .domanda {
    position:relative;
    margin-top: 64px;
    letter-spacing: 0.5px;
}

.page-id-1637 .post {
    margin-bottom: -40px;
}

.page-id-1637 .domanda:after {
    content:'';
    position:absolute;
    left:0; right:0;
    top:100%;
    margin:15px auto 10px auto;
    width:70px;
    height:1px;
    background:#1EAEDB;
    opacity: 0.5;
}

.page-id-1637 .linea_div_faq {
    display: none;
}

.page-id-1637 .risposta {
    padding-top: 24px;
    margin-bottom: 48px;
}

/* = = = */
/* Promozioni (template) */
/* = = = */

@media (max-width: 489px) {
    #promo-partners #prods-stagione, 
    #promo-partners #content-stagione {
    max-width: 350px !important;
    margin: auto;
    }
}

.bottoni_promo a {
    display: inline-block;
    transform: scale(1.1);
    filter: saturate(110%);
    margin: 0 6px;
    text-decoration: none;
    line-height: 0;
    font-size: 4rem;
    color: #FEE54D; /* giallo logo */
    /* color: red; */
}

.bottoni_promo a::after {
    content: "\A \2022";
    white-space: pre;
    text-shadow: 0 0 1px #000;
} 

@media (max-width: 489px) {
    .bottoni_promo a {
        transform: scale(1.10);
        filter: saturate(110%);
        margin: 0;
    }
}

.bottoni_promo a.inactive {
    transform: scale(0.80);
    opacity: 0.7;
    filter: saturate(0);
    margin: 0;
}

.bottoni_promo a.inactive::after {
    content: "";
}

.bottoni_promo a.inactive:hover {
    transform: scale(0.9);
    opacity: 0.9;
    filter: saturate(1);
}

 /* sondaggio */

.sondaggio {
   text-align: center;
   width: 94%;
   max-width: 750px;
   margin-left: auto;
   margin-right: auto;
}

.sondaggio .frm_radio {
   display: inline-block;
   margin-right: 12px;
   margin-top: 32px;
}

.sondaggio .frm_final_submit {
   width: 120px;
   background-color: #375962;
   border-color: #375962;
   margin-bottom: 16px;
}

.sondaggio .frm_message {
   margin-top: 24px;
   margin-bottom: 24px;
   color: red;
}


/*pagina "prenota gruppo" e Amelia Events in generale*/

.amelia-app-booking #am-events-booking .am-event-list {
    margin-top: 0px !important;
}

.am-event:hover {
    background-color: #fff !important;
}

.am-event {
    border: 1px solid #eee !important;
}

.amelia-app-booking #am-events-booking .am-event-list .am-event.inactive {
    opacity: 0.55 !important;
}

.amelia-app-booking #am-events-booking .am-event-list .am-event.am-active {
    border: 1px solid #ddd !important;
}

/* .am-event-list .closed {
    display: none !important;
}

.am-events-filter .el-col-sm-12 {
    width: 100% !important;
}

.am-events-filter .btn-prev, .am-events-filter .btn-next {
    background-color: transparent !important;
}

#tabs {
        text-align: center;
    }

.am-event-list *{
    text-align: left;
} */

/* .am-text-content, .el-form-item {
    text-align: center !important;
}

#getfit_packs {
    text-align: left !important;
}

.btn-prev, .btn-next, .el-pager li {
    background-color: #f6f7fb !important;
}

.el-pager li.active {
    border: 0px !important;
}

.el-pager, .el-pager li {
    vertical-align: baseline!important;
}

.amelia-app-booking #am-events-booking .am-event-list .am-event .am-event-data .am-event-info .am-event-sub-info > div{
    font-weight: 400 !important;
}

.el-icon-info{
    display: none !important;
} */

.page-id-1599 h6 {

}

.page-id-1599 p img {
    margin: 0 12px;
    transform: scale(0.85);
}



/* = = = */
/* Form kid academy */
/* = = = */

#frm_form_8_container {
    margin-top: -48px;
}


@media (max-width: 980px) {
    #frm_form_8_container *{
        text-align: center;
    }
    #frm_form_8_container {
        margin-top: 18px;
    }
}

#frm_form_8_container input[type=text],
#frm_form_8_container input[type=email],
#frm_form_8_container input[type=tel],
#frm_form_8_container input[type=number],
#frm_form_8_container textarea {
    width: 100%;
}

#frm_form_8_container .frm_description {
    margin-top: -15px;
    margin-bottom: 15px;
}

#frm_form_8_container .frm_primary_label {
    font-weight: normal;
    text-shadow: 0.5px 0 0 #999; /* fake semi-bold  */
    color: #333;
    margin-top: 18px;
    letter-spacing: 0.5px;
}

#frm_form_8_container .frm_checkbox label,
#frm_form_8_container .frm_radio label {
    font-weight: normal;
    margin-bottom: -6px;
}

#frm_form_8_container .frm_opt_container {
    margin-top: 8px;
}

/*#frm_form_8_container .vertical_radio > .frm_primary_label {
    text-decoration: underline;
}*/

#frm_form_8_container .frm_required {
    color: red;
}

#frm_form_8_container .frm_description {
     font-style: italic;
     font-size: 1.4rem; 
     padding-left: 3px;
}


#frm_field_43_container input[type="checkbox"] {
    margin-right: 4px;
}

/*#field_b7ipa_label {
    display: none;
}*/

#frm_checkbox_63-0 {
    padding-left: 5px;
}

#frm_form_8_container .frm_submit {
    text-align: center;
    /*pointer-events: none;*/
} 

#frm_form_8_container .frm_message {
    font-weight: bold;
    color: #333 !important;
    text-align: center;
    margin-top: 1.5rem;
    font-size: 1.6rem;
}

/* = = = */
/* = = = */
/* = = = */


/* = = = */
/* form CAMBIO DATA */
/* = = = */


#frm_form_7_container {
    margin-top: -36px;
}

@media (max-width: 980px) {
    #frm_form_7_container {
        margin-top: 18px;
    }
}

#frm_form_7_container .frm_required {
  color: red;
}

#frm_form_7_container input[type="text"],
#frm_form_7_container input[type="email"],
#frm_form_7_container input[type="number"] {
    width: 100%;
}

#frm_form_7_container .frm_html_container p {
    height: 8px;
}

#frm_form_7_container .frm_primary_label {
    font-weight: normal;
    /*text-shadow: 0.5px 0 0 #999;*/
    color: #333;
    margin-top: 8px;
    margin-bottom: .5rem;
    letter-spacing: 0.5px;
}

#field_gaqhq {
    width: 100%;
}



/* = = = */
/* form BIGLIETTO SOSPESO */
/* = = = */



#frm_form_11_container {
    margin-top: -36px;
    max-width: 420px;
    width: 98%;
}

@media (max-width: 980px) {
    #frm_form_11_container {
        margin-top: 18px;
    }
}

#frm_form_11_container .frm_required {
  color: red;
}

#frm_form_11_container input[type="text"],
#frm_form_11_container input[type="email"],
#frm_form_11_container input[type="number"] {
    width: 100%;
}

#frm_form_11_container .frm_html_container p {
    height: 8px;
}

#frm_form_11_container .frm_primary_label, 
#frm_form_11_container label {
    font-weight: normal;
    /*text-shadow: 0.5px 0 0 #999;*/
    color: #333;
    margin-top: 8px;
    margin-bottom: .5rem;
    letter-spacing: 0.5px;
}


/* = = = */


.ui-datepicker .ui-widget-header, 
.ui-datepicker .ui-datepicker-header {
    background-color: #375962 !important;
}

.ui-datepicker td.ui-datepicker-current-day, 
.ui-datepicker td .ui-state-hover, 
.ui-datepicker thead {
    background-color: #375962 !important;
}

.ui-datepicker-calendar span {
    color: white !important;
}


#field_e1dhp {
    width: 100%;
}

#frm_checkbox_120-0 label {
    font-weight: normal;
    text-align: center;
    margin-top: 1.5rem;
    margin-bottom: 2.4rem;
    line-height: 0.6rem;
}

#frm_error_field_8uff1 {
    text-align: center;
    margin-top: -32px;
}

#frm_form_7_container  .frm_submit {
    text-align: center;
}

/* Additional code by Amleia team to fix the not-working-button issue */
.zoid-outlet {min-height: 25px! important; }


/*
project colors:
red
#375962 (turchese)
*/
