/*
Small (smaller than 640px)
Medium (641px to 1007px)
Large (1008px and larger)
*/


/*********************************************************** SMALL SCREEN */	
	#reservation-form-container {
		width: 100%;
	}
	
	#reservation-info-container {
		width: 100%;
		margin: 70px 0px 0px 0px;
	}
	
	.reservation-form-row-type-0a {
		width: 90px;
	}
	.reservation-form-row-type-0b {
		width: calc(100% - 90px - 20px);
	}
	
	.reservation-form-row-type-1a {
		width: 100%;
		margin: 0px 0px 30px 0px;
	}
	.reservation-form-row-type-1b {
		width: 100%;
	}
	
	#generic-banner-inner-image {
		display: none;
	}
	#generic-banner-inner-image-m {
		display: block;
	}
	
	.reservation-form-row-error-display-pc {
		display: none;
	}
	.reservation-form-row-error-display-m {
		display: block;
	}
	
/*********************************************************** MEDIUM SCREEN */
@media screen and (min-width: 800px) {
	#reservation-form-container {
		width: 100%;
	}
	
	#reservation-info-container {
		width: 100%;
		margin: 70px 0px 0px 0px;
	}
	
	.reservation-form-row-type-0a {
		width: 140px;
	}
	.reservation-form-row-type-0b {
		width: calc(100% - 140px - 20px);
	}
	
	.reservation-form-row-type-1a {
		width: calc((100% - 20px) / 2);
		margin: 0px;
	}
	.reservation-form-row-type-1b {
		width: calc((100% - 20px) / 2);
	}
	
	#generic-banner-inner-image {
		display: block;
	}
	#generic-banner-inner-image-m {
		display: none;
	}
	
	.reservation-form-row-error-display-pc {
		display: block;
	}
	.reservation-form-row-error-display-m {
		display: none;
	}
}

/*********************************************************** LARGE SCREEN */
@media screen and (min-width: 1380px) {
	#reservation-form-container {
		width: calc(100% - 300px - 80px);
	}
	
	#reservation-info-container {
		width: 300px;
		margin: 0px;
	}
	
	.reservation-form-row-type-0a {
		width: 140px;
	}
	.reservation-form-row-type-0b {
		width: calc(100% - 140px - 20px);
	}
	
	.reservation-form-row-type-1a {
		width: calc((100% - 20px) / 2);
		margin: 0px;
	}
	.reservation-form-row-type-1b {
		width: calc((100% - 20px) / 2);
	}
	
	#generic-banner-inner-image {
		display: block;
	}
	#generic-banner-inner-image-m {
		display: none;
	}
	
	.reservation-form-row-error-display-pc {
		display: block;
	}
	.reservation-form-row-error-display-m {
		display: none;
	}
}


/***************************************************************************************************************** NEWS */


.index-section-title {
	position: relative;
	width: 100%;
	
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 6px;
	line-height: 30px;
	text-align: left;
}

.index-section-text {
	position: relative;
	width: 100%;
	max-width: 550px;
	
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 2px;
	line-height: 38px;
	text-align: left;
}


/***************************************************************************************************************** BANNER */
#generic-banner-wrapper {
	position: relative;
	width: 100%;
	height: calc(310px + 40px);
	background: transparent;
	margin: 20px 0px 0px 0px;
	overflow: hidden;
}

#generic-banner-inner {
	position: relative;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	
	background: transparent;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	
	overflow: hidden;
}

#generic-banner-title {
	width: 100%;
	max-width: 500px;
	height: 30px;
	
	font-family: "OptimaBold", sans-serif;
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 14px;
	line-height: 50px;
	text-align: center;
}

/***************************************************************************************************************** CONTENT */
#generic-content-wrapper {
	position: relative;
	top: 0px;
	left: 0px;
	width: 100%;
	min-height: 300px;
}

#reservation-content-wrapper {
	position: relative;
	width: 100%;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


/***************************************************************************************************************** CONTENT (FORM) */
::placeholder {
  color: rgb(223, 209, 167);
  opacity: 1; /* Firefox */
}

#reservation-form-container {
	position: relative;
	background: transparent;
	display: inline-block;
}

#reservation-form-top-text {
	position: relative;
	width: 100%;
	
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 2px;
	line-height: 32px;
	text-align: left;
}

#reservation-form {
	position: relative;
	width: 100%;
}

.reservation-form-row {
	position: relative;
	width: 100%;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.reservation-form-row-error {
	position: relative;
	width: 100%;
	height: 18px;
	margin: 5px 0px 0px 0px;
	
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	color: rgb(200, 130, 0);
	letter-spacing: 2px;
	line-height: 18px;
	text-align: left;
}

.reservation-form-row-type-0a {
	position: relative;
	height: 45px;
	display: inline-block;
}
.reservation-form-row-type-0b {
	position: relative;
	height: 45px;
	display: inline-block;
}

.reservation-form-row-type-1a {
	position: relative;
	/*height: 45px;*/
	display: inline-block;
}
.reservation-form-row-type-1b {
	position: relative;
	/*height: 45px;*/
	display: inline-block;
}

/*********************************************************** FORM FIELD BOX */
.reservation-form-field-box {
	position: relative;
	width: 100%;
	height: 45px;
	
	background: transparent;
	margin: 0px;
	
	border: 1px solid rgb(223, 209, 167);
	
	box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.reservation-form-field-box-textarea {
	position: relative;
	width: 100%;
	
	background: transparent;
	margin: 0px;
	
	border: 1px solid rgb(223, 209, 167);
	
	box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#reservation-form-button-box {
	position: relative;
	width: 170px;
	height: 50px;
	
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 6px;
	line-height: 50px;
	text-align: center;
	
	background: transparent;
	
	border: 1px solid rgb(223, 209, 167);
	
	box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
	
	-webkit-transition: background 0.3s;
	transition: background 0.3s;
}
#reservation-form-button-box:hover {
	background: rgb(99, 81, 61);
}

input.reservation-form-input-field {
	border-style: none;
	border-width: 0px;
	border-radius: 0px;

	outline: none;
	
	width: calc(100% - 40px);
	height: 45px;
	
	font-family: "OptimaNormal", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1px;
	color: rgb(223, 209, 167);
	text-decoration: none;
	text-align: left;
	line-height: 45px;

	margin: 0px;
	padding: 0px 20px;
	background: transparent;

	-webkit-appearance: none;
}

textarea.reservation-form-textarea {
	border-style: none;
	border-width: 0px;
	border-radius: 0px;
	
	width: calc(100% - 40px);
	height: 180px;
	
	font-family: "OptimaNormal", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1px;
	color: rgb(223, 209, 167);
	text-decoration: none;
	text-align: left;
	line-height: 30px;

	padding: 10px 20px;
	background: transparent;

	-webkit-appearance: none;
	resize: none;
}

input.reservation-form-button {
	position: absolute;
	top: 0px;
	left: 0px;
	
	border-style: none;
	
	background: transparent;

	width: 100%;
	height: 100%;

	outline: none;
	
	margin: 0px;
	padding: 0px;

	cursor: pointer;
	
	-webkit-appearance: none;
}

select.FormSelect {
	border-style: none;
	border-width: 0px;
	border-radius: 0px;

	outline: none;
	
	width: calc(100% - 0px);
	height: 43px;
	
	font-family: "OptimaNormal", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1px;
	color: rgb(223, 209, 167);
	text-decoration: none;
	text-align: left;
	line-height: 43px;

	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    padding: 0px 20px;
	background: rgb(45, 77, 88);
}

/***************************************************************************************************************** CONTENT (INOF) */
#reservation-info-container {
	position: relative;
	display: inline-block;
}

.reservation-info-title {
	position: relative;
	width: 100%;
	
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	color: rgb(223, 209, 167);
	letter-spacing: 3px;
	line-height: 30px;
	text-align: left;
}

.reservation-info-subtitle {
	position: relative;
	width: 100%;
	
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	color: rgb(223, 209, 167);
	letter-spacing: 3px;
	line-height: 30px;
	text-align: left;
}
.reservation-info-subtitle-small {
	position: relative;
	width: 100%;
	
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 3px;
	line-height: 30px;
	text-align: left;
}

.reservation-info-text {
	position: relative;
	width: 100%;
	
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 3px;
	line-height: 30px;
	text-align: left;
}


/***************************************************************************************************************** BACK BUTTON */
#reservation-back-button-container {
	position: relative;
	width: 100%;
	height: 28px;
}

#reservation-back-button {
	position: absolute;
	bottom: 0px;
	right: 0px;
	width: calc(50px + 20px + 70px);
	height: 28px;
	
	margin: 0px;
	cursor: pointer;
}


/***************************************************************************************************************** DATE ADDITIONAL */
.reservation-form-date-opening {
	position: relative;
	width: 100%;
	
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	color: rgb(223, 209, 167);
	letter-spacing: 3px;
	line-height: 20px;
	text-align: left;
}