/* --- HTML5 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%;
	font: inherit;
	vertical-align: baseline;
	line-height: 1.8em;
	font-family: 'Nunito', sans-serif;
}


/* --- MODAL --- */
.modal-dialog.modal-dialog-centered {
    max-width: 100vw;
    width: 1000px;
}
iframe.embed-responsive-item {
    width: 100%;
    height: 60vh;
}

/* --- PALETA DE COLORES --- */

:root{
	--main-color: #000000;
	--secondary-color: #CCA352;
	--accent-color: #CCA352;
	--light-color: #ffffff;
	--grey-color: #f3f3f3; 
}


/* --- COMUNES --- */

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {display: block;}
body { line-height: 1; font-size: 16px; font-family: 'Nunito', sans-serif; color: var(--main-color);}
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;}
html {overflow-x: hidden;}

strong {font-weight: 700; line-height: 1em;}
.text-center {text-align: center;}
* { margin: 0; padding: 0; list-style: none; -webkit-font-smoothing: antialiased;}


a {
	text-decoration: none;
	color: var(--accent-color);
	line-height: 1em;
}

a:hover {
	text-decoration: none;
	color: var(--accent-color);
	filter: brightness(0.9);
} 

p{
	margin-bottom: 1em;
}

h1, .h1{
	font-size: 40px;
	font-weight: 700;
	text-transform: uppercase;
}

h1 strong, .h1 strong {
	font-size: 62px;
	display: block;
	color: var(--secondary-color);
	 font-family: 'Raleway', sans-serif;
}

h2, .h2{
	font-size: 40px;
	line-height: 46px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 0.5em;
	 font-family: 'Raleway', sans-serif;
}

h2 strong, .h2 strong {
	color: var(--accent-color);
}


h3, .h3{
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
	margin-bottom: 0.3em;
}

h3 strong, .h3 strong {
	color: var(--accent-color);
}

h4, .h4{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.1em;
}

h5, .h5{
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 0.5em;
}

h6, .h6{
	font-size: 20px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 0.3em;
}

p {
	font-size: 16px;
	line-height: 1.4em;
}
.cta-button {
    background: var(--main-color);
    color: var(--light-color);
    font-size: 1rem;
    padding: 0.8em 1em;
    text-align: center;
    border-radius: 30px;
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    transition: ease 0.3s;
    cursor: pointer;
    border: 0px;
}
.link {
	font-weight: 700;
	color: var(--accent-color);
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.mini-link {
	background: transparent;
	border-color: transparent;
	color: #ffffff;
}

.mini-link:hover,
.mini-link:focus {
	background: transparent;
	border-color: transparent;
	color: var(--secondary-color);
	margin: 0 ;
}

.mini-link2 {
	background: transparent;
	border-color: transparent;
	color: var(--accent-color);
}

.mini-link2:hover,
.mini-link2:focus {
	background: transparent;
	border-color: transparent;
	color: var(--secondary-color);
	margin: 0 ;
}

.footer-bottom--list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 7px;
}

.list-group-icon {
	margin-bottom: 15px;
}

.list-group-icon li {
	position: relative;
	margin-bottom: 15px;
	padding-left: 30px;
}

.list-group-icon li img {
	position: absolute;
	top: 8px;
	left: 0;
}

figure {
	position: relative;
	padding-right: 30px;
	line-height: 0;
}

figure img {
	position: relative;
	z-index: 2;
}

figure::after {
	content: "";
	display: block;
	position: absolute;
	background: var(--main-color);
	top: 30px;
	bottom: -30px;
	left: 20%;
	right: 0;
}

/* --- MODAL --- */

body { padding-right: 0 !important }
.modal-dialog.modal-dialog-centered {
    max-width: 100vw;
    width: 1000px;
}

.combo-phone {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	border-right: solid 1px white;
	padding-right: 15px;
}

.telefono{
	font-size: 14px;
}

.telefono strong {
	display: block;
	color: var(--accent-color);
	font-size: 32px;
	letter-spacing: 3px;
}
/* --- HEADER --- */

.header-box .top-bar {
	padding: 30px 0;
	transition: ease 0.3s;
}

.header-box .top-bar .header-links{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.header-box .top-bar .header-links .form-select {
	background: url(/images/ico-arrow-down.svg) no-repeat right center;
	color: white;
	border-color: transparent;
	max-width: 60px;
	padding-right: 10px;
}

.header-box .top-bar .header-links .combo-phone {
	border-right: solid 1px white;
}

.header-box .top-bar .header-links .combo-phone .telefono{
	color: white;
}

.header-box .top-bar .header-links .combo-phone .btn-icon{
	background: #7CD482;
}

.header-box .top-bar.fixed-header {
	background: var(--main-color);
	padding-top: 10px;
	padding-bottom: 10px;
}

.header-box .top-bar.fixed-header .logo {
	max-width:250px;
}


/* - Top-bar - */



/* --- CONTENIDO  --- */

.content-wrapper{
	margin-bottom: 2em;
}
.valores{
	margin-top: 60px;
}

section.section-block {
	padding-top: 40px;
	padding-bottom: 40px;
}

section.section-block .section-block--header {
	margin-bottom: 15px;
	padding: 20px 0 10px 40px;
	background: url(/images/ico-header-section.svg) no-repeat left top;
}

.section-dark {
	background: var(--main-color);
	color: white;
}

.section-dark h2 strong,
.section-dark .h2 strong {
	color: var(--accent-color);
}

.section-contact {
	position: relative;
	margin-top: 120px;
}

.section-contact .container {
	position: relative;
	padding-top: 60px;
	z-index: 3;
}

.section-contact::after {
	content: "";
	background: url(/images/bg-contact.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0.27;
}

.section-contact::before {

} 

.section-herobanner {
	position: relative;
}

.section-herobanner .container{
	padding-top: 160px;
	position: relative;
	z-index: 2;
}

.section-herobanner h1 strong,
.section-herobanner .h1 strong {
	color: white;
}

.section-herobanner::after {
	content: "";
	background: url(/images/bg-herobanner.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0.27;
}

.section-herobanner .row-feature {
	
	padding-bottom: 30px;
}

.section-herobanner h6 {
	margin-bottom: 30px;
}

.btn, .cta-button, .cta {
	border-radius: 10px;
	font-size: 18px;
	background: var(--accent-color);
	color: white;
	padding: 15px 20px;
	border-color: transparent;
	line-height: 1em;
	min-width: 150px;
	border-color: transparent;
	transition: ease 0.3s;
	text-transform: uppercase;
}

.btn:hover, .cta-button:hover, .cta:hover {
	background: var(--main-color);
	filter: brightness(0.9);
	color: white;
	border-color: transparent;
}

.btn-icon {
	border-radius: 300px;
	width: 60px;
	min-width: inherit;
	height: 60px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.card.card-travel {
	color: white;
	border-color: transparent;
	margin-bottom: 30px;
}

.card.card-travel .card-img-overlay{
	background: rgba(21, 64, 82, 50%);
	top: inherit;
}

.card.card-feature {
	background: rgba(0, 0, 0, 55%);
	color: white;
	border-color: transparent;
	margin-bottom: 15px;
	    border: 1px solid var(--accent-color);
    border-radius: 16px 2px 16px 2px;
    min-height: 200px;
}

.card.card-feature .card-body {
	padding: 30px;
}

/* --- FORMULARIOS  --- */
.form-group {
	margin-bottom: 15px;
}

.form_box form {
	text-align: left;
	margin-top: 1em;
}

.form_box .form label {
	width: 100%;
	margin-bottom: 0.3em;
}

.form_box .form input[type="text"],
.form_box .form textarea {
	width: 100%;
	padding: 0.5em 1em;
	border-radius: 5px;
	border-color: white;
}

.form_box .form input[type="text"]::placeholder {
	color: black;
}

.form_box .form textarea {
	width: 100%;
	padding: 0.5em 1em;
    font-size: 1em;
}

.form_box input:focus,
.form_box textarea:focus {
	outline: 2px solid #959595;
}

.form_box::placeholder,
.form_box:-ms-input-placeholder{
	color: #b2b2b2;
	font-size: 1em;
	padding: 5px;
}

.form_box .check input[type="checkbox"],
.form_box .check label{
	display: inline-block;
	width: auto;
}

.form_box .check label{padding-left: 0.5em;}
.form_box li.check input:focus {outline: none;}

.form_box .wildcard{
	color: red;
    font-size: 1em;
    padding-left: 3px;
    vertical-align: top;
}

/* - Verificación formulario  - */

.form_box label.error,
#contact-form > ul > li.check > label.error {
	color: #c40000;
	margin: 5px;
}

.form_box .sms_ok {
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
	padding: 30px 30px 50px 30px;
	text-align: center;
}

.form_box .sms_ok h5 {
	color: white;
	font-weight: 700;
	margin-bottom: 15px;
	font-size: 32px;
	line-height: 38px;
}

.sms_ok .tpv_response_code{
    background: #c4e8c4;
    padding: 1em 2em;
    color: #234423;
    font-size: 0.9em;
}

.sms_ko .tpv_response_code{
    background: #e8c4c4;
    padding: 1em 2em;
    color: #981414;
    font-size: 0.9em;
}

/* --- FOOTER  --- */

footer {
	padding-bottom: 30px;
    padding-top: 60px;
	font-size: 0.8em;
	background-color: var(--main-color);
	color: #ffffff;
}

footer a {
	color: var(--accent-color);
}

footer p {
	font-size: 14px;
}

footer .footer-top {
	padding-bottom: 15px;
	border-bottom: 1px solid #363535;
}

footer .footer-top .logo {
	margin-bottom: 15px;
	max-width: 250px;
}

footer .footer-bottom {
	padding-top: 30px;
}

footer .footer-bottom p {
	margin-bottom: 0;
}

footer .footer-bottom ul {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 14px;
}


/* - Firma Idento - */ 

.wrapper-idento {
    display: inline-block;
    vertical-align: middle;
}

.firma-idento {
    background: url(/images/idento.svg);
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    display: inline-block;
    background-size: 53px;
    margin: 0;
    transition: width 0.3s;
    margin-top: 0px;
	vertical-align: middle;
}

.firma-idento.white {
    background-image: url(/images/idento_neg.svg);
}

.firma-idento:hover {
    width: 53px;
}

/* Miel */

#contact-form #mail,
#contact-form2 #mail{
	visibility: hidden;
	position: absolute;
	opacity: 0;
	left: -100vw;
}


.content-legal {
    padding: 2rem;
}

.content-legal ul {
    padding-left: 2rem;
}

.content-legal ul li {
    list-style: disc;
}

.content-legal .h2:after {
    display: none;
}

.content-legal table td {
    border: 1px solid #000001;
    padding: 0.5rem;
}

.content-legal table p {
    margin-bottom: 0rem;
}


#s-travel {
	
}
.section-herobanner span{
	line-height: 1.5;
}

span.cuadros{
	line-height: 1.2;
}
/* --- RESPONSIVE  --- */

@media only screen and (min-width: 1400px) {}
@media only screen and (max-width: 1199px) {
.visitaimg {
    width: 100%;
}
}
@media only screen and (max-width: 991px) {
	.entradas p {
    font-size: 16px;
    line-height: 28px;
}
}
@media only screen and (max-width: 767px) {
	    .idiomas {
        padding: 0;
        padding-bottom: 2rem;
        position: relative;
}
    .idiomas .dropdown-item{
        padding: 0;
    }
    .idiomas .dropdown-menu{
        text-align: center;
        position: absolute;
        padding:  0.5rem;
    }
	footer .combo-phone {
		display: none!important;
	}
	section.section-block {
		padding-top: 30px;
		padding-bottom: 30px;
		text-align: center;
	}
	footer {
		text-align: center;
		padding-bottom: 90px;
	}
	footer .footer-bottom ul {
		align-items: center!important;
		justify-content: center!important;
	}
	h6, .h6 {
		font-size: 18px;
	}

	h2, .h2 {
		font-size: 28px;
		line-height: 30px;
	}

	.header-box .top-bar {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.header-box .top-bar.fixed-header .logo {
		max-width: 250px;
	}
	.header-box .top-bar .header-links .combo-phone {
		position: fixed;
		background: var(--main-color);
		bottom: 0;
		left: 0;
		right: 0;
		padding: 15px;
	}
	.header-box .top-bar .header-links .combo-phone .telefono small {
		display: none;
	}
	.header-box .top-bar .header-links .combo-phone .telefono strong{
		letter-spacing: normal;
		font-size: 25px;
	}
	.header-box .top-bar .header-links .combo-phone .btn-icon {
		position: absolute;
		right: 15px;
		width: 45px;
		height: 45px;
		margin-bottom: 0px!important;
		padding: 0px;
	}
	.header-box .top-bar .header-links .combo-phone  .btn-icon img {
		max-width: 20px;
	}

     .content-legal {
        padding: 1rem;
    }
    .content-legal h3,
    .content-legal .h3 {
        font-size: 17px;
        font-weight: 700;
        line-height: 23px;
    }
    .content-legal a {
        word-break: break-word;
    }
    .content-legal ul {
        padding-left: 1rem;
    }
    .content-legal h2,
    .content-legal .h2 {
        font-size: 21px;
        line-height: 27px;
    }
    .content-legal p,
    .content-legal li {
        font-size: 14px;
        line-height: 21px;
    }
    .content-legal h1{
        font-size: 1.4rem;
        margin-bottom: 0.5rem;
    }
	/* MODAL */
	.modal-dialog.modal-dialog-centered {
		max-width: 100vw;
		width: 100%;
		height: 100%;
		margin: 0;
	}
	footer .modal-header {
    align-items: center;
	}
	footer button.btn.btn-primary {
		display: block;
		margin-bottom: 5px;
	}
	footer .modal-title {font-size: 16px;}
	footer button.btn.btn-primary:after {display: none;}
	footer .modal-content {
		height: 70%;
	}
	footer .modal-content .embed-responsive {
    height: 100%;
	}
.pattern{   
    background-size: cover!important;

}

.txt-visita p {
    line-height: 28px;
    font-size: 19px;
}
.visita {
    padding-left: 20px!important;
    padding-right: 20px!important;
}
.visitas-guiadas p{
	line-height: 45px!important;
}
.divisor{
	margin-top: 250px;
}
section.section-block .section-block--header{
	background: none!important;
	padding: 0px;
}
.valores{
	margin-top: 80px!important;
}
.iconos{
	border: none!important;
}
.btn, .cta-button, .cta{
	margin-bottom: 50px;
}
.card.card-feature{
	max-width: 350px;
	margin: auto;
	margin-top: 30px;
}
.section-herobanner h6{
	font-size: 18px;
	text-align: center;
}
.section-herobanner span{
	font-size: 50px;
	text-align: center;
	font-weight: bold;
	line-height: 1;
}
.cuadros {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 22px!important;
    line-height: 1;
}
.desde{
	font-size: 14px!important;
}
}

@media only screen and (max-width: 479px) {
.logo{
	max-width: 250px;
}
.btn-reservar .cta-button {
    vertical-align: text-bottom;
    margin-left: 100px;
}
.h1{
	text-align: center;
	font-size: 30px;
}
.section-herobanner{
padding: 10px;
}
.section-herobanner h6{
	font-size: 18px;
	text-align: center;
}
.section-herobanner span{
	font-size: 50px;
	text-align: center;
	font-weight: bold;
	line-height: 1;
}
.section-herobanner .container{
	    padding-top: 80px;
}
.cuadros {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 22px!important;
    line-height: 1;
}
.desde{
	font-size: 14px!important;
}
.card.card-feature {
    background: rgba(0, 0, 0, 55%);
    color: white;
    border-color: transparent;
    margin-bottom: 15px;
    border: 1px solid var(--accent-color);
    border-radius: 16px 2px 16px 2px;
    max-width: 280px;
    margin: auto;
    margin-top: 20px;
}
.btn, .cta-button, .cta{
	margin: auto;
	margin-bottom: 0px;
}
.valores{
	margin-top: 60px;
}
.iconos{
	border: none!important;
}
.section-contact{
	margin-top: 80px;
}
.titulo-entradas{
	font-size: 25px!important;
}
p .btn-reservar{
	margin-bottom: 0px!important;
}
  .idiomas {
        padding: 0rem;
        align-items: start;
        position: relative;
	}
    .idiomas .dropdown-item{
        padding: 0;
    }
    .idiomas .dropdown-menu{
        text-align: center;
        position: absolute;
        padding:  0.5rem;
    }
}

@media (min-width: 768px) {
	.container, .container-md, .container-sm {
		max-width: 100%;
	}
}

@media (min-width: 992px) {
	.container, .container-lg, .container-md, .container-sm {
		max-width: 960px;
	}


}

@media (min-width: 1200px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1140px;
	}
	.txt-visita {
    padding-left: 40px;
}

}

@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1320px;
	}
}

/* --- ENTRADAS ALHAMBRA  --- */

.entradas{
    background-image: url(/images/bg-entradas.png);
    height: 125px;
    width: 100%;
    background-repeat: repeat-x;
    background-size: contain;
    margin-top: 50px;
    display: inline-block;
    opacity: 0.5;
}

.entradas span {
	font-size: 24px;
	font-weight: 300;
	color:#000000;
	font-family: 'Raleway', sans-serif;
}

.entradas p {
    font-size: 19px;
    font-weight: 400;
    color: #000000;
    line-height: 32px;
}

.entradas .container {
    margin-top: 180px;
}

.entradas2 h2 {
    width: 90%;
    font-size: 35px;
}
.entradas2{
    margin-top: 55px!important;
}

.visitas-granada {
	padding: 45px 0;
}
.visitas-granada ul {
	margin-bottom: 30px;
}
section.section-block.entradas.visitas-granada {
    margin-top: 200px;
}

.visita ul,
.visitas-granada ul {
	font-size: 18px;
	font-weight: 300;
	margin-top: 30px;
}

.visita li,
.visitas-granada li {
    background-image: url(/images/icono-tick-lista.png);
    height: auto;
    width: 100%;
    background-repeat: no-repeat;
    background-size: 2%;
    background-position: left 6px;
    padding-left: 24px;
    line-height: 27px;
    font-weight: 400;
}

section.section-block.entradas.divisor {

}

.pattern{
    background-image: url(/images/slider-pattern.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    height: 144px;
    width: 100%;
    position: absolute;
    z-index: 20;
    margin-top: -50px;
    margin-bottom: 80px;


}


.pattern2{
    background-image: url(/images/slider-pattern2.png);
    background-size: cover;
    background-repeat: no-repeat;
    content: "";
    height: 144px;
    width: 100%;
    position: absolute;
    z-index: 20;
   	margin-top: 35px;
}
.cuadros {
	font-weight: 700;
	color: var(--accent-color);
	font-size: 22px;
	line-height: 1;
}

.card-feature h4{
	font-size: 26px;
	line-height: 0.5;
}
.desde{
	font-size: 14px;
}
.footer .combo-phone {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    border-right: 0px;
    padding-right: 15px;

}

.form-select option{
	color: var(--accent-color);
}
.iconos{
	border-right: 1px solid #CFCFCF;
}
.titulo{
	font-size: 30px;
}
.marron{
	width: 5%;
	height: 4px!important;
	color: var(--accent-color);
	opacity:  1;
	    margin: auto;

}
.caja-iconos{
	padding-top: 40px;
}
.visita {
    height: auto;
    background-color: #FFFFFF;
    text-align: left;
    color: #000000;
    padding-top: 45px;
    padding-left: 40px;
    padding-right: 40px;
    margin-bottom: 35px;
    margin-top: 35px;
    box-shadow: 0px 6px 21px -8px rgba(0,0,0,0.57);
    border-radius: 10px;

}
.visitas-guiadas p{
	    color: #000000;
    font-size: 30px;
    font-weight: 400;
    margin-bottom: 15px;
    line-height: 21px;
}
.btn-reservar {
    text-align: right;
    margin-top: 35px;
    font-weight: bold !important;
    font-size: 30px !important;
    font-family: 'Nunito', sans-serif !important;
}
.titulo-entradas{
	font-size: 35px;
}
.txt-valor{
	font-size: 20px;
}
.accordion-body{
	color: #000000;
    font-size: 16px;
}
.accordion-button{
	font-size: 18px;
	font-weight: bold;

}

.accordion-button:not(.collapsed){
	    color: var(--secondary-color);
    background-color: #ffffff;
    box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%);
}

.accordion-button:focus{
	z-index: 3;
    border-color: #ffffff;
    outline: 0;
    box-shadow: 0;
}

.accordion-item {
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125);
    margin: 15px;
}
.accordion-button:not(.collapsed)::after {
    background-image: url(/images/ico-arrow-down2.svg);
        transform: none;
}
.acordeon{
	margin-top: 40px;
}
.visitaimg{
	width: 100%;
}
.entradasimg{
	width: 80%;
}

ul.lista-web{
	    font-size: 21px;
    text-align: center;

}
.faq{
	color: black;
}


.idiomas img{
    max-width: 40px;
}

.idiomas .dropdown-toggle::after{
    color: white;
}

.idiomas .dropdown-menu{
    min-width: auto;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.55em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}