/*CSS RESET*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*END CSS RESET*/

html, body {
  width:100%;
  heigth:100%;
  border:0;
  margin:0;
  padding:0;
}

/*FONT*/

.sofia-sans-<uniquifier> {
  font-family: "Sofia Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

 .sofia-sans-condensed-<uniquifier> {
  font-family: "Sofia Sans Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/*desktop*/
@media (min-width: 769px) {

h1 {
  font-size:72px;  
  font-family: "Sofia Sans Condensed", sans-serif;
}

h2 {
  font-size:54px;
  font-family: "Sofia Sans Condensed", sans-serif;
}

h3 {
  font-size:36px;
  font-family: "Sofia Sans Condensed", sans-serif;
}

h4 {
  font-size:28px;
  font-family: "Sofia Sans Condensed", sans-serif;
}

p {
  font-size:20px;
  font-weight:300;
  font-family: "Sofia Sans", sans-serif;
}
  
figcaption {
  font-size:16px;
  font-weight:300;
  font-family: "Sofia Sans", sans-serif;
  font-style: italic;
}
}

/*mobile*/
@media (max-width: 769px) {

h1 {
  font-size:36px;
  font-family: "Sofia Sans Condensed", sans-serif;
}

h2 {
  font-size:28px;
  font-family: "Sofia Sans Condensed", sans-serif;
}

h3 {
  font-size:20px;
  font-family: "Sofia Sans Condensed", sans-serif;
}
  
h4 {
  font-size:17px;
  font-family: "Sofia Sans Condensed", sans-serif;
}

p {
  font-size:14px;
  font-weight:300;
  font-family: "Sofia Sans", sans-serif;
}
  
figcaption {
  font-size:12px;
  font-weight:300;
  font-family: "Sofia Sans", sans-serif;
  font-style: italic;
}
}

/*END FONT*/


/*HEADER*/

.header-home {
  position:fixed;
  top:0px;
  width:100%;
  height:75px;
  z-index:1;
  border-bottom: 1px solid #ffffff;
  color:#ffffff;
}



@media (max-width: 769px) {
.header-home {
  position:absolute;
  top:0px;
  width:100%;
  height:75px;
  z-index:1;
}
}

.header-simple {
  position:relative;
  width:100%;
  height:75px;
  z-index:1;
  border-bottom: 1px solid #000000;
}


.logo {
  position: absolute;
  top: 15px;
  left: 75px;
  height: 45px;
  z-index:1;
}

@media (max-width: 769px) {
.logo {
  position: absolute;
  top: 15px;
  left: 15px;
  height: 45px;
  z-index:1;
}  
}

.dehaze {
  font-size:50px !important; 
  font-weight:200 !important; 
  line-height: 75px !important; 
  position:absolute !important;
  right:15px !important;
  transition: 0.3s!important; 
}

.dehaze2 {
  position:absolute; 
  top: 12.5px; 
  right:12.5px; 
  transition: 0.3s;
  width:50px;
  height:50px;
  fill:#ffffff;  
}


/*header hover desktop*/
@media (min-width: 769px) {

.dehaze:hover  {
  color:#f55800 !important;
} 

.dehaze2:hover  {
  fill:#f55800 !important;
}  
}

/*white color desktop*/
@media (min-width: 769px) {
.white  {
  color:#ffffff;
  fill: #ffffff;
  stroke: #ffffff;
}
}

/*END HEADER*/

/*MAIN MENU*/

.menu-main {
  position: fixed;
  top: 0px;
  right: -100%;
  width: 100%;
  height: 100%;
  background-color: #2658EC;
  text-align:left;
  color:#ffffff;  
  font-family: "Sofia Sans Condensed", sans-serif;
  font-weight:700;  
  font-size:36px;
  z-index:1000;
  transition: 0.3s;
}

.menu-main-nav {
  list-style-type: none;
  text-align: left;
  padding-top: 75px;
  padding-left:25px;
}

.menu-main-nav li {
  padding-bottom: 20px;
}

.menu-main-nav a {
  color: #ffffff;
  text-decoration: none;
  transition: 0.3s;
}


.container-play-menu {
  position:relative;
  display: flex;
  justify-content: left;
  align-items: center; 
  font-size:30px;
  line-height:30px;
  font-weight: 400;
}

/*hover desktop*/

@media (min-width: 769px) {
  .menu-main {
  width: 500px;
  transition: 0.3s;
  }
  
.menu-main-nav a:hover {
  color: #000000;
  padding-left: 25px;
}

}

/*END MAIN MENU*/


/*SECOND MENU*/

.menu-second-home-container p {  
  font-family: "Sofia Sans Condensed", sans-serif;
  font-size:14px;
  font-weight:700;
}

.menu-second-simple-container p {  
  font-family: "Sofia Sans Condensed", sans-serif;
  font-size:14px;
  font-weight:700;
}

.menu-second-back {
  color:#000000;
  text-decoration:none;
}
  
.menu-second-forward {
  color:#000000;
  text-decoration:none;
}
  
.menu-second-home {
  color:#ffffff;
  text-decoration:none;
}

.menu-second-element i {
  font-weight:200; 
  font-size:36px;
}

/*second menu desktop*/

@media (min-width: 769px) {
 
.blue-band-right {
  position:fixed;
  top:0px;
  right:0px;
  width:450px;
  height:100%;
  padding-top:75px;
  background-color: #2658EC;
  z-index:-1;
  }  
  
.blue-band-left {
  position:fixed;
  top:0px;
  left:0px;
  width:375px;
  height:100%;
  padding-top:75px;
  background-color: #2658EC;
  z-index:-1;
  } 
  
.menu-second-simple-container {
  position:fixed;
  top:0px;
  right:0px;
  width:75px;
  height:100%;
  padding-top:75px;
  border-left: 1px solid #000000;
  display: flex;
  justify-content: center;
  align-items: center; 
  text-align:center;
  }

.menu-second-back {
  position:fixed;
  top:75px;
  right:0px;
  width:75px;
  height:50%;  
  display: flex;
  justify-content: center;
  align-items: center; 
  text-align:center;
}
  
.menu-second-forward {
  position:fixed;
  bottom:0px;
  right:0px;
  width:75px;
  height:50%;
  display: flex;
  justify-content: center;
  align-items: center; 
  text-align:center;
}
  
.menu-second-home {
  position:fixed;
  bottom:0px;
  right:0px;
  width:75px;
  height:100%;
  color:#ffffff;
  border-left: 1px solid #ffffff;
  display: flex;
  justify-content: center;
  align-items: center; 
  text-align:center;
}

.menu-second-element {
  rotate:90deg;
  transition:0.3s;
}
  
.menu-second-element:hover{
    color:#f55800;
  }
  
.top {
  margin-up:10px;
}
  
.bottom {
    margin-bottom:10px;
  }
}  

/*End*/

/*second menu mobile*/
  
@media (max-width: 769px) {
  
.menu-second-simple-container {
  width:100%;
  height:50px;
  display: flex;
  justify-content: space-around;
  align-items: center; 
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  }
  
.menu-second-home-container {
  position:absolute;
  top:650px;
  width:100%;
  height:50px;
  display: flex;
  justify-content: space-around;
  align-items: center; 
  background-color: #ffffff;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  z-index:1;
  }

.menu-second-element {
  display: flex;
  align-items: center;    
  column-gap:10px;
  text-decoration:none !important;
  color:#000000;
}
}

/*END SECOND MENU*/

/*GENERAL*/

@media (max-width: 769px) {
.desktop {
    display:none !important;
}
}

@media (min-width: 769px) {
.mobile {
    display:none !important;
}
}

/*END GENERAL*/

/*HOME*/

.video-home {
  position: fixed;
  right: 0;
  bottom: 0;
  min-height: 100% !important;
  min-width:100% !important;
}

@media (max-width: 769px) {
.video-home {
  position: fixed;
  right: 0;
  bottom: 0;
  height: 100% !important;
  width:100% !important;
  object-fit: cover !important;
}
}

.container-home {
  width:100%;
  height:100%;
  position: fixed;
  color: #ffffff;
  text-align:center;
  background: rgba(0, 0, 0, 0.4);
}

@media (max-width: 769px) {
.container-home {
  height:650px;
  position: absolute !important;
}
}

.title-home {
  margin-top: 12vw !important;
  color:#ffffff;
  font-weight:700;
  font-size: 6vw !important;
  line-height:1;
}

.title-home-link-container {
  width:100%;
  height:50px;
  display: flex;
  justify-content: space-around ;
  align-items: center;
  }

.title-home-link-container p {
  font-size: 14px;
  font-weight:700;
  }

@media (max-width: 769px) {
.title-home {
  font-size:54px !important;
  margin-top:200px !important;
}
}

.title-home a {
  display: flex;
  align-items: center;
}

.title-home-link {
  display: flex;
  align-items: center;    
  column-gap:10px;
  transition: 0.3s;
  text-decoration:none;
  color:#ffffff;
}

.title-home-link i{
  font-weight:200; 
  font-size:36px;
}

@media (min-width: 769px) {
.title-home-link:hover {
  color: #f55800;
  padding-left:20px;
}
}

/*END HOME*/

/*SIMPLE PAGE*/

.title-page {
  color:#2658EC;  
}

.container-simple {  
  padding:25px; 
}

.content {  
  width:100%; 
}

.content img {
  width:100%;
}

.content video {
  width:100%;
}

.content p {  
  line-height:1.25;
}

.content a {  
  color: #2658EC;
  font-weight:bold;
  text-decoration:none;
}

.content-banner {  
  width:100%;   
}

.content-banner img {  
  width:100%; 
}

.caption {
  padding: 10px 0;
  text-align:right;
}

.caption-gallery {
  text-align: left;
  padding: 10px 0;
}

/*content simple desktop*/

@media (min-width: 769px) {
  
.title-page {
  color:#2658EC;   
}
  
.title-top {
  color:#ffffff !important;
}
  
.container-simple {
  display: flex; 
  justify-content: space-between; 
  align-items: top; 
  column-gap:75px; 
  padding:75px 150px 50px 75px; 
  max-width:100% !important;
}
  
.inverted {
  flex-direction: row-reverse;
}

.content img { 
  max-width:700px !important;
}
  
.content video { 
  max-width:700px !important;
}
  
.content-banner {
  width:80%;   
  max-width:600px;
  color:#ffffff;
}
  
.caption-left {
  text-align: left;
  padding: 10px 0;
}
  
}

/*end*/

@media (max-width: 769px) {

.gallery-small {
  display:flex; 
  justify-content: flex-start; 
  column-gap:5px; 
  padding-bottom:5px; 
  overflow-x: scroll;
  margin-bottom:5px;
}
  
.gallery-small img {
  width:81px; 
}
}

@media (min-width: 769px) {

.gallery-container {
  display:flex; 
  justify-content:space-between;
}
  
.gallery-small {
  display:flex; 
  flex-direction: column; 
  height:800px; 
  width:110px; 
  overflow-y: scroll; 
  overflow-x:hidden;
}
  
.gallery-small img {
  width:81px; 
  padding-bottom:5px;
}

.gallery-big {
  max-width:540px !important; 
  display:block; 
  margin:auto;
  padding-bottom:5px;
}  

}

/*FOOTER*/

footer { 
  width:100%;
  height:50px;
} 

footer p {
  padding:20px 15px 0 75px;
  font-size:14px;  
  font-weight:300;
  text-align:left;  
}

footer a {
  color: #000000;
  text-decoration: none;
  transition: 0.3s;
}

.footer-home {
  position:fixed;
  bottom:0px;
}


/*mobile*/
  
@media (max-width: 769px) {
footer { 
  width:100%;
  height:75px;
  background-color:#ffffff;
  color: #000000;
} 
  
footer p { 
  padding:20px 15px 0 15px;
} 

.footer-home {
  position:absolute !important;
  top:700px !important;
}
}

/*desktop*/

@media (min-width: 769px) {
  
.footer-home p {
  color: #ffffff;
}  
  
.footer-home a {
  color: #ffffff;
  text-decoration: none;
}

.footer-home a:hover {
  color: #ffffff;
  padding-bottom:1px;
  border-bottom: 1px solid #ffffff;
}

footer a:hover {
  color: #000000;
  padding-bottom:1px;
  border-bottom: 1px solid #000000;
}
}

/*END FOOTER*/

/*MAP*/

.leaflet-left {
  display: none !important;
}

.leaflet-control-attribution {
  display: none !important;
}

.leaflet-popup-content-wrapper {
  background-color:#ffff00;
  width:100%;
}

.map {
  width:100%; 
  height:500px;
  z-index: 1 !important;
}

@media (max-width: 769px) { 
.map {
  width:100%; 
  height:400px;
}

}

.leaflet-control-layers-overlays {
  text-align: right;
}

.leaflet-control-layers-overlays label {
  padding:5px;  
}

.leaflet-div-icon {
  border:none !important;
}

.marker-blue {
  font-size:36px !important;
  font-weight:300 !important;
  background-color:#2658EC;
  color:#ffffff;
  border-radius:50%;
  margin-top:-18px !important;
  margin-left:-18px !important;
}

.marker-orange {
  font-size:36px !important;
  font-weight:300 !important;
  background-color:#F55800;
  color:#ffffff;
  border-radius:50%;
  margin-top:-18px !important;
  margin-left:-18px !important;
}

.marker-yellow {
  font-size:36px !important;
  font-weight:300 !important;
  background-color:#FFE100;
  color:#ffffff;
  border-radius:50%;
  margin-top:-18px !important;
  margin-left:-18px !important;
}

.marker-banner {
  background-color:#FFFFFF; 
  border-radius:50%;
  margin-top:-18px;
  margin-left:-18px;
  padding:5px;
}

.layer-blue {
  background-color:#2658EC;
  color:#ffffff;
  border-radius:5px;
  padding:5px;
}

.layer-orange {
  background-color:#F55800;
  color:#ffffff;
  border-radius:5px;
  padding:5px;
}

.layer-yellow {
  background-color:#FFE100;
  color:#ffffff;
  border-radius:5px;
  padding:5px;
}

.layer-gray {
  background-color:#9B9B9B;
  color:#ffffff;
  border-radius:5px;
  padding:5px;
}



/*END MAP*/

/*POPUP*/

.popup-background {
  background-color:rgba(0, 0, 0, 0.8); 
  width:100%; 
  height:100%; 
  position:fixed; 
  top:0; 
  z-index:1000; 
  visibility:hidden;
}

.popup-container {
  background-color:#ffffff; 
  width:100%; 
  height:100%; 
  position:absolute; 
  right:0;
}

/*desktop*/

@media (min-width: 769px) {
.popup-container {
  width:500px;
} 
}

.popup-close {
  font-size:50px !important; 
  font-weight:200 !important;  
  line-height: 75px !important;  
  position:absolute !important;  
  right:15px !important; 
}

.popup-cont {
  padding:50px; 
  text-align:center
}

.popup-cont img {
  width:100%; 
  max-width:300px;
}

.popup-icon {
  color: #2658EC;
  font-size:50px !important; 
  font-weight:200 !important; 
  line-height: 75px !important; 
}

@media (min-width: 769px) { 
.popup-icon:hover{
  color:#f55800;
  transition:0.3s;
}
}

/*END POPUP*/

/*CALENDARIO*/

.day {
  display: flex; 
  justify-content: space-between;
}

.programm {
  display:none;
}

.more-less {
  font-weight:200 !important; 
  color:#2658EC; 
  font-size:30px !important; 
}

@media (min-width: 769px) {
  
.more-less {
  font-size:40px !important; 
}
  
.more-less:hover{
  color:#f55800;
  transition:0.3s;
}
}

/*END CALENDARIO*/