/* ============================== All - Fonts ============================== */

@font-face {
	font-family: 'charlatan';
    src: url('fonts/charlatan.woff2') format('woff2'),
         url('fonts/charlatan.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
	font-family: 'magic';
    src: url('fonts/magic.woff2') format('woff2'),
         url('fonts/magic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


/* ============================== All - Base ============================== */

body,div,p,h1,h2,h3,h4,ol,ul,li,form,input,textarea,table,tr,th,td,select,option {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 16px;
	margin: 0;
	padding: 0;
}

ol, ul, li {
	display: block;
	text-decoration: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: transparent;
}

li {
	margin-left: 30px;
	display: list-item;
}

.t1 {

}

.t2 {
	font-family: 'charlatan';
	font-size: 2.25em;
	font-weight: 700;
	padding: 40px 20px;
	text-align: center;
}

.t3 {
	font-size: 1.25em;
	font-weight: 500;
	text-align: left;
	padding-bottom: 0.5em;
}

.t4 {
	font-size: 1.125em;
	font-weight: 500;
	padding-bottom: 0.125em;
}

@media screen and (max-width: 600px) {
	.t1 {
		font-size: 1.25em;
	}

	.t2 {
		padding: 20px;
	}

	.t3 {
		text-align: center;
		padding-bottom: 1em;
	}
}

p {
	text-justify: inter-word;
	text-align: justify;
}

.no-justify {
	text-align: left;
}

.break {
	margin: 0 0 0.75em 0;
}

.bold {
	font-weight: 500;
}

.center {
	text-align: center !important;
	text-justify: auto;
}

.link {
	text-decoration: none;
	cursor: pointer;
}

.link:hover {
	text-decoration: underline;
}

.line {
	display: inline-block;
}

.no-select {
	-webkit-touch-callout: none;
	/* iOS Safari */
	-webkit-user-select: none;
	/* Safari */
	-khtml-user-select: none;
	/* Konqueror HTML */
	-moz-user-select: none;
	/* Firefox */
	-ms-user-select: none;
	/* Internet Explorer/Edge */
	-o-user-select: none;
	/* ? */
	user-select: none;
	/* Non-prefixed version, currently supported by Chrome and Opera */
}

.no-drag {
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	-ms-user-drag: none;
	-o-user-drag: none;
	user-drag: none;
}

.no-flick {
	-webkit-transform: translate3d(0,0,0);
}

input,select,option {
	width: 100%;
	margin: 0;
	padding: 5px 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	-webkit-appearance: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	min-width: 160px;
	background: url('/admin/img/sort.png') calc(100% - 5px) / 25px no-repeat;
}


/* ============================== All - Header ============================== */

#header {
	position: fixed;
	top: 0;
	width: 100%;
	height: 54px;
	/* height same as Content margin-top */
	color: white;
	background: #333;
	z-index: 9990;
	font-size: 1em;
}

.w3-button {
	padding: 15px 20px !important;
	background: #333;
}

.w3-button:hover {
	color: white !important;
	background: #555 !important;
}

.header-logo {
	padding: 12px 20px !important;
}

.header-logo:hover {
	background: none !important;
}

.header-logo img {
	width: auto;
	height: 30px;
}

.header-social {
	font-size: 1.25em;
	padding: 12px 15px !important;
}

.header-social:hover {
	color: #ffe600 !important;
	background: none !important;
}


/* ============================== All - Content ============================== */

#content {
	margin-top: 54px;
	/* margin-top same as Header height */
}


/* ============================== All - Social (Footer) ============================== */

.social li {
	display: inline-block;
	padding: 0 20px;
}

@media screen and (max-width: 600px) {
	.social li {
		padding: 0 4vw;
	}
}

.social .fa {
	font-size: 2.25em;
	color: white;
	outline: none;
	cursor: pointer;
}

.social .fa:hover {
	color: #ffe600 !important;
	background: none !important;
}


/* ============================== All - Mobile Center/Show/Hide ============================== */

.mobile-center {
	text-align: left;
}

.mobile-show {
	display: none;
}

.mobile-hide {
	display: block;
}

@media screen and (max-width: 600px) {
	.mobile-center {
		text-align: center;
	}
	.mobile-show {
		display: block;
	}
	.mobile-hide {
		display: none;
	}
}


/* ============================== All - Main Button ============================== */
.custom-checkbox {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.custom-checkbox+label {
	display: inline-flex;
	align-items: center;
	user-select: none;
}
.custom-checkbox+label::before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	flex-grow: 0;
	border: 1px solid #adb5bd;
	border-radius: 0.25em;
	margin-right: 0.5em;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50% 50%;
}
.custom-checkbox:checked+label::before {
	border-color: #0b76ef;
	background-color: #0b76ef;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}
/* стили при наведении курсора на checkbox */
.custom-checkbox:not(:disabled):not(:checked)+label:hover::before {
	border-color: #b3d7ff;
}
/* стили для активного состояния чекбокса (при нажатии на него) */
.custom-checkbox:not(:disabled):active+label::before {
	background-color: #b3d7ff;
	border-color: #b3d7ff;
}
/* стили для чекбокса, находящегося в фокусе */
.custom-checkbox:focus+label::before {
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
/* стили для чекбокса, находящегося в фокусе и не находящегося в состоянии checked */
.custom-checkbox:focus:not(:checked)+label::before {
	border-color: #80bdff;
}
/* стили для чекбокса, находящегося в состоянии disabled */
.custom-checkbox:disabled+label::before {
	background-color: #e9ecef;
}
.main-button {
	font-family: 'charlatan';
	font-size: 1.25em;
	font-weight: bold;
	color: black;
	padding: 10px 20px;
	border: 0;
	border-radius: 5px;
	background: #ffe600;
	outline: none;
	cursor: pointer;
	/*box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.25);*/
	-webkit-transition: all 0.1s ease-in-out;
	-khtml-transform: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-ms-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}

.main-button:hover {
	-webkit-transform: scale(1.1);
	-khtml-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

.main-button:active {
	-webkit-transition: all 0s ease-in-out;
	-khtml-transform: all 0s ease-in-out;
	-moz-transition: all 0s ease-in-out;
	-ms-transition: all 0s ease-in-out;
	-o-transition: all 0s ease-in-out;
	transition: all 0s ease-in-out;
	-webkit-transform: scale(1.05);
	-khtml-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-ms-transform: scale(1.05);
	-o-transform: scale(1.05);
	transform: scale(1.05);
}

.no-anim:hover {
	background: #ffeb33;
	-webkit-transform: scale(1);
	-khtml-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.no-anim:active {
	background: #e5cf00;
	-webkit-transition: all 0s ease-in-out;
	-khtml-transform: all 0s ease-in-out;
	-moz-transition: all 0s ease-in-out;
	-ms-transition: all 0s ease-in-out;
	-o-transition: all 0s ease-in-out;
	transition: all 0s ease-in-out;
	-webkit-transform: scale(1);
	-khtml-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.grey {
	color: black;
	background: #eaeaea;
}

.unactive, .unactive:hover, .unactive:active {
	color: black;
	background: #eaeaea;
	cursor: not-allowed;
}

/* iPhone 6 375px */
@media screen and (max-width: 374px) {
	.main-button {
		font-size: 1em;
	}
}


/* ============================== All - Main Button Container ============================== */

.main-button-container {
	width: 100%;
	text-align: left;
}

.main-button-container button {
	margin-top: 15px;
	margin-right: 10px;
}

@media screen and (max-width: 600px) {
	.main-button-container {
		text-align: center;
	}

	.main-button-container button {
		margin-right: 5px;
		margin-left: 5px;
	}
}


/* ============================== Home - Poster ============================== */

.poster {
	width: 100%;
	text-align: center;
	color: white;
	padding-bottom: 560px;
	background-color: #333;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1920px 960px;
	background-image: url('img/poster.png');
}

.poster-logo {
	width: 512px;
	text-align: center;
	display: inline-block;
}

.awards {
	max-width: 512px;
	text-align: left;
	display: inline-block;
	margin: 60px 0 40px 0;
}

.awards div img {
	width: 40px;
	height: 40px;
	vertical-align: middle;
	margin-right: 16px;
}

.awards div span {
	font-size: 1.125em;
}

.awards-mobile {
	text-align: center;
	display: inline-block;
	margin: 60px 0 40px 0;
}

.awards-mobile td {
	border-top: 10px solid black;
	border-bottom: 10px solid black;
	border-left: 5px solid black;
	border-right: 5px solid black;
	border-color: transparent;
}

.awards-mobile tr td img {
	width: 42px;
	height: 42px;
	margin-right: 5px;
}

.awards-mobile tr td p {
	font-size: 1.075em;
	text-align: left;
}

@media screen and (max-width: 600px) {
	.poster {
		padding-bottom: 620px;
		background-position-x: 40%;
	}
	.poster div {
		width: 100%;
		text-align: center;
	}
	.poster-logo {
		width: calc(100% - 60px);
		max-width: 340px;
	}
}

@media screen and (max-width: 374px) {
	.awards-mobile tr td p {
		font-size: 1em;
	}
	.poster-logo {
		width: calc(100% - 40px);
	}
}


/* ============================== Home - About Icons ============================== */

.about-icons img {
	width: auto;
	max-width: 75%;
	max-height: 192px;
}

@media screen and (max-width: 600px) {
	.about-icons img {
		width: auto;
		max-width: 60%;
		max-height: 200px;
	}
}


/* ============================== Home - Room Info ============================== */

.room-info img {
	width: 100%;
	height: auto;
}

.room-info table {
	margin: 0;
	padding: 0;
	border-spacing: 0;
}

.room-info table td {
	padding: 2px 20px;
}

.room-info table tr:nth-child(odd) {
	background-color: #f2f2f2;
}

.room-info-table-icon {
	font-size: 1.125em;
	width: 40px;
	text-align: center;
	display: inline-block;
}

@media screen and (max-width: 600px) {
	.room-info img {
		width: auto;
		max-width: 60%;
		max-height: 280px;
	}

	.room-info table {
		min-width: 100%;
	}

	.room-info-image {
		background: -moz-linear-gradient(top, rgba(238,238,238,0) 0%, rgba(238,238,238,0) 25%, rgba(238,238,238,1) 25%, rgba(238,238,238,1) 75%, rgba(238,238,238,0) 75%, rgba(238,238,238,0) 100%);
		background: -webkit-linear-gradient(top, rgba(238,238,238,0) 0%,rgba(238,238,238,0) 25%,rgba(238,238,238,1) 25%,rgba(238,238,238,1) 75%,rgba(238,238,238,0) 75%,rgba(238,238,238,0) 100%);
		background: linear-gradient(to bottom, rgba(238,238,238,0) 0%,rgba(238,238,238,0) 25%,rgba(238,238,238,1) 25%,rgba(238,238,238,1) 75%,rgba(238,238,238,0) 75%,rgba(238,238,238,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00eeeeee', endColorstr='#00eeeeee',GradientType=0 );
		;
	}
}


/* ============================== Home - Gift Info ============================== */

.gift-info img {
	width: auto;
	max-width: 100%;
	max-height: 200px;
}

@media screen and (max-width: 600px) {
	.gift-info img {
		width: auto;
		max-width: 50%;
		max-height: 220px;
	}

	.gift-info h3 {
		text-align: center;
	}

	.gift-info {
		display: flex;
		flex-flow: column;
	}

	.gift-info-description {
		order: 2;
	}

	.gift-info-image {
		order: 1;
		background: -moz-linear-gradient(top, rgba(238,238,238,0) 0%, rgba(238,238,238,0) 25%, rgba(238,238,238,1) 25%, rgba(238,238,238,1) 75%, rgba(238,238,238,0) 75%, rgba(238,238,238,0) 100%);
		background: -webkit-linear-gradient(top, rgba(238,238,238,0) 0%,rgba(238,238,238,0) 25%,rgba(238,238,238,1) 25%,rgba(238,238,238,1) 75%,rgba(238,238,238,0) 75%,rgba(238,238,238,0) 100%);
		background: linear-gradient(to bottom, rgba(238,238,238,0) 0%,rgba(238,238,238,0) 25%,rgba(238,238,238,1) 25%,rgba(238,238,238,1) 75%,rgba(238,238,238,0) 75%,rgba(238,238,238,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00eeeeee', endColorstr='#00eeeeee',GradientType=0 );
		;
	}
}


/* ============================== Home - Contact Table ============================== */

.contact-table td {
	min-width: 25px;
	vertical-align: top;
}

@media screen and (max-width: 600px) {
	.contactus {
		display: flex;
		flex-flow: column;
	}
	.contactus-map {
		order: 2;
	}

	.contactus-info {
		order: 1;
	}
}


/* ============================== Room1 - Poster ============================== */

.poster-room1 {
	width: 100%;
	vertical-align: buttom;
	background-color: #333;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 0%;
	background-image:url('img/poster-room1.png');
	padding-bottom: calc(512*100%/1920);
	min-height: 320px;
}

.poster-room1 img {
	height: calc(384*100vw/1920);
	min-height: 256px;
	max-height: 384px;
}

@media screen and (max-width: 600px) {
	.poster-room1 {
		background-image:url('img/poster-room1.png'), linear-gradient(to bottom, #ccc 50%, #333 50%);
		background-position: 50% 50%;
		background-size: 200%;
		min-height: 256px;
	}

	.poster-room1 img {
		min-height: 224px;
	}
}


/* ============================== Room1 - ISofW ============================== */

.isofw {
	font-family: 'magic';
	text-align: center;
}

.isofw-1 {
	font-size: 4.25em;
	line-height: 0.75em;
}

.isofw-2 {
	font-size: 3em;
}

.isofw-3 {
	font-size: 3.5em;
	color: #ffe600;
}

@media screen and (max-width: 600px) {
	.isofw-1 {
		font-size: 2.75em;
		line-height: 0.75em;
	}

	.isofw-2 {
		font-size: 2em;
	}

	.isofw-3 {
		font-size: 2.5em;
	}
}

@media screen and (max-width: 374px) {
	.isofw-1 {
		font-size: 2.25em;
		line-height: 0.75em;
	}

	.isofw-2 {
		font-size: 1.75em;
	}

	.isofw-3 {
		font-size: 2.25em;
	}
}


/* ============================== Room1 - Slideshow ============================== */

.slideshow {
	padding: 30px 0;
}

.w3-badge {
	height: 12px;
	width: 12px;
	padding: 0;
	cursor: pointer;
}

.w3-display-right, .w3-display-left, .w3-display-right:hover, .w3-display-left:hover {
	font-size: 1.5em !important;
	color: black !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: #ccc !important;
	padding: 5px 15px !important;
	cursor: pointer;
	outline: none;
	opacity: 1;
}

.w3-display-right:hover, .w3-display-left:hover {
	background: #ddd !important;
}

.w3-display-right:active, .w3-display-left:active {
	background: #bbb !important;
}

.w3-display-left {
	left: -30px;
}

.w3-display-right {
	right: -30px;
}

@media screen and (max-width: 600px) {
	.slideshow {
		padding: 20px 20px 0 20px;
	}

	.w3-display-right, .w3-display-left, .w3-display-right:hover, .w3-display-left:hover {
		font-size: 1em !important;
		padding: 10px 15px !important;
		opacity: 0.9;
	}

	.w3-display-left {
		left: -10px;
	}

	.w3-display-right {
		right: -10px;
	}
}

.slideshow-left {
	left: calc(50% - 828px);
	-webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0)), to(rgba(0,0,0,0.8)));
}

.slideshow-right {
	left: calc(50% + 316px);
	-webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.8)), to(rgba(0,0,0,0)));
}

.slideshow-left, .slideshow-right {
	position: absolute;
	width: 100%;
	max-width: 512px;
	top: 30px;
	display: none;
}

@media screen and (min-width: 769px) {
	.slideshow-left, .slideshow-right {
		display: block;
	}
}


/* ============================== Room1 - Info Icons ============================== */

.w3-table tr th i {
	font-size: 2.5em;
}

.mobile-icons tr td i {
	font-size: 2em;
	padding-bottom: 5px;
}

.mobile-icons {
	width: 100%;
	text-align: center;
	color: white;
	padding: 0 20px 30px 20px;
}

.mobile-icons tr td {
	width: 33%;
	padding-top: 10px;
	padding-bottom: 10px;
}


/* ============================== Book Now - Card ============================== */

.card {
	text-align: center;
	background: #333;
}

.card p {
	color: white;
	text-align: center;
}

.card-name {
	font-size: 1.25em;
	font-weight: 500;
	margin: 0 20px;
	margin-top: -40px;
	text-shadow: 2px 2px #333;
}

.card-icon {
	padding: 20px !important;
	display: inline-block;
}

.card-icon i {
	color: #ffe600 !important;
	padding-right: 5px;
}

.card button {
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	margin: 0 20px 20px 20px;
	width: calc(100% - 40px);
}

.card-room1-image, .card-room2-image {
	width: 100%;
	vertical-align: buttom;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	padding-bottom: calc(360*100%/420);
}

.card-room1-image {
	background-image: url('img/gallery-room1/irvine_school_of_wizardry_and_the_dragon_wand_photo_1.jpg');
}

.card-room2-image {
	background-image: url('img/card-room2.jpg');
}

.card-room1-image div, .card-room2-image div {
	width: 100%;
	height: 120px;
	background-image: linear-gradient(to bottom, rgba(51,51,51,0), rgba(51,51,51,1));
}




/* ============================== Book Now - Card ============================== */

.gift {
	width: 100%;
	padding: 10px 20px;
}

.gift div {
	margin: 0;
	padding: 0;
				width: 100% !important;
	display: inline-block;
	border: 0;

}
.gift div:first-child {
	max-width: 240px;
	vertical-align: top;
	text-align: left;
}

.gift div:first-child > img {
  width: auto;
  height : auto;
  max-height: 100%;
  max-width: calc(100% - 20px);
	border-radius: 5px;
	border: 0;
}

.gift div:last-child {
	max-width: calc(100% - 250px);
}


@media screen and (max-width: 600px) {
	.gift div {

		display: block;
max-width: none !important;
			margin-bottom: 20px;
	}


	.gift div:first-child {
		text-align: center;
	}

	.gift div:first-child > img {
	  width: auto;
	  height : auto;
	  max-height: 100%;
		max-width: 100%;
		border-radius: 10px;
		border: 0;
		object-fit: cover;
	}
}
