/*!Combinable CSS group = public_main!*/
html, body {
	font-family:'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size:14px;
	line-height:1.4em;
	min-width:260px;
	/*height:100%;  IE11 won't like just min-height */
	min-height:100vh; 
}

body {
	width:100%;		
	display:flex;
	flex-direction:column;	
}

input, button, select, textarea {
	font-family:'Trebuchet MS', Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:0.5rem;
	border-width:1px;
	border-style:solid;
	box-sizing:border-box;
	border-radius:4px;
}

button.no-background {
	border:none;
	background:none;
}

*:focus {
	outline: none; 
}

*::-moz-focus-inner {
	border: 0;
}

p {
	margin:2rem 0;
}

b, em, strong {
	font-weight:bold;
}

small {
	font-size:0.8rem;
}

i {
	font-style:italic;
}

ul, ol {
	list-style-position:inside;
}

ul {
	list-style-type:disc;
}

ol {
	list-style-type:numeric;
}

hr {
	width:100%;
	height:2px;
	margin:0.5rem 0;
	border:none;
}

h1, h2 {
	line-height:1.2em;
}

h1 {
	font-size:2rem;
	margin:0 0 2rem 0;
}

h2 {
	font-size:1.5rem;
	margin:2rem 0 1rem 0;
}

input[type="checkbox"].error {
	outline:1px solid;
}

.mobile {
	display:none;
}

.sizer {
	width:1000px;
	margin:0 auto;
	position:relative;
}

.main_content {
	margin-top:1rem;
	flex-grow:1;
	z-index:999;
}

.sizer.slider {
	margin-top:-1rem;
	margin-bottom:1rem;
	max-height:295px;
	overflow:hidden;
	display:flex;
}

.sizer.slider.album {
	max-height:385px;
}

body.user_uses_touch .sizer.slider.album {
	padding-bottom:calc(74px + 2rem);
}

.col {
	position:relative;
	float:left;
	box-sizing:border-box;
	min-height:1rem;
}

.col-1_1 {
	width:100%;
}

.col-1_3 {
	width:33.3%;
}

.col-1_3_3 {
	width:30%;
}

.col-1_4 {
	width:25%;
}

.col-1_5 {
	width:22%;
}

.col-1_2 {
	width:50%;
}

.col-2_3_3 {
	width:70%;
}

.col-2_3 {
	width:66.6%;
}

.col-3_4 {
	width:75%;
}

.col-4_5 {
	width:78%;
}

.as_table {
	display:flex;
	flex-wrap:wrap;
}

/* Tables : https://css-tricks.com/accessible-simple-responsive-tables/ */
.as_cell {
	flex-grow: 1;
	width:100%;
	overflow:hidden;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:0.5rem;
	border:1px solid;
}

.as_cell.has_seperators {
	padding:0;
}

.as_table.col_2 .as_cell {
	width:50%;
}

.as_table.col_3 .as_cell {
	width:33.33%;
}

.as_table.col_4 .as_cell {
	width:25%;
}

.as_table.col_5 .as_cell {
	width:20%;
}

.as_cell_seperator {
	border-top:1px solid;
	height:50%;
	display:flex;
	padding:0.5rem;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
}

.as_cell_seperator:first-child {
	border-top:none;
}

.main_info {
	padding-right:2%;	
	padding-left:0.5rem;
	margin-bottom:1rem;
}

.side_bar {
	padding-left:2%;
	margin-bottom:1rem;
}

.side_bar .items_box {
	position:relative;
	float:left;
	background:#f1f3f1;
	box-shadow: inset 0px 0px 10px #c7c7c7;
	width:100%;
}

.side_bar .items_box h2 {
	text-align:center;
	text-transform:uppercase;
	font-size:1.2rem;
	margin:1rem;
}

.side_bar .items_box form {
	margin:1rem;
	padding:0.5rem;
	box-shadow:0px 0px 4px #b3bfc6;
	background-color:#fff;
	position:relative;
	float:left;
	width:calc(100% - 2rem);
}

.side_bar .items_box form fieldset {
	position:relative;
	float:left;
	margin:0.5rem 0;
	width:100%;
	/* this is weird. Without min / max, width is ignored in FF */
	min-width:1rem;
	max-width:100%;
}

.side_bar .items_box form fieldset.buttons button {
	width:100%;
	text-transform:uppercase;
	margin:0;
}

.side_bar .items_box form fieldset legend,
.side_bar .items_box form fieldset label:not(.for_checkbox) {
	font-weight:bold;
}

.side_bar .items_box form fieldset label:not(.for_checkbox) {
	font-size:0.8rem;
	display:flex;
	justify-content:space-between;
	line-height:1.4em;
	margin-top:0.2rem;
	padding:0;
}

.side_bar .items_box form .item_block,
.side_bar .items_box form fieldset label:not(.for_checkbox),
.side_bar .items_box form fieldset select,
.side_bar .items_box form fieldset input:not([type="checkbox"]):not([type="radio"]),
.side_bar .items_box form fieldset .selectric-wrapper,
.side_bar .items_box form fieldset .calendar_wrap {
	width:100%;
}

.side_bar .items_box form fieldset .selectric-wrapper {
	float:left;
}

.side_bar .items_box form fieldset .selectric-wrapper .label {
	max-width:calc(100% - 70px);
}

.side_bar .items_box form fieldset .selectric-wrapper ul li {
	box-sizing:border-box;
}

.side_bar .items_box form fieldset .selectric-wrapper ul li.child  {	
	padding-left:2rem;
}

.side_bar .items_box form fieldset .selectric-wrapper ul li.root {
	font-weight:bold;
}

.side_bar .items_box.search {
	margin:2rem 0;
}

.side_bar .items_box.search,
.side_bar .items_box.search form {
	position:relative;
	float:left;
	overflow:visible;
}

.side_bar .items_box.search select {
	z-index:9999;
}

.search_hint {
	margin:2rem 0;
}

.calendar_wrap {
	display:flex;
	position:relative;
	float:left;
	width:100%;
}

.calendar_wrap button {
	padding:0.4rem;
	background:none;
	border-left:none;
	border-top-left-radius:0;
	border-bottom-left-radius:0;
}

.calendar_wrap input {
	border-right:none;
	z-index:999;
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	min-width:1px;
	flex:1;
}

/* rating stars: https://codepen.io/timharbour/pen/NxMzvw */
.rating_star,
.rating_stars {
	justify-self:end;
	font-size:1.5rem;
	margin:0.5rem 0;
	position:relative;
}

.rating_star {
	float:left;
}

.rating_stars:before,
.rating_stars:after {
	content: "★★★★★";
	display: block;
	white-space: nowrap;
}

.rating_star:before,
.rating_stars:before {
	position: absolute;
	z-index: 1;
	left: 0;
	overflow: hidden;
}

.rating_star:before,
.rating_star:after {
	content: "★";
	display: block;
	white-space: nowrap;
}

.trip_advisor {
	margin:1rem 0;
}

.trip_advisor_content {
	padding:1rem 0.5rem;
	margin:1rem 0.5rem;
	box-sizing:border-box;
}

.trip_advisor ul {
	list-style-type:none;
}

.trustpilot-widget {
	max-width:100%;
	overflow:auto;
}

.header, .footer {
	flex-shrink:0;
}

.header {
	padding-top:1rem;	
	display:flex;
	flex-direction:column;
}

.footer {
	height:272px; /* while we have current background images, this can't be higher */
}

.footer_content {
	height:100%;
	padding:1.5rem 1rem;
	box-sizing:border-box;
}

.footer .copy {
	position:absolute;
	bottom:63px;
	left:0;
	font-size:0.9rem;
	width:205px;
}

.top {
	position:relative;
	display:flex;
}

.footer .top {
	justify-content:space-between;
	max-height:100%;
	overflow:hidden;
}

.logo_group {
	max-width:325px;
	min-width:210px;
	width:25vw;
	position:relative;
	float:left;
	flex:1;
}

.logo {
	display:inline-block;
}

.logo img {
	max-width:100%;
}

#livechat {
	flex:1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.top .right_side {
	flex:1;
}

.header .contacts {
	position:relative;
	float:right;
	margin-top:-3px;
	font-weight:bold;
}

.header .contacts .main {
	font-size:1.2rem;	
}

.header .contacts .sub {
	font-size:0.9rem;
}

.footer .contacts {
	float:left;
	font-size:0.9rem;
	line-height:1.3em;
	font-weight:normal;
	width:155px;
}

.footer .contacts .main_phone {
	font-size:1.4em;
	line-height:1.5em;
	font-weight:bold;
}

.footer .contacts .address {
	margin-top:1rem;
}

.place_and_time {
	position:relative;
	float:right;
}

.place_and_time .place,
.place_and_time .clock {
	position:relative;
	float:left;
	font-size:0.9rem;
}

.place_and_time .clock {
	padding-left:0.2rem;
}

.place_and_time .place {
	text-transform:uppercase;
	padding-right:0.2rem;
	border-right:1px solid;
}

.shop_links {
	position:absolute;
	right:0;
	bottom:0;
}

.shop_links a {
	text-transform:uppercase;
	display:inline-block;
	border-radius:10px;
	padding:0.5rem 1rem;
	text-decoration:none;
	font-weight:bold;
	font-size:0.9rem;
	margin-right:0.5rem;
}

.shop_links a:last-child {
	margin-right:0;
}

.header .menu_and_search {
	padding:0;
/*	margin:1rem 5px 0 5px;*/
	margin:1rem 0 0 0;
	display:flex;
	z-index:9999;
}

.header .menu_and_search .search_wrap {
	flex:1;
	display:flex;	
	margin:0.7rem 1rem;
	min-width:1px;	
}

.header .menu_and_search .search {
	flex:1;
	padding:0.2rem 0.5rem;
	height:1.5rem;
	box-sizing:border-box;
	border-width:1px 0 1px 1px;
	border-style:solid;
	border-top-left-radius:3px;
	border-bottom-left-radius:3px;
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	min-width:1px;	
}

.header .menu_and_search .search_wrap button {
	height:1.5rem;
	width:30px;
	border-width:1px 1px 1px 0;
	border-style:solid;
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	border-top-right-radius:3px;
	border-bottom-right-radius:3px;
	background-size:contain;
}

.contacts.main {
	margin:2rem 0;
	overflow:auto;
}

.main_content form,
.popup form {
	box-sizing:border-box;
	padding-right:2%
}

.popup .popup_content > .title {
	font-weight:normal;
	font-size:1.8rem;
	padding:1rem;
	position:relative;
}

.popup .popup_content > .action {
	border:none;
}

.popup .popup_content > .action button {
	padding:0.5rem 1rem;
	cursor:pointer;
}

.popup .popup_content > .action button:disabled {
	cursor:auto;
}

.popup.content .popup_content > .title {
	padding-right:3rem;
}

.main_content form fieldset,
.popup form fieldset {
	margin:0.5rem 0;
}

.main_content form fieldset.buttons,
.popup form fieldset.buttons {
	text-align:center;
	margin-top:1rem
}

.main_content form fieldset label,
.main_content form fieldset input,
.main_content form fieldset select,
.main_content form fieldset .selectric-wrapper,
.main_content form fieldset .calendar_wrap,
.main_content form fieldset textarea,
.popup form fieldset label,
.popup form fieldset input,
.popup form fieldset select,
.popup form fieldset .selectric-wrapper,
.popup form fieldset .calendar_wrap,
.popup form fieldset textarea {
	position:relative;
	float:left;
}
 
.main_content form fieldset label.for_checkbox,
.popup form fieldset label.for_checkbox {
	padding-left:0.5rem;
} 

.main_content form fieldset label:not(.for_checkbox),
.popup form fieldset label:not(.for_checkbox) {
	width:33%;
	min-width:100px;
	max-width:200px;
	padding-right:0.5rem;
	box-sizing:border-box;
	text-align:right;
	line-height:2rem;
}

.main_content form fieldset input:not([type="checkbox"]):not([type="radio"]),
.main_content form fieldset select,
.main_content form fieldset .selectric-wrapper,
.main_content form fieldset .calendar_wrap,
.main_content form fieldset textarea,
.popup form fieldset input:not([type="checkbox"]):not([type="radio"]),
.popup form fieldset select,
.popup form fieldset .selectric-wrapper,
.popup form fieldset .calendar_wrap,
.popup form fieldset textarea {
	width:67%;
}

.main_content form fieldset textarea,
.popup form fieldset textarea {
	height:150px;
}

.main_content form .info,
.popup form .info {
	font-style:italic;
}

.main_content form button[type="submit"],
.popup form button[type="submit"] {
	margin-left:1rem;
	font-weight:bold;
}

.main_content form button[type="submit"]:not(:disabled),
.popup form button[type="submit"]:not(:disabled) {
	cursor:pointer;
}

.map {
	height:350px;
	width:100%;
	max-width:375px;
}

.grecaptcha-badge {
	z-index:99999;
}

.question_mark {
	width:1rem;
	height:1rem;
	border-radius:50%;
	position:relative;
	display:inline-block;
}

.question_mark:after {	
	content:"?";
	position:absolute;
	top:0;
	left:0;
	width:1.4em;
	height:100%;
	line-height:1.2em;
	text-align:center;
	vertical-align:middle;
	font-size:0.8em;
	font-weight:bold;
}

.question_mark_hint {
	position:absolute;
	padding:1rem;
	border:1px solid;
	z-index:99999;
}

.loading_wrap {
	display:flex;
	flex-direction:column;
	justify-content:center;
	width:100%;
	height:100%;
	z-index:999;
	position:absolute;
	top:0;
	left:0;
}

.loading_wrap .loading {
	width:200px;
	max-width:100%;
	height:3rem;
	margin:0 auto;
	text-align:center;
	font-family:Arial, Tahoma, Helvetica, sans-serif;
}

.loading_wrap .loading:after {
	content: ' .';
	font-size:3rem;
	animation: dots 1s steps(5, end) infinite;
}

.slider .pages {
	max-height:100%;
	position:relative;
	flex-grow:1;
	overflow:hidden;
}

body.user_uses_touch .slider.album .pages {
	overflow:visible;
}

.slider .thumb_slider {
	overflow:auto;
	max-height:74px;
}

.slider .pages .slider_scroll {
	height:100%;
}

.slider .pages:after,
.slider.fade .pages .page a:after {
	content:'';
	position:relative;
	display:block;
	width:100%;
	height:0;
	padding-top:29.5%;
}

.slider.album .pages:after {
	padding-top:38.5%
}

.slider .pages.besides_info {
	width:59%;
}

.slider.fade .page,
.slider.album .page {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	box-sizing:border-box;
	opacity:0;
	z-index:-1;
	-webkit-animation: fadeout 1s;
	animation: fadeout 1s; 
	display:flex;
}

.slider.fade .page.active,
.slider.album .page.active {	
	-webkit-animation: fadein 2s;
	animation: fadein 2s;            
	opacity:1;
	z-index:1;
}

/*https://stackoverflow.com/questions/11679567/using-css-for-fade-in-effect-on-page-load*/
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes fadeout {
    from { opacity: 1; }
    to   { opacity: 0; }
}

.slider.scroll .page {
	position:relative; 
	float:left;
	display:flex;
	flex-grow:1;
	height:100%;
	box-sizing:border-box;
}

.slider img,
.slider .page iframe,
.slider .page > a {
	width:100%;
	position:relative;
	float:left;
}

.slider .title {
	width:41%;
	height:100%;
	box-sizing:border-box;
	padding:1.5rem;
	overflow:hidden;
}

.slider .title p {
	margin:0;
}

.slider .title h1 {
	font-size:1.7rem;
	margin-bottom:1rem;
}

.slider .page a {
	display:block;
}

.overlay {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:9999;
}

.slider .page .overlay a {
	display:inline-block;
}

.slider .overlay {
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	top:auto;
	text-align:center;
	padding:1rem 50px;
	box-sizing:border-box;
	z-index:1000;
}

body:not(.user_uses_touch) .slider.album .overlay {
	bottom:-100%;
	 -webkit-transition: bottom 2s;
    transition: bottom 2s;
    overflow:hidden;
}

body.user_uses_touch .slider.album .overlay {
	bottom:calc((74px + 2rem) * -1);
}

.slider.album .overlay .thumb_slider_wrap {
	width:100%;
	overflow:hidden;
}

body:not(.user_uses_touch) .slider.album .overlay.full {
	bottom:0;
}

.slider.scroll .page .overlay {
	padding:1rem 0.5rem;
}

.slider .page .overlay a.read_more {
	display:inline-block;
	margin-left:0.5rem;
}

.slider .page .overlay h2 {
	margin:0;
}

.slider.scroll .page .overlay h2 {
	font-size:1rem;
}

.slider .page .overlay.full h2 {
	margin-bottom:0.5rem;	
}

.slider .page .overlay p {
	display:none;
}

.slider .page .overlay p:last-child {
	margin-bottom:0;
}

.slider .page .overlay.full p {
	display:block;
	margin:0;
}

.slider .page .overlay .nav {
	display:none;
}

.slider.fade .page .overlay.full .nav,
body.user_uses_touch .slider.fade .page .overlay .nav,
.slider.album .overlay.full .nav.visible,
body.user_uses_touch .slider.album .overlay .nav.visible,
.slider.scroll .pages .nav {
	position:absolute;
	bottom:0;
	width:50px;
	height:100%;
	background-repeat:no-repeat;
	background-position:center center;
	opacity:0.7;
	cursor:pointer;
	z-index:10;
	display:block;
}


.slider.album .overlay .thumb {
	width:72px;
	height:72px;
	position:relative;
	float:left;
	margin:0 0.5rem;
	cursor:pointer;
	border-style:solid;
	border-width: 1px;
}

.slider.album .overlay .thumb.video:before,
.slider.album .overlay .thumb.video:after {
	content:'';
	position:absolute;
	z-index:999;
}

.slider.album .overlay .thumb.video:after {
	width:50px;
	height:50px;
	border:2px solid;
	border-radius:50%;
	top:calc(50% - 27px);
	left:calc(50% - 27px);
}

.slider.album .overlay .thumb.video:before {
	width:0;
	height:0;
	border-width:15px 0 15px 30px;
	border-style:solid;
	top:calc(50% - 15px);
	left:calc(50% - 15px);
}

.slider.album .overlay .thumb img {
	position:relative;
	float:left;
	width:100%;
	height:100%;
}

.slider .nav:hover {
	opacity:1;
}

.slider .nav.prev {
	left:0;
}

.slider .nav.next {
	right:0;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.sizer.blueskytours {
	display:flex;
	justify-content:center;
	padding:1rem 0;
}

.sizer.blueskytours a {
	max-width:100%;
}

.sizer.blueskytours a img {
	position:relative;
	float:left;
	max-width:100%;
}

.load_more_wrap {
	display:flex;
	justify-content:center;
	width:100%;
	flex-wrap:wrap;
}

a.as_blue_button {
	text-decoration:none;
	text-align:center;
	display:inline-block;
	margin-bottom:2rem;
}

a.as_blue_button,
button.blue_button {
	text-transform:uppercase;
	font-weight:bold;
	color:#fff;
	padding:0.5rem 1rem;
	border-radius:2rem;
	
	background-color: #3B6FA5;
	background-image: -webkit-linear-gradient(#5096df, #3B6FA5);
	background-image: -moz-linear-gradient(#5096df, #3B6FA5);
	background-image: -o-linear-gradient(#5096df, #3B6FA5);
	background-image: linear-gradient(#5096df, #3B6FA5);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 100% 100%;
	border:none;
	cursor:pointer;
}

a.as_blue_button:hover,
button.blue_button:hover {
	background-color: #5096df;
	background-image: -webkit-linear-gradient(#3B6FA5, #5096df);
	background-image: -moz-linear-gradient(#3B6FA5, #5096df);
	background-image: -o-linear-gradient(#3B6FA5, #5096df);
	background-image: linear-gradient(#3B6FA5, #5096df);
}


fieldset.collapsible {
	margin-bottom:2rem;
	position:relative;
}

fieldset.collapsible:before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:4rem;
	z-index:0;
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 100% 100%;
}

fieldset.collapsible .toggler {
	width:21px;
	height:21px;
	border:none;
	margin-right:0.5rem;	
	vertical-align:middle;
}

fieldset.collapsible.closed .toggler {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

fieldset.collapsible legend {
	line-height:21px;
	cursor:pointer;
	position:relative;
	float:left;
	z-index:1;
	padding:0.5rem 0;
}

fieldset.collapsible legend span {
	font-size:1.3rem;
	vertical-align:middle;
}

fieldset.collapsible .collapsible_content {
	padding:1rem 0.5rem;
	position:relative;
	float:left;
	width:100%;
	box-sizing:border-box;
}

fieldset.collapsible.closed .collapsible_content {
	display:none;
}

@media screen and (max-width: 1120px) {
	.sizer {
		width:100%;
		padding-left:calc(50px + 1rem);
		padding-right:1rem;
		box-sizing:border-box;
	}
}

@media screen and (max-width: 1050px) {
	.sizer.slider {
		padding:0;
		margin-top:-50px;
	}
	
	.slider .title {
		padding-top:calc(50px + 0.5rem);
	}
	
	.sizer.slider {
		max-height:345px;
	}
	
	.header .menu_and_search {
		flex-direction:column;	
	}
	
	.header .menu_and_search .search,
	.header .menu_and_search .search_wrap button {
		height:2.5rem;
	}
	
	.footer .footer_menu {
		display:none;
	}
	
	.footer .contacts {
		width:100%;
	}
	
	.footer .copy {
		left:1rem;
	}
	
	.col-1_5,
	.col-4_5 {
		width:100%;
		padding:0;
	}
}

@media screen and (max-width: 945px) {		
	.main_content form fieldset label:not(.for_checkbox),
	.main_content form fieldset input:not([type="checkbox"]):not([type="radio"]),
	.main_content form fieldset select,
	.main_content form fieldset .selectric-wrapper,
	.main_content form fieldset textarea {
		width:100%;
	}
	
	.main_content form fieldset label:not(.for_checkbox) {
		margin-bottom:0.5rem;		
		padding:0;
		text-align:left;
	}
	
	.col-3_4 .col-1_2 {
		width:100%;
		padding:0;
	}
}

@media screen and (max-width: 650px) {
	html, body, input, button, select, textarea {
		font-size:16px;
	}
	
	.mobile {
		display:block;
	}
	
	.desktop {
		display:none;
	}

	.header {
		position:fixed;
		height:195px;
		border-bottom:1px solid;
		z-index:999999;
	}
	
	.top {
		flex-direction:column;
	}
	
	.sizer.slider.fade, 
	.slider.fade .pages {
		overflow:visible;
	}
	
	.slider.fade .page {
		flex-direction:column;
		height:auto;
	}
	
	.slider.fade .page > a {
		width:100%;
	}
	
	.slider.fade .overlay {
		height:8rem;
		position:relative;
		float:left;
		width:100%;
		display:flex;
		flex-direction:column;
		justify-content:center;
	}
	
	.slider.fade .overlay.full {
		height:auto;
		position:absolute;
		bottom:-8rem;
	}
	
	.slider.fade .page .overlay.full .nav,
	body.user_uses_touch .slider.fade .page .overlay .nav,
	.slider.album .overlay.full .nav.visible,
	body.user_uses_touch .slider.album .overlay .nav.visible,
	.slider.scroll .pages .nav {
		width:60px;
	}
	
	.slider.fade .pages .page a:after {
		padding-top:39%;
	}
	
	.slider.fade .pages:after {
		padding-top:calc(39% + 8rem);
	}
	
	.slider.fade.has_info .pages:after {
		padding-top:calc(29.5% + 10rem);
	}
		 
	.sizer.slider {
		flex-direction:column;
		max-height:100%;
	}
	
	#livechat {
		margin-top:-35px;
		margin-left:50px;
		width:42%;
		max-width:155px;
	}
	
	#livechat img {
		position:relative;
		float:left;
		width:100%;
	}
	
	.header .menu_and_search {
		flex-direction:row;
		flex-wrap:wrap;
		position:absolute;
		top:calc(100% - 2.2rem);
		left:1rem;
		right:1rem;
	}
	
	.header .menu_and_search .search_wrap {
		margin:0.7rem 0.5rem;
	}
	
	.footer .copy {
		bottom:1rem;
	}
	
	.main_content {
		margin-top:245px;
	}
	
	.logo_group {
		width:100%;
		float:none;
		margin:0 auto;
	}
	
	.header .contacts {
		max-width:57%;
	}
	
	.place_and_time {
		position:absolute;
		top:-1rem;
		right:0;
		margin:0;
	}
		
	.place_and_time .place,
	.place_and_time .clock {
		font-size:0.7rem;
	}
	
	.shop_links {
		position:relative;
		float:left;
		margin-top:1rem;
		width:100%;
		text-align:center;
	}
		
	.col-1_2,
	.col-1_4,
	.col-3_4,
	.slider .pages.besides_info,
	.slider .title {
		width:100%;
		padding:0;
	}
	
	.slider .title {
		padding:3rem 0.5rem 0.5rem 0.5rem;
	}
	
	.main_info {
		padding-bottom:1rem;
	}
	
	.side_bar {
		padding-top:1rem;
	}
		
	.as_table {
		display:block;
	}
	
	.as_cell,
	.as_table.col_2 .as_cell,
	.as_table.col_3 .as_cell,
	.as_table.col_4 .as_cell,
	.as_table.col_5 .as_cell {
		width:100%;
	}
	
}

@media screen and (max-width: 480px) {
	#livechat {
		margin-left:0;
	}
}

/*NOTICE - the switch 50px + 1rem => 1rem is because of sumome widget, but that is configured from their own panel,
so it is possible that someday this will look bad */ 
@media screen and (max-width: 470px) {
	.sizer {
		padding-left:1rem;
	}
}