/* CSS Document */

* {
  box-sizing: border-box;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  font-family: system-ui, Arial, sans-serif;
  line-height: 1.6;
  background:#348CB2 url(images/background.jpg) no-repeat fixed center bottom;
	background-size:contain;
  background-size: cover;
}

a#skip-main {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 0;
  overflow: hidden;
}

a#skip-main:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0 5px;
  font-size: 1.5rem;
  color: #0F0;
  background-color: #000;
}

ul, ol, dl {
	list-style-type:none;
	margin:0;
	padding:0;
}

img {
	max-width:100%;
	height:auto;
	border:none;
	margin:0;
	padding:0;
	vertical-align:middle;
}

iframe {
	border:none;
	margin:0;
	padding:0;
	vertical-align:top;
}

a {
	outline:none;
	font-weight:bold;
	color:#063;
}
a:link, a:visited {
	text-decoration:none;
}
a:hover, a:active, a:focus {
	text-decoration:underline;
}




/* EFFECTS */
.trans {
	-webkit-transition:opacity 0.2s ease-in;
    	 -o-transition:opacity 0.2s ease-in;
    		transition:opacity 0.2s ease-in;
}
.trans:hover, .trans:active, .trans:focus {
	opacity:0.7;
}
.trans-sc {
	-webkit-transition:0.5s;
    	 -o-transition:0.5s;
    		transition:0.5s;
}
.trans-sc:hover, .trans-sc:active, .trans-sc:focus {
	transform:scale(1.5);
}

/* HEADERS */
h1 {
	margin:0 -20px 25px;
	padding:0;
	font-size:26px;
	font-weight:bold;
	text-align:center;
	color:#FFF;
	line-height:52px;
	background-color:#063;
}

h2 {
	margin:45px 0 25px;
	padding:0;
	font-size:32px;
	font-weight:bold;
	text-align:center;
	color:#633;
}

h3 {
	margin:60px 0 20px;
	padding:0;
	font-size:26px;
	font-weight:bold;
	text-align:center;
	color:#633;
}
h4 {
	margin:10px 10px 0;
	padding:0;
	font-size:20px;
	font-weight:400;
	text-align:left;
	color:#063;
}

/* TABLES */
table {
	width:100%;
	margin:0 0 50px;
	padding:0;
	border:none;
	border-spacing:0;
	border-collapse:collapse;
	font-size:16px;
}
th {
	padding:10px 0;
	font-size:20px;
	font-weight:400;
	color:#063;
}
.month {
	padding-left:10px;
	font-size:20px;
	color:#FFF;
	background-color:#0B0;
}

/* MAIN DIVS */
#container {
	width:1200px;
	margin:0 auto;
	position:relative;
}

header, nav, main, section, footer, article, figure, figcaption, video {
	display:block;
}

/* HEADER */
.banner {
	margin:40px 0 0;
	font-size:28px;
	font-style:italic;
	line-height:120%;
	font-weight:bold;
	text-align:center;
	color:#FFF;
}

.logo {
	margin:20px;
	float:left;
	border-radius:60px;
	-webkit-box-shadow:0 2px 2px 0px #333333;
	        box-shadow:0 2px 2px 0px #333333;
}

.contact-top {
	margin-top:50px;
	float:right;
}
.contact-top a {
	min-width:250px;
	margin:15px;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	line-height:50px;
	color:#FFF;
	background-color:#0B0;
	border-radius:4px;
	display:inline-block;
	text-decoration:none;
	-webkit-transition:background-color 0.2s ease-in;
    	 -o-transition:background-color 0.2s ease-in;
    		transition:background-color 0.2s ease-in;
}
.contact-top a:hover, .contact-top a:active, .contact-top a:focus {
	background-color:#0D0;
}

/* NAV MENU */
nav {
	margin:0 0 10px;
}
ul.menu {
	background-color:#FFF;
	text-align:center;
	font-size:0;
	overflow:hidden;
}
ul.menu li {
	text-align:left;
	display:inline-block;
}
ul.menu li a {
	padding:8px 11px;
	font-size:16px;
	font-weight:400;
    line-height:28px;
    text-decoration:none;
    display:inline-block;
	-webkit-transition:background-color 0.2s ease-in;
    	 -o-transition:background-color 0.2s ease-in;
    		transition:background-color 0.2s ease-in;
}
ul.menu li a:hover, ul.menu li a:active, ul.menu li a:focus {
	background-color:#DDD;
}
ul.menu li.icon {
	text-align:left;
	float:left;
    display:none;
}
ul.menu li.icon a {
	font-size:28px;
}

/* MAIN CONTENT */
main {
	padding:0 20px 10px;
	font-size:16px;
	text-align:justify;
	line-height:160%;
	background-color:rgba(255,255,255,0.9);
}

article {
	margin:0 0 50px;
	padding:0;
	color:#333;
}

figure {
	margin:30px auto 5px;
	padding:0;
	text-align:center;
}
figure img {
	-webkit-box-shadow:0 2px 2px 0px #333333;
	        box-shadow:0 2px 2px 0px #333333;
}
figcaption {
	margin-top:5px;
	font-size:14px;
	font-style:italic;
}
video {
	margin:0 auto;
	width:100%;
	height:auto;
	max-width:640px;
	max-height:360px;
	-webkit-box-shadow:0 2px 2px 0px #333333;
	        box-shadow:0 2px 2px 0px #333333;
}

.contact {
	margin-left:30px;
	font-size:22px;
}
.contact-btn {
	width:64px;
	height:64px;
}

/* FLEXBOX */
.flexdiv {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap:wrap;
	    flex-wrap:wrap;
	-webkit-box-pack:justify;
	   -ms-flex-pack:justify;
	 justify-content:space-between;
	-ms-flex-line-pack:start;
	     align-content:flex-start;
	-webkit-box-align:start;
	   -ms-flex-align:start;
	      align-items:flex-start;
}

/* PROGRAMAS */
#prog-box {
	margin-bottom:50px;
}
.prog-item {
	margin:0 auto 40px;
	padding-bottom:10px;
	width:300px;
	color:#444;
	background-color:#fdf5e6;
	background:url(images/bgnoise_lg.png);
	-webkit-box-shadow:0 2px 2px 0px #333333;
	        box-shadow:0 2px 2px 0px #333333;
}
.prog-item a {
	overflow:hidden;
	display:block;
}
.prog-item p {
	margin:10px;
	font-size:16px;
}
.prog-price {
	float:right;
}
.nivel {
	margin:15px auto 0;
	padding:0 10px;
	width:70px;
	font-size:14px;
	font-weight:600;
	text-align:center;
	color:#000;
}
.dif-1 {
	background-color:#0F0;
}
.dif-1::after {
	content:"Nivel 1";
}
.dif-2 {
	background-color:#FF0;
}
.dif-2::after {
	content:"Nivel 2";
}
.dif-3 {
	background-color:#F00;
}
.dif-3::after {
	content:"Nivel 3";
}

.slideshow-box {
	width:100%;
	background-color:#6FC;
}
.tec-box {
	padding:10px 0 0;
	text-align:left;
	font-size:0px;
	color:#444;
	background-color:#fdf5e6;
	background:url(images/bgnoise_lg.png);
}
.tec-info {
	padding:0 10px;
	width:290px;
	font-size:16px;
	display:inline-block;
}

.reservar {
	width:240px;
	margin:50px auto 35px;
	font-size:26px;
	font-weight:bold;
	text-align:center;
	line-height:56px;
	color:#FFF;
	background-color:#0B0;
	border-radius:4px;
	display:block;
	-webkit-transition:background-color 0.2s ease-in;
    	 -o-transition:background-color 0.2s ease-in;
    		transition:background-color 0.2s ease-in;
}
.reservar:hover, .reservar:active, .reservar:focus {
	background-color:#0D0;
	text-decoration:none;
}

/* FORM */
form {
	max-width:100%;
	margin:0 0 30px;
	padding:20px 20px 0;
	text-align:left;
	display:inline-block;
	background-color:#fdf5e6;
	background:url(images/bgnoise_lg.png);font-size:18px;
}

.form-head {
	padding:10px;
	color:#C00;
	background-color:#CCC;
	display:inline-block;
}
.form-check {
	min-width:auto;
	font-size:18px;
}

.form-title {
	margin:45px 0 0;
	color:#063;
}

form span {
	font-size:14px;
}

form label {
	min-width:200px;
	padding-right:10px;
	display:inline-block;
}

form input {
	min-width:250px;
	font-size:16px;
	display:inline-block;
}

form select {
	margin-right:10px;
	padding:1px 5px 1px 2px;
	font-size:16px;
	display:inline-block
}

textarea {
	width:100%;
	height:80px;
	padding:0;
	resize:none;
	font-size:16px;
	display:block;
}

#fact-datos {
	display:block;
}
#grupo-datos {
	padding:15px 0 30px;
	display:block;
}
#grupo-datos div {
	padding:1px 5px;
	margin:5px 0;
	border:2px solid #063;
}

.antspm {
	display:none;
}

.form-button {
	margin:30px 0;
	padding:10px;
	color:#FFF;
	background-color:#2554C7;
	border:none;
}
.form-button:hover {
	color:#0F0;
	background-color:#000;
}

.form-errors {
	min-height:300px;
	text-align:center;
	font-size:18px;
	line-height:140%;
}

/* RANGE INPUT */
input[type=range] {
  -webkit-appearance:none;
  width:202px;
  height:34px;
  margin:0;
  padding:0;
  background-color:#FFF;
  border:1px solid #999;
  vertical-align:middle;
}
input[type=range]:focus {
  outline:none;
}
input[type=range]::-webkit-slider-runnable-track {
  width:100%;
  height:10px;
  cursor:pointer;
  background:#3366ff;
  border-radius:2px;
}
input[type=range]::-webkit-slider-thumb {
  border:1px solid #000000;
  height:30px;
  width:15px;
  border-radius:2px;
  background:#0F0;
  cursor:pointer;
  -webkit-appearance:none;
  margin-top:-10px;
}

/* SIDEMENU */
#sidemenu {
	padding:0 60px 5px;
	text-align:center;
	background-color:rgba(255,255,255,0.9);
	   -ms-flex-pack:distribute;
	 justify-content:space-around;
}
.sidemenu-box {
	width:300px;
	margin:0 0 50px;
	position:relative;
}
.sidemenu-box a {
	display:block;
	font-weight:400;
}
.sidemenu-box a:last-of-type {
	line-height:34px;
	color:#FFF;
	background-color:#063;
	text-decoration:none;
}

/* FOOTER */
footer {
	min-height:100vh;
	padding-top:5px;
	color:#FFF;
	text-align:center;
	background-color:#444;
	background-color:rgba(51,51,51,0.6);
	position:relative;
}
footer div div p {
	opacity:0.8;
}
footer a {
	color:#FFF;
}
.footer-top {
	font-size:16px;
}
.footer-social {
	margin-bottom:40px;
}
.footer-social img {
	margin:0 4px;
}
.footer-social > div > p {
	margin:70px 0 10px;
	font-size:28px;
	font-style:italic;
}

/* SocialSharer --------------------------------- */
.share-button {
  width: 100%;
  min-width: 32px;
  max-width: 15%;
  margin: 10px 0.3%;
  padding: 2px 0;
  background: #000;
  border-radius: 4px;
  display: inline-block;
  transition: opacity 0.2s ease-in;
}

.share-button:hover {
  opacity: 0.7;
}

.share-button img {
  width: 32px;
  height: 32px;
  vertical-align: middle;
}

.footer-bottom {
	padding:0 20px 5px;
	font-size:12px;
	color:#ccc;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
}
.footer-left {
	text-align:left;
	float:left;

}
.footer-right {
	text-align:right;
	float:right;
}

/* TABLET */
@media screen and (max-width:1020px) {
#container {
	width:750px;
}
.banner {
	margin:30px 0 0;
	font-size:22px;
}
ul.menu li:not(:first-child) {
	display:none;
}
ul.menu li.icon {
	display:block;
}
ul.menu li a {
	padding:14px 11px;
	font-size:26px;
	font-weight:bold;
}
ul.menu.responsive li {
    float:none;
    display:block;
}
ul.menu.responsive li a {
	display:block;
}
#sidemenu {
	padding:0 0 5px;
}
}

/* MOBILE */
@media screen and (max-width:767px) {
#container {
	width:640px;
}
.banner {
	margin:25px 0 0;
	font-size:18px;
}
.contact-top {
	float:none;
	clear:both;
	text-align:center;
}
.contact-top a {
	min-width:260px;
	font-size:22px;
	line-height:64px;
}
}
@media screen and (max-width:639px) {
#container {
	width:auto;
}
.banner {
	display:none;
}
h2 {
	font-size:26px;
}
}

@media screen and (max-width:639px) and (orientation: portrait) {
nav {
	width:100%;
	position:fixed;
	position:-webkit-sticky;
	position:sticky;
	top:0;
	left:0;
	z-index:100;
}
}

@media screen and (max-width:480px) {
.footer-left, .footer-right {
	float:none;
	text-align:center;
}
}

/* PRINT */
@media print {
html {
	background:#FFF;
}
nav, #sidemenu, .footer-top, .footer-social {
	display:none;
}
}

/* COOKIE CONSENT */
.cc-window{-webkit-transition:opacity 1s ease;-o-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;-o-transition:transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);-ms-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);-ms-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;-o-transition:max-height 1s;transition:max-height 1s}.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:1em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}}.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}