
/*
 * GENERAL
 */
.page-title
{
	font-size: 37px;
	color: #313131;
	font-weight: 300;
	text-align: center;
	margin-top: 40px;
	margin-bottom: 40px;
}
.page-text{
	font-weight: 300;
	font-size: 16px;
	color: #313131;
	text-align: center;
}
.page-opacity{
	padding-top: 30px;
	padding-bottom: 30px;
	background: rgba(241,237,231,.5);
}
.no-pad{
	padding-left: 0px !important;
	padding-right: 0px !important;
}
#map-wrap{
	position: relative;
	overflow: hidden;
}
#map{
	height: 590px;
}
.map-shadow{
	z-index: 1;
	position: absolute;
	left: 0px;
	right: 0px;
	top: -20px;
	height: 20px;
	-webkit-box-shadow: 0px 2px 13px 0px rgba(0,0,0,0.44);
	-moz-box-shadow: 0px 2px 13px 0px rgba(0,0,0,0.44);
	box-shadow: 0px 2px 13px 0px rgba(0,0,0,0.44);
}
.map-link{
	cursor: pointer;
	display: block;
	text-decoration: none !important;
	color: #fff !important;
	background: #403d35ed;
	text-align: center;
	height: 80px;
	font-size: 20px;
	font-weight: 300;
	padding-top: 18px;
}
.map-link.white{
	color: #fff !important;
	background: #a58b3aeb;
	text-align: center;
}
@media (max-width: 992px){
	#map{
		height: 400px;
	}
	.map-links{
		display: none;
	}
	.no-pad-md{
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
}
@media (max-width: 768px)
{
	.page-title{
		font-size: 32px;
		margin-top: 15px !important;
		margin-bottom: 15px !important;
	}
	#map{
		height: 300px;
	}
	.map-link {
		height: 50px;
		padding-top: 0px;
	}
}
@media (max-width: 540px){
	.page-title {
		font-size: 28px;
	}
}
/* WELCOME */
.box-back{
	background-size: cover !important;
	background-repeat: no-repeat !important;
}
.box-height{
	color: #313131;
	font-size: 20px;
	font-weight: 300;
}
.box{
	padding-left: 0px !important;
	padding-right: 0px !important;
}
.box-height{
	height: 400px;
}
.box-text{
	background: #eae8e4;
	padding: 35px 20px 35px 20px;
}
.box-text .text{
	color: #313131;
	font-size: 14px;
	font-weight:300;
	margin-top: 30px;
}
.box-51-back{
	height: 400px;
	background: url(../images/zacosta51.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.box-51-back image{
	display: none;
}
.box-52-back{
	height: 400px;
	background: url(../images/zacosta52.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.box-52-back image{
	display: none;
}
.box-gallery{
	background-position: center center !important;
}
.owl-prev{

}
.owl-next{

}
.owl-controls{
	position: absolute;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.owl-nav div{
	float:left;
}
.wine-atelier{
	background: #edebe8;
	height: 400px;
	font-weight: 300;
	color: #313131;
	padding-top: 40px;
	padding-bottom: 10px;
}
.wine-atelier .title{
	font-size: 20px;
}
.wine-atelier .text{
	font-size: 14px;
	margin-top: 40px;
	margin-bottom: 30px;
}
@media (max-width: 1750px){
	.wine-atelier {
		padding-top: 30px;
		padding-bottom: 10px;
	}
	.wine-atelier .text {
		margin-top: 20px;
		margin-bottom: 20px;
	}
}
@media (max-width: 1550px){
	.box-height,.box-51-back,.box-52-back,.wine-atelier{
		height: 460px;
	}
	.wine-atelier {
		padding-top: 40px;
	}
}
@media (max-width: 1200px){
	.box-height,.wine-atelier,.box-51-back,.box-52-back{
		height: auto;
	}
	.box-51-back, .box-52-back, .welcome-gallery{
		display: none;
	}
}
@media (max-width: 992px)
{
	.box-gallery, .wine-atelier{
		height: auto;
	}
	.wine-atelier {
		height: auto;
	}
	.box-51-back{
		display: none;
	}
	.box-51-back img{
		display: block;
	}
	.box-52-back{
		display: none;
	}
	.box-52-back img{
		display: block;
	}
}
@media (max-width: 768px){
	.box-text {
		padding: 20px 15px 20px 15px;
	}
	.box-title{
		text-align: center;
	}
	.box-text .text {
		text-align: center;
		margin-top: 15px;
	}
}

/* LOCATION */
.location-info{
	text-align: center;
}
.location-info .title{
	color: #313131;
	font-size:37px;
	font-weight: 300;
	margin-top: 30px;
	margin-bottom: 20px;
}
.location-info .text{
	color: #313131;
	font-weight: 300;
	font-size:16px;
}
.location-info .text span{
	font-weight: 600;
	display: block;
	margin-top: 15px;
}
.location-info .text.sightseeing span{
	margin-top: 0px;
	cursor: pointer;
}
.location-gallery{
	margin-top: 60px;
}
.page-carousel.owl-loaded{
	display: none;
}
.page-carousel.medieval{
	display: block;
}
@media (max-width: 768px) {
	.location-info .title {
		font-size: 28px;
		margin-top: 20px;
		margin-bottom: 10px;
	}
	.location-gallery{
		margin-top: 20px;
	}
}

/* ACCOMMODATION */
.accommodation-elem{
	position: relative;
}
.accommodation-elem a{
	text-decoration: none !important;
}
.room-main-device{
	display: none;
}
/* .room-main{
	position: absolute;
	right: 120px;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.room-main .title {
	color: #0a0a0a;
	font-size: 34px;
	max-width: 272px;
	margin-left: auto;
	margin-right: auto;
}
.room-main .info{
	font-size: 22px;
	font-weight: 300;
	color: #0a0a0a;
} */
.room-main {
	position: absolute;
	left: 78%; /* Αλλάξαμε το 'right' σε 'left' και το θέτουμε στο 50% */
	top: 45%;
	-ms-transform: translate(-50%, -50%); /* Εφαρμόζουμε οριζόντια και κάθετη μετατόπιση */
	-webkit-transform: translate(-50%, -50%); /* Εφαρμόζουμε οριζόντια και κάθετη μετατόπιση */
	transform: translate(-50%, -50%); /* Εφαρμόζουμε οριζόντια και κάθετη μετατόπιση */
}
.room-main .title {
	color: #0a0a0a;
	font-size: 28px;
	max-width: 272px; /* Αυτό παραμένει, καθώς περιορίζει το μέγιστο πλάτος του τίτλου */
	margin-left: auto; /* Αυτό σε συνδυασμό με το margin-right: auto κεντράρει το στοιχείο μέσα στο .room-main */
	margin-right: auto; /* Αυτό σε συνδυασμό με το margin-left: auto κεντράρει το στοιχείο μέσα στο .room-main */
	text-align: center; /* Προσθέτουμε αυτό για να βεβαιωθούμε ότι το κείμενο μέσα στον τίτλο είναι κεντραρισμένο */
}
.room-main .info {
	font-size: 18px;
	font-weight: 400;
	color: #0a0a0a;
}
.room-main img{
	margin-top: 20px;
	margin-bottom:24px;
}
.room-main .info span{
	font-weight: 600;
}
@media (max-width: 1200px) {
	/*.room-main {
		right: 90px;
	} */
	.room-main .title{
		font-size: 28px;
		max-width: 242px;
	}
	.room-main .info{
		font-size: 18px;
	}
	.room-main img{
		margin-top: 10px;
		margin-bottom:16px;
	}
}
@media (max-width: 992px) {
	/*.room-main {
		right: 75px;
	} */
	.room-main .title{
		font-size: 20px;
		max-width: 166px;
	}
	.room-main .info{
		font-size: 16px;
	}
	.room-main img {
		margin-bottom: 15px;
	}
}
@media (max-width: 768px) {
	.accommodation-elem{
		margin-bottom: 30px;
	}
	.room-main-desktop{
		display: none;
	}
	.room-main-device{
		display: block;
	}
	/* .room-main{
		position: relative;
		right: auto;
		top: auto;
		-ms-transform: translateY(0%);
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
		margin-top: 10px;
		padding-top: 10px;
		padding-bottom: 15px;
	} */
		.room-main{
		position: relative;
		right: auto;
		left: auto; /* Προσθέτουμε left: auto για να εξουδετερώσουμε τυχόν προηγούμενα left */
		top: auto;
		-ms-transform: translateY(0%);
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
		margin-top: 10px;
		padding-top: 10px;
		padding-bottom: 15px;
		margin-left: auto; /* Προσθέτουμε margin-left: auto για οριζόντιο κεντράρισμα */
		margin-right: auto; /* Προσθέτουμε margin-right: auto για οριζόντιο κεντράρισμα */
		max-width: 100%; /* Προαιρετικό: Εξασφαλίζει ότι δεν θα ξεπεράσει το γονικό του */
	}
	.room-main.raimondo{
		background: rgba(165,138,57,.7);
	}
	.room-main.giardino{
		background: rgba(138,124,83,.7);
	}
	.room-main.maestro{
		background: rgba(143,135,113,.7);
	}
	.room-main.piero{
		background: rgba(144,137,137,.7);
	}
	.room-main .title{
		font-size: 24px;
		text-align: center; /* Εξασφαλίζει ότι το κείμενο μέσα στον τίτλο είναι κεντραρισμένο */
		max-width: 256px;
	}
	.room-main .info{
		font-size: 14px;
	}
	.room-main img {
		display: none;
	}
}
/* ROOM */
.room-wrap{
	max-width: 1024px;
}
.room-text{
	font-size: 17px;
	color: #313131;
}
.room-text ul{
	padding-left: 0px;
	margin-bottom: 0px;
	list-style-type: none;
}.room-text ul li::before{	content: '\25CF';	font-size: 12px;	margin-left: -12px;	margin-top: 4px;	position: absolute;}
.room-text-info span{
	font-weight: 600;
}
.room-service{
	font-size: 20px;
	font-weight:600;
	font-style: italic;
	margin-top: 30px;
}
#room .policy-details-wrap{
	margin-top: 50px;
}
@media (max-width: 768px) {
	#room .policy-details-wrap{
		margin-top: 0px;
	}
	#room .policy-details{
		padding-bottom: 0px;
	}
}

/* SIGHTSEEING */
#sightseeing .page-text img{
	marign-top: 25px;
	margin-bottom: 25px;
}
#sightseeing .page-text{
	max-width: 992px;
}
/* FACILITIES */
.facilities ul{
	list-style-type: none;
	padding-left: 0px;
}
.facilities ul li{
	font-weight: 300;
	font-size: 17px;
	color: #313131;
	text-align: center;
}.facilities ul li::before{	content: '\25CF';	font-size: 12px;	margin-left: -12px;	margin-top: 4px;	position: absolute;}
.facilities-back{
	margin-top: 40px;
	height: 420px;
	background: url(../images/facilities.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
}
.facilities-back img{
	display: none;
}
.facilities-back a{
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 300px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	background: #a58b3a;
	color: #ffffff;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
}
@media (max-width: 768px) {
	.facilities-back{
		height: auto;
		background:none;
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
	.facilities-back img {
		display: block;
	}
	.facilities-back a{
		font-size: 16px;
		width: 200px;
		height: 45px;
		line-height: 45px;
	}
}

/* PRICES */
.price-table{
	margin-top: 50px;
	margin-bottom: 50px;
}
.price-label{
	color: #a58a39;
	font-size: 26px;
	background: #ffffff;
	display: table;
	height: 90px;
}
.price-label .cell{
	display: table-cell;
	vertical-align: bottom;
}
.price-tb-label{
	background: #ffffff;
	height: 60px;
	display: table;
}
.price-tb-label div{
	display: table-cell;
	vertical-align: middle;
	color: #252525;
	font-size: 26px;
}
.price-table-header{
	background: rgba(165,139,58, .7);
	border-bottom:solid 1px #ffffff;
}
.table-header-elem{
	height: 90px;
	display: table;
}
.table-header-elem .cell{
	display: table-cell;
	vertical-align: middle;
	color: #ffffff;
	font-size: 16px;
}
.table-header-elem .cell .header{
	font-size: 20px;
	color:#242424;
}
.price-value{
	background: rgba(165,139,58, .7);
	font-weight: 300;
	color: #252525;
	font-size: 26px;
}
.price-value .value{
	line-height: 60px;
	text-align: center;
}
.border-left{
	border-left:solid 1px #ffffff;
}
.border-bottom{
	border-bottom:solid 1px #ffffff;
}
.policy-details-wrap{
	display: block;
	height: 75px;
}
.policy-details{
	padding-top: 7px;
	height: 75px;
	position: absolute;
	left: 0px;
	right: 0px;
}
.policy{
	cursor: pointer;
	display: block;
	text-decoration: none !important;
	text-align: center;
	color:#fff !important;
	font-size: 25px;
	font-weight: 300;
	background: #8a7c53;
	line-height: 60px;
}.policy:hover{	background: #8f8771;}
.bank{
	cursor: pointer;
	display: block;
	text-decoration: none !important;
	text-align: center;
	color:#fff !important;
	font-size: 25px;
	font-weight: 300;
	background: #8f8771;
	line-height: 60px;
}.bank:hover{	background: #8a7c53;}
.room-back{
	position: absolute;
	left:0px;
	right: 0px;
	top: 0px;
	z-index:-1;
	width: 100%;
}
.room-elem{
	position: relative;
	max-width: 386px;
	text-decoration: none !important;
}
.room-text-wrap{
	height: 215px;
}
.room-title{
	text-align: center;
	font-size: 28px;
	margin-top: 10px;
	margin-bottom: 10px;
	color: #252525;
}
.room-info{
	text-align: center;
	font-size: 16px;
	font-weight: 300;
	color: #252525;
}
.room-elem-wrap{
	margin-bottom: 40px;
}
.custom-modal .modal-title{
	color: #a58a39;
	font-size: 30px;
}
@media (max-width: 1200px) {
	.room-title {
		font-size: 24px;
		margin-top: 10px;
		margin-bottom: 0px;
	}
	.room-info {
		font-size: 16px;
	}
}
@media (max-width: 992px) {
	.price-table-header{
		display: none;
	}
	.price-tb-label {
		height: 40px;
	}
	.price-tb-label div{
		text-align: center;
		font-size: 18px;
	}
	.price-value .value.bottom {
		line-height: 45px;
	}
	.price-value .value {
		line-height: 70px;
	}
	.price-value {
		font-size: 16px;
	}
	.border-bottom{
		border:none;
	}
	.border-left{
		border-left: none;
		border-top:solid 1px #ffffff;
	}
	.table-price-elem{
		margin-bottom: 30px;
	}
	.policy-details-wrap {
		display: block;
		height: auto;
	}
	.policy-details {
		position: relative;
		height: auto;
		background: none;
	}
	.policy{
		margin-bottom: 10px;
	}
}
@media (max-width: 768px) {
	.policy, .bank{
		line-height: 40px;
	}
}
@media (max-width: 540px) {
	.room-title {
		font-size: 22px;
		margin-top: 5px;
	}
	.room-info {
		font-size: 14px;
	}
	.room-elem-wrap {
		margin-bottom: 20px;
	}
}
/* GALLERY */
#gallery{
	margin-top: 80px;
	margin-bottom: 60px;
}
#gallery .elem{
	padding-left: 3px !important;
	padding-right: 3px !important;
	margin-bottom: 6px;
}

@media (min-width: 1600px) {
    .container.gallerypage {
        width: 1500px;
    }
}
@media (min-width: 1440px) and (max-width: 1599px) {
    .container.gallerypage {
        width: 1300px;
    }
}

@media (max-width: 768px) {
	#gallery{
		margin-top: 50px;
		margin-bottom: 40px;
	}
}

/* CONTACT */
.contact-form{
	max-width: 780px;
	margin-top: 35px;
}
.contact-label{
	color:#848181;
	font-weight: 700;
	font-size: 17px;
	margin-bottom: 10px;
}
.contact-input{
	width: 100%;
	height: 40px;
	background: #ffffff;
	border:solid 1px #d7d6d5;
	color:#848181;
	font-size: 13px;
	padding-left: 15px;
	text-align: left;
}
.contact-text{
	width: 100%;
	height: 150px;
	background: #ffffff;
	border:solid 1px #d7d6d5;
	color:#848181;
	padding: 15px;
}
.text-wrap{
	margin-top: 15px;
}
.contact-captcha{
	width: 170px;
	height: 30px;
	border:solid 1px #dadada;
	background: #ffffff;
	font-size: 13px;
	font-family: 'Roboto', sans-serif;
	color:#848181;
	text-align:center;
}
/* Κανόνες για το placeholder με πλήρη ειδικότητα και !important για όλους τους browsers */

.my-form .contact-captcha::placeholder { /* Standard syntax */
    color: #848181 !important;
    opacity: 1 !important;
}

.my-form .contact-captcha::-webkit-input-placeholder { /* Chrome, Safari, Edge */
    color: #848181 !important;
    opacity: 1 !important;
}

.my-form .contact-captcha:-moz-placeholder { /* Firefox 18- */
    color: #848181 !important;
    opacity: 1 !important;
}

.my-form .contact-captcha::-moz-placeholder { /* Firefox 19+ */
    color: #848181 !important;
    opacity: 1 !important;
}

.my-form .contact-captcha:-ms-input-placeholder { /* Internet Explorer */
    color: #848181 !important;
    opacity: 1 !important; /* Προσθήκη opacity και για IE */
}


#captcha{
	width: 65px;
	height: 30px;
	border:solid 1px #dadada;
	background: #848181;
	background: url(../captcha/captcha.php);
	background-repeat: no-repeat;
	cursor: not-allowed;
}
.contact-inline{
	text-align:right;
}
.contact-inline .elem{
	display: inline-block;
}
.contact-submit{
	width: 100%;
	height: 30px;
	border:solid 1px #dadada;
	background: #a58a39;
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	color: #ffffff;
}
.placeholder::-webkit-input-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #6f6f6f !important;}
.placeholder::-moz-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #6f6f6f !important;}
.placeholder:-ms-input-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #6f6f6f !important;}
.placeholder:-moz-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #6f6f6f !important;}.contact-captcha::-webkit-input-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #fff !important;}.contact-captcha::-moz-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #fff !important;}.contact-captcha:-ms-input-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #fff !important;}.contact-captcha:-moz-placeholder { font-family: 'Roboto', sans-serif; font-size: 13px; color: #fff !important;}

@media (max-width: 992px) {
	.contact-submit{
		margin-top: 20px;
	}
}
@media (max-width: 768px) {
	#contact .page-title{
		margin-bottom: 10px;
	}
	.contact-form{
		margin-top: 20px;
		margin-bottom: 20px;
	}
}