@media all and (min-width: 1000px) {
	header {
		background: url(images/bg_header.jpg) no-repeat;
		background-position: bottom;
		background-size: 100% auto;
	}
}

@media all and (min-width: 0) and (max-width: 1000px) {
	header {
		background: url(images/bg_header_min.jpg) no-repeat;
	}
}

@media all and (max-width: 1390px) {
	.table {
		width: 1090px;
	}
}

@media all and (max-width: 1308px) {
	header {
		background-size: auto 100%;
	}
	footer nav a {
		display: inline-block;
		margin: 0 2em;
		color: white;
		border-bottom: 2px #f34c55 solid;
		text-decoration: none;
	}
}

@media all and (max-width: 1219px) {
	.to_top {
		display: none;
	}
}

@media all and (max-width: 1040px) {
	header {
		background: url(images/bg_header_min.jpg) no-repeat;
		background-size: auto 100%;
	}
	nav a {
		margin-left: 3em !important;	
	}
	footer nav a {
		display: inline-block;
		margin: 10px 0 0 0;
		color: white;
		border-bottom: 2px #f34c55 solid;
		text-decoration: none;
	}
	.table {
		width: 100%;
		font-size: 1em;
	}
}

@media all and (max-width: 933px) {
	.price_block aside {
		height: 7em;
		width: 9%;
		float: left;
	}
	.price {
		margin-bottom: 2em;
	}
	footer {
		padding-top: 0em;
	}
}

@media all and (max-width: 780px) {
	.price .time:first-of-type {
		border: none;
	}
}

@media all and (max-width: 679px) {
	header {
		background-size: auto 100%;
	}
	nav a {
		margin-left: 1em !important;	
	}
	.table {
		font-size: 0.9em;
		padding: 1em 0 0 0 !important;
	}
}

@media all and (max-width: 626px) {
	.price_block aside {
		height: 8em;
	}
	.price {
		left: 1em;
	}
}

@media all and (max-width: 583px) {
	.price_block:first-of-type aside {
		width: 100%;
		height: auto;
		margin-bottom: 1em;
		text-align: center;
		float: none;
		border-top: none;
	}
	.price_block aside {
		width: 100%;
		height: auto;
		margin-bottom: 1em;
		padding-top: 2em;
		text-align: center;
		float: none;
		border-top: 1px grey solid;
	}
	.time_block {
		width: 100% !important;
		position: relative;
		left: 0;
		margin: 0 auto;
		display: block;
		text-align: center;
	}
	.price {
		left: 0;
	}
}

@media all and (max-width: 530px) {
	header {
		background-size: auto 100%;
		background-position: 90% 0;
	}
	header nav {
		position: relative;
		left: 0;
	}
	nav a {
		margin-left: 0 !important;	
	}
	.present {
		width: 80px
	}
	.logo h2 {
		left: -30px;
		top: 65px;
	}
	.description {
		font-size: 1.3rem;
		width: 100%;
		position: absolute;
		bottom: 35px;
		left: 0;
		background: none;
		background-position: left center;
		background-size: 140px auto;
		padding-left: 10px;
	}
	.time {
		width: 2.9em;
		border: none;
		padding: 0 !important;
		display: block !important;
	}
	.price .time:first-of-type:before {
		display: none;
	}
}

@media all and (max-width: 430px) {
	.price_block aside {
		height: auto;
		text-align: center;
		width: 100%;
		float: none;
		margin-bottom: 1em;
	}
	.time_block {
		width: 80%;
		float: none;
	}
}

@media all and (max-width: 385px) {
	header nav {
		position: relative;
		left: 0;
	}
	nav a {
		margin-bottom: -15px
	}
	.key {
		position: relative;
		top: -18px;
	}
	.logo {
		background-size: 250px auto;
		margin: -2.5em auto 0 auto;
		padding-left: 0;
		position: relative;
		left: 20px;
	}
	.logo h2 {
		left: -60px;
		top: 65px;
	}
	.price_block aside {
		text-align: center;
		width: 100%;
		float: none;
		margin-bottom: 1em;
	}
	.time_block {
		width: 80%;
		float: none;
	}
}

@media all and (max-width: 350px) {
	.time {
		width: 2.7em;
		font-size: 1em;
	}
	footer nav a  {
		width: 100vw;
		display: block;
		text-align: center;
		text-decoration: none;
		margin: 0.7em 0 0 0;
	}
}

@media all and (max-width: 318px) {
	.contacts {
		position: relative;
		top: -18px;
	}
}



/* Modal response */


@media all and (max-width: 1150px) {
	.modal_window {
		transform: scale(0.7, 0.7);
	}
	.close_icon {
		display: none;
	}
}

@media all and (max-width: 770px) {
	.modal_window * {
		text-shadow: 1px 1px 1px black, 1px 1px 1px black;
	}
	.modal_window {
		transform: none;
		width: 100%;
		min-height: 350px;
		margin: 0;
		left: 0;
		top: 0;
		background: url(images/wizard.jpg);
		border-left: none;
		border-right: none;
		border-radius: 0;
	}
	.left_aside {
		width: 100%;
		height: auto;
		background: none;
		background-size: auto 100%, 100% auto;
		background-position: right, 0;
		float:none;
	}
	.left_aside * {
		text-align: center;
	}
	.quest_name {
		margin: 0;
		padding: 3px;
	}
	.modal_description {
		display: none;
		background: none;
	}
	.right_aside {
		width: 100%;
		height: 50%;
		background: none;
		float: none;
	}
	address {
		display: none;
	}
	input[type=range]::-webkit-slider-thumb {
	  -webkit-appearance: none;
	  border: none;
	  height: 18px;
	  width: 18px;
	  border-radius: 50%;
	  background: white;
	  cursor: pointer;
	  margin-top: -7px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */
	}

	input[type=range]::-moz-range-thumb {
	  border: none;
	  height: 18px;
	  width: 18px;
	  border-radius: 50%;
	  background: white;
	  cursor: pointer;
	}

	input[type=range]::-ms-thumb {
	  border: none;
	  height: 18px;
	  width: 18px;
	  border-radius: 50%;
	  background: white;
	  cursor: pointer;
	}
	input[type=range]::-webkit-slider-runnable-track {
		box-shadow: 0 0 1px rgba(250, 250, 250, 0.5), 0px 0px 1px rgba(250, 250, 250, 0.5);
	  	width: 100%;
	 	height: 5px;
	 	cursor: pointer;
	 	background: rgba(250, 250, 250, 0.5);
	 	border-radius: 1.3px;
	}

	input[type=range]:focus::-webkit-slider-runnable-track {
	  background: rgba(250, 250, 250, 0.5);
	  box-shadow: 0 0 1px rgba(250, 250, 250, 0.5), 0px 0px 1px rgba(250, 250, 250, 0.5);
	}

	input[type=range]::-moz-range-track {
	  width: 100%;
	  height: 5px;
	  cursor: pointer;
	  background: rgba(250, 250, 250, 0.5);
	  border-radius: 1.3px;
	}

	input[type=range]::-ms-track {
	  width: 100%;
	  height: 5px;
	  cursor: pointer;
	  background: transparent;
	  border-color: transparent;
	  color: transparent;
	}

	input[type=range]::-ms-fill-lower {
	  background: rgba(250, 250, 250, 0.5);
	  border-radius: 2.6px;
	}

	input[type=range]:focus::-ms-fill-lower {
	  background: rgba(250, 250, 250, 0.5);
	}

	input[type=range]::-ms-fill-upper {
	  background: rgba(250, 250, 250, 0.5);
	  border-radius: 2.6px;
	}

	input[type=range]:focus::-ms-fill-upper {
	  background: rgba(250, 250, 250, 0.5);
	}
}

@media all and (max-width: 415px) {
	.left_aside {
		height: auto;
	}
	.right_aside {
		height: auto;
	}
	.time_block_modal {
		margin: 0em auto 1.8em auto;
		text-align: center;
		float: none;
	}
	.input_block {
		margin: 0;
		float: none;
	}
	.input_block form * {
		width: 15em;
		min-height: 2em;
		display: block;
		margin: 0 auto 0.5em auto;
		border: 1px white solid;
		border-radius: 7%/50%;
		background: none;
		color: white;
		padding-left: 1em;
	}
	.cost {
		display: block;
		width: 100%;
		clear: both;
		display: block;
		padding: 0.5em;
		font-size: 0.7em;
		text-align: center;
		position: absolute;
		right: -90px;
		bottom: 0;
	}
	.slider {
		width: 200px;
		position: relative;
		right: 0;
		top: 3em;
		margin: 0 auto;
	}
	.book_modal {
		width: 240px;
		height: 27px;
		box-sizing: border-box;
		display: block;
		text-align: center;
		background: #2b1227;
		border: 1px white solid;
		border-radius: 5%/50%;
		color: white;
		position: absolute;
		left: 50%;
		margin-left: -100px !important;
	}
	.time_block_modal h3 {
		display: inline-block;
	}
	.time_block_modal h3:after {
		content: ":";
		display: inline-block;
		margin-right: 5px;
	}
	.cost * {
		display: inline-block;
		text-shadow: 1px 1px 1px black;
	}
	.cost {
		clear: both;
		display: block;
		padding: 0;
		position: absolute;
		left: 0;
		top: 5.3em;
	}
	.cost h3:after {
		content: ":";
	}
}



/* Modal response end */