* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	overflow: auto;
	text-decoration: none;
	box-sizing: border-box;
	color: #F00;
}
header, nav, section, article, footer {display: block;}



/****************************** ESTRUCTURA ******************************/
body, nav {position: relative; width: 100%; min-width: 300px; margin: 0 auto; }
nav { position: fixed; top: 0; z-index: 100000; }
article, form, h1 {padding: 60px 40px;}
section {}
footer {padding: 30px;}



/****************************** ESTILOS DE TEXTO ******************************/
html {background: url(images/bg.jpg) no-repeat center center fixed; 
    -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;}

body {font-family: 'Lato', sans-serif; font-size: 18px;  }
.padding {padding: 110px 70px 70px 70px}
.contenido { background: #fff; color: #171717;padding: 15px;}

header {background:url(images/local4.jpg) no-repeat center bottom ; height: 550px;position: relative;    padding: 20px;
    -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover; }


.columnas, .gallery { margin-right: -10px;   margin-left: -10px;}
.columnas:after {display: table;content:"";clear:both}
.columnas > *, .gallery > div > * {padding: 10px;float:left;}
.columna25, .gallery > div > div {width: 25%;}
.columna50 {width: 50%;}
.columna33 {
	width: 33.33333333%;
	color: #000;
}
.columna66 {width: 66.66666666%;}
.columna75 {width: 75%;}


.logo {
    display: block;
    text-align: center;
    left: 50%;
    position: absolute;
    top: 50%;
    margin-left: -225px;
    margin-top: -156px;
}



iframe {-webkit-filter: grayscale(100%);
    filter: grayscale(100%);}

h1 {
    font-size: 200%;
    text-align: center;
    color: #E5072C;
    padding: 0 0 70px 0;
    font-weight: 900;
    letter-spacing: 2px;
}

h2 {
    margin-bottom: 20px;
    color: #E5072C;
    text-align: center;
    text-transform: uppercase;
    font-size: 18px;
    display: block;
    border-bottom: 2px solid #E4072C;
    border-top: 2px solid #E4072C;
    padding: 11px 0;
}
h3 {font-size: 160%; color: #333333; font-weight: 900;}
h5 {    
    font-size: 21px;
    margin-bottom: 10px;
    color: #E5072C;}

p {margin-bottom: 20px; line-height: 150%;}
small {font-size: 13px; color: #FFF; font-weight: 700; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);}
.privacy {color: #fff; font-weight: 400;}
span {
    color: #fff; font-weight: 400;
}
img {
	max-width: 100%;
}
a {color: #E5082C;}


blockquote {
    color: #333;
    font-size: 31px;
    text-align: right;
    line-height: 37px;
}


small a {color:#fff}

table {width: 100%; border-collapse: separate; border-spacing: 20px;}
table tr {vertical-align: top;}
table td img {width: 100%; margin-bottom: 20px;}

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

.introduccion {    
    color: #E5072C;
    font-size: 20px;
    border-top: 4px solid;
    padding-top: 60px;
    border-color: #E5072C;
    margin-bottom: 50px;
    margin-top: 70px;
}



.local1 {position: relative; background: url(images/local2.jpg) no-repeat center center; height: 350px; background-attachment: fixed;
    -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover; background-size: cover;}

.local2 {background: url(images/local1.jpg) no-repeat center center; height: 350px; background-attachment: fixed;
    -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;}

.local3 {background: url(images/ultimo-fondo.JPG) no-repeat center center; height: 350px; background-attachment: fixed;
    -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;
}



.cartas {
    padding: 40px;
    border: 4px solid #E5072C;
    outline: 2px solid #E3082A;
    outline-offset: -11px;
}

.cartas > div img {
    width: 75%;
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
}


.datos {margin-top: -166px;text-align: center}
.datos h2 {
    margin-bottom: 0px;
    color: #E5072C;
    text-align: center;
    text-transform: uppercase;
    font-size: 24px;
    display: block;
    border-bottom: 0px solid #E4072C;
    border-top: 0px solid #E4072C;
    padding: 11px 0;
}

.datos h2:after {content:'·'; display: block;}
/****************************** NAV ******************************/

nav {
	background-color: #E4072A;
	text-align: center;
	font-size: 0;
}

nav a {
	display: inline-block;
	padding: 0 12px;
	height: 45px;
	line-height: 45px;
	color: #FFF;
    font-weight: bold;
    text-transform: uppercase;
	font-size: medium;
}

nav a:hover {
	color: #fff;
}

.redes {margin-top: 13px;}

.tripadv {
    margin: 0 auto 20px auto;
    max-width: 200px;
    text-align: center;
}

.tripadv .TA_socialButtonRate {
    display: block;
    width: 100px;
    margin: 20px auto;
}
/****************************** GALERÍA ******************************/
.gallery {text-align: center; }
.gallery div {font-size: 0;}



/****************************** FORM ******************************/
form {background: #555; color: #fff; background:url(images/local5.jpg) no-repeat center bottom ; position: relative;
    -webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover}
label {display: block; margin-bottom: 6px;}
textarea {height: 100px; resize: none;}

input[type=text], input[type=email], textarea, select {
	display: block;
	width: 98%;
	padding: .8% 1%;
	font-size: 16px;
	font-style: italic;
	color: #ccc;
	background: #fff;
	outline: 1px solid #dadada;
	margin-bottom: 10px;
	color: #C0A772;
}

input[type=submit] {
    display: block;
    padding: 15px 50px;
    color: #fff;
    background: #E4072C;
    font-size: 15px;
    text-transform: uppercase;
    cursor: pointer;
    font-weight: bold;
    letter-spacing: 2px;
}


.button {
    font-weight: bold;
    font-size: 20px;
    text-transform: lowercase;
    padding: 15px 25px;
    display: block;
    text-align: center;
    margin-top: 20px;
    color: white;
    background-color: #007549;
    transition:0.5s;
}

.button:hover, input[type=submit]:hover { outline: 1px solid white; outline-offset: -5px;}



.error {
	outline: 1px solid red;
}

form h2 {color:white;border-color:white}



/****************************** FOOTER ******************************/
footer {text-align: center; color: #fff; background: #E3062B;}
footer a {color:white;}
footer p {color:white; font-size: 15px;}
.footer-container {
    display: flex; align-items: center;
}
.footer-img {
    flex: 1; max-width: 70%;
}
.footer-text-sub {
    flex: 1; max-width: 70%; padding-left: 20px;
}
.footer-text-sub p {
    font-size: 12px; color: #FFF;
}

/****************************** GRACIAS ******************************/
.gracias {width: 100%; text-align: center; color: #fff; background: none; position: absolute; top: 35%; font-size: 14px;    background-color: #E4062C;    padding: 30px;
}
.gracias h2 {color: #fff !important; font-size: 28px; margin-bottom: 30px;}

.gracias a {
    color: white;
    font-weight: bold;
    font-size: 15px;
    text-transform: uppercase;
    border: 2px solid white;
    border-radius: 20px;
    padding: 10px 40px;
    display: inline-block;
    margin-top: 17px;
}

.gracias a:hover {background: white;color: #E4062C;}

/****************************** MEDIA QUERIES ******************************/
@media print {
	body {width: 100%;}
	nav, form {display: none;}
}

@media all and (max-width: 1000px){
    .padding {padding: 70px 20px 20px 20px;}
}

@media all and (max-width: 850px){
    header {height: 400px;}
    .columna25, .gallery > div > div {width: 33.33%;}
    blockquote {font-size: 128%;}
	h1 {font-size: 160%;}
    .button {font-size: medium;}
	table, table col, table tr, table td {display: block; width: inherit; overflow: hidden; border-spacing: 0;}
	table td {margin-bottom: 40px;}
   
}
@media all and (max-width: 760px){
    .columna33, .columna66 {width:100%;}
    .button {margin-top: 0;font-size: large;}
    blockquote {text-align: left}
    .cartas img, .datos img  { max-width: 130px; }
    .datos { margin-top: -127px; }
    .gallery  img {max-width: 100%}
    nav a {padding: 0 10px 10px 8px;height: auto;line-height: inherit;}

    .footer-container {
        flex-direction: column; /* Cambia la dirección del flex a columna */
 
    }

    .footer-text-sub p {
        margin-top: 16px;
        font-size: 8px; /* Reduce un poco el tamaño de la fuente */
    }
}

@media all and (max-width: 700px){
    .columna25 {width:50%;}
    .padding {
    padding: 108px 20px 20px 20px;
}
    
    
}

@media all and (max-width: 600px){ 
    .logo {
    display: block;
    text-align: center;
    position: relative;
    margin: 0 auto;
    left: auto;
    top: auto;
}
    
    header {
    height: auto;
    padding: 30px;
}
    
    article, form, h1 {
    padding: 40px 10px;
}
    
}


@media all and (max-width: 530px){ 
    .columna25 {width:100%;}
    nav span {display: none;}
    .padding {padding: 60px 20px 20px 20px;}
    nav {padding-top: 0;}
    .flex {
   flex-direction:column;
}
}

@media all and (max-width: 450px){
    .gallery > div > div {width: 50%;}
    .cartas {padding: 10px;}
    .padding {10px;}
    footer { padding: 10px; font-size: 14px;}
    
    html {background: url(images/bg.jpg) ;}
	

	
	.local1 {background-attachment: scroll;}

	.local2 {background-attachment: scroll;}

	.local3 { background-attachment: scroll;}
	

}

/* nuevos ajustes */
.flex {
    display: flex;
    justify-content: center;
}
.datos {margin-top: 0}
article.columnas.width.datos h2 {
    float: none;
}
article.columnas.width.datos {
    border: 2px solid #E5072C;
    outline: 3px solid #E3082A;
    outline-offset: -11px;
    margin: 30px 15px;
}
article.columnas.width.datos > h2:after {
    content: "";
}
article.columnas.width.datos > h2 {
    border-top: 2px solid;
    border-bottom: 2px solid;
    display: block;
    width: 60%;
    margin: auto;
    margin-bottom: 30px;
}
article.columnas.width.datos img {
    width: 80%;
}
article.columnas.width.datos h3 {
    font-size: 24px;
}