/**
 * Reset defaults
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
	vertical-align: baseline;
}

:focus {
	outline: 0;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}

blockquote, q {
	quotes: "" "";
}

/**
 * General
 */
body {
	font: 100%/1.375 Arial, Verdana, Helvertica, sans-serif;
	color: #333;
	background: #fff;
}

h1 a {
	display: block; /* !!! */
	position: absolute;
	left: 20px;
	top: 30px;
	width: 258px;
	height: 56px;
	background: url(../images/logo.png) no-repeat;
	text-indent: -9999px;
	z-index: 1;
}

h2 {
	margin: 0 0 20px;
	font: 1.857em/1.076 Georgia, serif; /* 26px */
}

h3 {
	font-size: 1.142em; /* 16px */
	line-height: 1.285em; /* 18px */
	margin: 0 0 15px;
	font-weight: bold;
}

h3 a {
	color: #333;
}

h3 a:hover,
h3 a:focus {
	color: #933;
}

p {
	margin: 0 0 16px;
}

a {
	color: #933;
	text-decoration: none;
}

a:hover,
a:focus {
	color: #333;
}

img {
	display: block;
}

strong {
	font-weight: bold;
}

#sharade {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 940px;
	height: 350px;
	background: #fff;
	z-index: 4;
}

/**
 * Structure
 */
#wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 940px;
	border-top: 4px solid #333;
	font-size: 0.875em; /* 14px */
}

#header {
	clear: left;
	position: relative;
	margin: 0 0 30px;
	width: 100%;
}

#content-wrapper {
	float: left;
	width: 90%;
	padding: 0 5%;
	margin: 0 0 20px;
}

#sidebar-left {
	float: left;
	width: 100%;
	margin: 0 0 30px;
}

#subnav {
	display: none;
	width: 100%;
}

#content {
	float: left;
	width: 100%;
	margin: 0 0 30px;
}

#content.content-wide {
	width: 100%;
	margin: 0;
}

#content.canton-content {
	margin: 0 0 60px;
}

#sidebar {
	float: left;
	width: 100%;
}

#footer {
	clear: both;
	float: none;
	padding: 25px 2.127% 10px; /* 20px */
	width: 95.744%; /* 900px */
	background: #C7C8CA;
	font-size: 0.858em; /* 12px */
	line-height: 1.5em; /* 25px */
	text-align: center;
}

.footer__nav {
	margin-top: 16px;
}

/**
 * Header
 */
#header img {
	width: 100%;
}

#header-meta {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding: 10px 0;
	background: rgba(255,255,255,0.4);
	z-index: 3;
}

#meta-left {
	float: left;
	position: relative;
	margin: 0 0 0 2.22%; /* 20px */
	z-index: 3;
}

#meta-left li {
	float: left;
	margin: 0 15px 0 0;
}

#langmenu li {
	float: left;
	margin: 0 0 0 15px;
}

#meta-left a,
#langmenu a {
	color: #009;
}

#meta-left a:hover,
#meta-left a:focus,
#meta-left li.active a,
#langmenu a:hover,
#langmenu a:focus {
	color: #000;
}

#langmenu a.lang-de,
.mobile-meta a.lang-de {
	background: url(../images/de.gif) no-repeat left 50%;
}

#langmenu a.lang-fr,
.mobile-meta a.lang-fr {
	background: url(../images/fr.gif) no-repeat left 50%;
}

#langmenu a {
	display: block;
	padding: 0 0 0 25px;
}

#langmenu {
	float: right;
	position: relative;
	margin: 0 2.22% 0 0; /* 20px */
	z-index: 2;
}

.anniversary {
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 206px;
	height: 39px;
	text-align: center;
	z-index: 1;
	background: rgba(221,250,190,0.5);
}

.anniversary span {
	display: block;
	padding-top: 15px;
	font-size: 0.857em; /* 12px; */
	font-weight: bold;
	line-height: 0.857em; /* 12px; */
}

/**
 * Navigation
 */
#navigation {
	display: none;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 10px 0;
	background: rgba(0,0,0,0.6);
	z-index: 5;
}

#navigation ul {
	float: left;
	margin: 2px 0 0 2.22%; /* 20px */
}

#navigation li {
	float: left;
	margin: 3px 15px 0 0;
}

#navigation li a {
	color: #fff;
	font-weight: bold;
	text-transform: uppercase;
}

#navigation li a:hover,
#navigatioin li a:focus,
#navigation li.active a {
	text-decoration: underline;
}

#subnav ul {
	margin: -10px 0 0;
}

#subnav li {
	border-bottom: 1px solid #ccc;
}

#subnav a {
	display: block;
	color: #000;
	padding: 10px 0;
	font-size: 1.142em; /* 16px */
}

#subnav a:hover,
#subnav a:focus,
#subnav li.active a {
	color: #933;
}

#subnav .third-level-nav {
	margin: 0 0 10px 0;
}

#subnav .third-level-nav li {
	border: none;
}

#subnav .third-level-nav li a {
	padding: 2px 0 2px 20px;
	font-size: 0.867em; /*12px*/
	color: #555;
}

#subnav .third-level-nav li a:hover,
#subnav .third-level-nav li a:focus,
#subnav .third-level-nav li.active a {
	color: #000;
}

.mobile-nav-wrapper {
	position: relative;
	float: left;
	width: 100%;
	background: #333;
	padding: 10px 0 14px;
	z-index: 999;
}

.mobile-nav,
.mobile-search {
	display: none;
	position: absolute;
	left: 0;
	top: 42px;
	width: 100%;
	background: #ccc;
	z-index: 999;
}

.mobile-nav ul li a {
	display: block;
	padding: 12px 0 12px 20px;
	color: #444;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
}

.mobile-nav ul li ul li a {
	background: #ddd;
	color: #333;
	font-weight: normal;
	border-bottom: 1px solid #eee;
}

.mobile-nav .third-level-nav {
	padding: 0 0 0 10px;
	background: #ddd;
}

.mobile-nav ul li.active a,
.mobile-nav ul li.active ul li.active a,
.mobile-nav ul li.active ul li.active ul.third-level-nav li.active a {
	color: #933;
}

.mobile-nav ul li.active ul li a,
.mobile-nav ul li.active ul li.active ul.third-level-nav li a {
	color: #333;
}

.mobile-search {
	padding: 15px 0;
}

.mobile-search form {
	margin: 0 0 0 20px;
}

.nav-trigger {
	float: left;
	margin: 3px 0 0 20px;
	width: 24px;
	height: 12px;
	text-indent: -9999px;
	background: url("../images/main-mobile-control.png") no-repeat;
}

.mobile-meta {
	float: right;
	margin: 0 20px 0 0;
}

.mobile-meta li {
	float: left;
	margin: 0 0 0 25px;
}

.mobile-meta li a,
.mobile-meta li a:hover {
	color: #bbb;
}

.mobile-meta .lang-fr,
.mobile-meta .lang-de {
	padding: 0 0 0 25px;
}

.search-trigger {
	display: block;
	width: 18px;
	height: 18px;
	text-indent: -9999px;
	background: url("../images/search-icon.png") no-repeat;
}

/**
 * Sidebar
 */
.sidebar-box {
	width: 100%;
	float: left;
	margin: 0 0 20px;
	font-size: 0.857em; /*12px*/
	border: 1px solid #ccc;
}

.sidebar-box h3 {
	margin: 0 0 20px;
	padding: 5px 4.45% 5px; /* 10px */
	font-size: 1.166em; /* 14px */
	text-transform: uppercase;
	background: #ccc;
	background: -moz-linear-gradient(top,  #aaaaaa 0%, #cccccc 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#aaaaaa), color-stop(100%,#cccccc));
	background: -webkit-linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	background: -o-linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	background: -ms-linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	background: linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aaaaaa', endColorstr='#cccccc',GradientType=0 );
	
}

.sidebar-gal-item {
	float: left;
	margin: 0 0 20px 20px;
	width: 100px;
}

.sidebar-gal-item a img {
	border: 5px solid #f0f0f0;
}

.sidebar-box .no-gal {
	margin: 0 auto 20px;
	width: 150px;
}

.sidebar-swiss-map {
	margin: 0 auto 20px;
	width: 90.909%; /* 200px */
}

.sidebar-swiss-map img {
	max-width: 100%;
}

.newest-house-item {
	float: left;
	width: 30%;
	margin: 0 0 10px 3%;
}

.newest-house-item img {
	margin: 0 0 10px;
	max-width: 100%;
}

.newest-house-wrapper .newest-house-item:first-child {
	border: none;
}

.gmaps-sidebar {
	margin: 0 auto 20px;
	width: 90.909%; /* 200px */
}

#newest-messages {
	overflow: hidden;
}

#messages-slider {
	width: 22400px;
}

#messages-slider .m-slide {
	float: left;
	width: 200px;
	padding: 0 10px;
}

#messages-slider .message-item {
	float: none;
	width: 100%;
}

.messages-nav {
	clear: both;
	position: relative;
	padding: 0 10px 20px;
}

.messages-nav .m-prev,
.messages-nav .m-next {
	position: absolute;
	left: 180px;
	top: 0;
	width: 6px;
	height: 12px;
	background: url(../images/m-prev.png) no-repeat;
	text-indent: -9999px;
	cursor: pointer;
}

.messages-nav .m-next {
	left: 200px;
	background: url(../images/m-next.png) no-repeat;
}

#messages-empty {
	margin: 0 0 10px 10px;
}

/**
 * Houselist
 */
.house-item {
	float: left;
	width: 100%;
	margin: 0 0 20px;
}

.house-item-image {
	float: left;
	width: 30.43%; /* 140px */
	height: 110px;
	overflow: hidden;
}

.house-item-image img {
	width: 100%;
}

.house-item-info {
	position: relative;
	float: right;
	padding: 10px 0 0;
	width: 65.217%; /* 300px */
	border-top: 1px solid #ccc;
}

.house-item-actions {
	position: static;
}

.house-item-actions li {
	float: left;
	margin: 15px 5px 0 0;
}

.house-item-wheelchair {
	clear: both;
	padding: 3px 0 0;
}

.house-item-wheelchair h4 {
	float: left;
	margin: 0 10px 0 0;
	font-weight: bold;
}

.result-count {
	margin: 0 0 20px;
}

#canton-map {
	position: relative;
}

#mappoint {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
}

#swiss-map-image {
	z-index: 1;
}

.canton {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}

.canton.show {
	display: block;
}

.canton img {
	display: none;
	position: absolute;
}

.canton.show .inactive {
	display: block;
}

.canton.act,
.canton.act .active,
.canton.showactive,
.canton.showactive .active {
	display: block;
}

#canton_vs {
	left: 87px;
	top: 173px;
}

#canton_ge {
	left: 6px;
	top: 223px;
}

#canton_vd {
	left: 18px;
	top: 128px;
}

#canton_ne {
	left: 56px;
	top: 102px;
}

#canton_fr {
	left: 88px;
	top: 124px;
}

#canton_be {
	left: 99px;
	top: 80px;
}

#canton_ju {
	left: 97px;
	top: 53px;
}

#canton_so {
	left: 145px;
	top: 56px;
}

#canton_bl {
	left: 148px;
	top: 47px;
}

#canton_bs {
	left: 161px;
	top: 40px;
}

#canton_lu {
	left: 193px;
	top: 84px;
}

#canton_ag {
	left: 182px;
	top: 37px;
}

#canton_ow {
	left: 212px;
	top: 128px;
}

#canton_nw {
	left: 230px;
	top: 125px;
}

#canton_ur {
	left: 249px;
	top: 128px;
}

#canton_sz {
	left: 248px;
	top: 93px;
}

#canton_zg {
	left: 247px;
	top: 92px;
}

#canton_gl {
	left: 296px;
	top: 99px;
}

#canton_zh {
	left: 245px;
	top: 25px;
}

#canton_sh {
	left: 248px;
	top: 10px;
}

#canton_th {
	left: 274px;
	top: 25px;
}

#canton_sg {
	left: 287px;
	top: 47px;
}

#canton_ar {
	left: 326px;
	top: 55px;
}

#canton_ai {
	left: 337px;
	top: 68px;
}

#canton_gr {
	left: 274px;
	top: 113px;
}

#canton_ti {
	left: 248px;
	top: 178px;
}

#canton-trans {
	display: none;
}

#canton-selected {
	display: none;
	margin: 0 0 20px;
}

/**
 * House
 */
#housedesc {
	float: left;
	width: 100%;
	margin: 0 0 20px;
}

#housedesc p img {
	clear: left;
	max-width: 100%;
	margin: 0 0 20px;
}

#housedesc span.border {
	float: left;
	margin: 0 0 10px;
	width: 100%;
	border-top: 1px solid #ccc;
}

#house-meta {
	float: left;
	margin: 0 0 20px;
	padding: 5px 0;
	width: 100%;
	border: solid #ccc;
	border-width: 1px 0;
}

#house-meta.house-meta-empty {
	border-width: 5px 0 0;
}

#house-meta li {
	float: left;
	margin: 0 20px 0 0;
}

#house-meta .meta-reservation a {
	font-weight: bold;
	padding: 0 0 0 23px;
	background: url(../images/booking.gif) left top no-repeat;
}

#house-meta .meta-facebook a {
	font-weight: bold;
	padding: 0 0 0 23px;
	color: #039;
	background: url(../images/facebook.png) left top no-repeat;
}

#house-meta .meta-facebook a:hover,
#house-meta .meta-facebook a:focus {
	color: #000;
}

#housedetails h4 {
	margin: 0 0 5px 0;
	font-weight: bold;
}

.housedesc-mobile-links li {
	margin-bottom: 5px;
}

/**
 * Gallery
 */
.gal-item {
	float: left;
	margin: 0 20px 20px 0;
	width: 120px;
	height: 200px;
	font-size: 0.857em; /*12px*/
}

.gal-item h3 {
	position: relative;
	margin: 5px 0 0;
	font-size: 1em; /*12px*/
}

.gal-desc-wrap {
	display: none;
	position: absolute;
	left: -280px;
	bottom: 25px;
	z-index: 100;
}

.gal-desc {
	display: block;
	width: 300px;
	padding: 20px;
	background: #ccc;
}

.gal-arrow {
	margin: 0 0 0 220px;
}

.gal-desc-trigger {
	display: block;
	width: 30px;
	height: 30px;
}

.gal-desc-trigger img {
	float: left;
	margin: 7px 0 0;
	cursor: pointer;
}

.plan .gal-item {
	width: 460px;
	height: auto;
}

/**
 * Google maps
 */
.gmap-address {
	display: none;
}

#gmap-single {
	float: left;
	width: 100%;
	height: 460px;
}

#gmaps {
	position: absolute;
	left: -9999px;
	top: -9999px;
	float: left;
	width: 100%;
	max-width: 860px;
	height: 500px;
}

#gmaps-home {
	margin: 0 0 20px;
	padding: 0 0 20px;
}

.gmaps-home-inner {
	padding-top: 10px;
}

.gmaps-overlay {
	display: block;
	position: relative;
}

.gmaps-overlay img {
	width: 100%;
}

.gmaps-overlay:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, .3);
	z-index: 1;
	transition: background 250ms ease;
}

.gmaps-overlay:hover:before {
	background: rgba(255, 255, 255, .1);
}

/**
 * Guestbook
 */
#guestbook dl {
	float: left;
	width: 100%;
	padding: 0 0 20px;
	margin: 0 0 20px;
	border-bottom: 1px dotted #ccc;
}
#guestbook dt {
	float: left;
	margin: 0 0 5px;
	width: 32.60%; /* 150px */
	font-weight: bold;
}

#guestbook dd {
	float: right;
	margin: 0 0 5px;
	width: 67.39%; /* 310px */
}

/**
 * Links
 */
#house-links li {
	margin: 0 0 10px;
}

#house-links li span {
	display: block;
	font-size: 0.785em; /*11px*/
}

/**
 * Guide
 */
#guide ul {
	margin: 0 0 16px;
}

#guide li {
	list-style: disc;
	margin: 0 0 0 30px;
}

#guide ol li {
	margin-bottom: 10px;
	list-style: decimal;
}

/**
 * Calendar
 */
#housecalendar-iframe {
	width: 100%;
	height: 1150px;
	overflow: hidden;
}

.calendar-legend-title {
	margin: 0 0 10px 0;
	font-weight: bold;
}

#calendar-legend {
	float: left;
	margin: 0 0 20px;
}

#calendar-legend li {
	float: left;
	margin: 0 10px 10px 0;
}

#calendar-legend li .legend-color {
	float: left;
	margin: 1px 5px 0 0;
	width: 15px;
	height: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-o-border-radius: 15px;
	border-radius: 15px;
}

#calendar-legend li .free {
	background: #6DC067;
}

#calendar-legend li .legend-prereservation {
	background: #F0E124;
}

#calendar-legend li .full {
	background: #E52C3A
}

#calendar-legend li .arrival-departure {
	background: #CF8733;
}

#calendar-legend li .legend-club {
	background: #48A4FF;
}

.calendar-last-updated {
	clear: left;
}

/**
 * Page search
 */
.search-result-item {
	width: 100%;
	margin: 0 0 20px;
}

.search-result-item h4 a {
	font-size: 1.143em;
}

/**
 * Reservation
 */
.res-heading span {
	display: block;
	margin: 5px 0 0;
	color: #888;
}

.res-calendar {
	float: left;
	width: 100%;
}

.res-calendar #quickCalendar .calendar {
	margin: 0 auto 30px;
	float: none;
}

.res-title {
	float: left;
	margin: 0 0 20px;
	padding: 2px 0;
	width: 100%;
	background: #ccc;
	background: -moz-linear-gradient(top,  #aaaaaa 0%, #cccccc 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#aaaaaa), color-stop(100%,#cccccc));
	background: -webkit-linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	background: -o-linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	background: -ms-linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	background: linear-gradient(top,  #aaaaaa 0%,#cccccc 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aaaaaa', endColorstr='#cccccc',GradientType=0 );
}

.res-title h3 {
	margin: 0;
	width: 100%;
	font-size: 1em; /*14px*/
	text-align: center;
	text-transform: uppercase;
}

.res-nav {
	float: left;
	position: relative;
	padding: 8px 0;
	width: 100%;
	background: #f0f0f0;
	border: solid #aaa;
	border-width: 1px 0;
}

.res-nav .step {
	margin: 0;
	width: 100%;
	text-align: center;
}

.res-nav .res-button {
	position: absolute;
	top: 5px;
	padding: 3px 0;
	width: 80px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
	background: #666;
	background: -moz-linear-gradient(top,  #333 0%, #666 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#333), color-stop(100%,#666));
	background: -webkit-linear-gradient(top,  #333 0%,#666 100%);
	background: -o-linear-gradient(top,  #333 0%,#666 100%);
	background: -ms-linear-gradient(top,  #333 0%,#666 100%);
	background: linear-gradient(top,  #333 0%,#666 100%);
}

.res-nav .res-button-left {
	left: 10px;
}

.res-nav .res-button-right {
	right: 10px;
}

.res-nav .res-button a {
	display: block;
	font-size: 0.857em; /*12px*/
	color: #fff;
	text-transform: uppercase;
	text-align: center;
}

.res-nav .res-button input {
	padding: 1px 0 0;
	margin: 0;
	display: block;
	width: 80px;
	background: none;
	border: none;
	font-size: 1em; /*12px*/
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
}

.res-step-list {
	margin: 0 0 20px;
}

.res-step-list li {
	margin: 0 0 8px;
}

.res-step-list span {
	float: left;
	width: 80px;
}

#hbk-date label {
	display: block;
	clear: both;
	width: 140px;
	margin: 0 0 8px;
	font-weight: bold;
}

#hbk-date select {
	float: left;
	margin: 0 5px 0 0;
}

#hbk-date .form-row {
	float: left;
	margin: 0 0 10px;
	width: 100%;
}

#hbk-date fieldset {
	float: left;
	margin: 0 0 20px;
	padding: 0 0 20px;
	width: 100%;
	border-bottom: 1px solid #ccc;
}

#hbk-date .persons:not(.persons-border),
#hbk-date .seminarroom {
	border: none;
}

#hbk-date fieldset h4 {
	font-weight: bold;
}

#hbk-date fieldset p {
	margin: 0;
}

#hbk-date fieldset div {
	width: 100%;
	margin: 0 0 10px;
}

#hbk-date input[type="checkbox"] {
	float: left;
	margin: 1px 5px 0 0;
}

#hbk-date .beds div {
	float: left;
	width: 100%;
}

#hbk-date .check-label,
#hbk-date .beds-label,
#hbk-date .seminar-room-label {
	float: left;
	clear: none;
	width: auto;
	font-weight: normal;
}

#hbk-date #hbk_beds {
	float: left;
	margin: 0 5px 0 0;
}

#hbk-date .bed-input {
	width: auto !important;
	margin: 0;
	float: none;
}

.res-error {
	font-size: 0.857em; /*12px*/
	color: #f00;
}

.res-error-field {
	clear: both;
	display: block;
	padding-top: 6px;
}

#res-time {
	float: left;
	width: 100%;
	margin: 0 0 40px;
}

#res-time td {
	width: 150px;
	padding: 2px 0;
}

#res-time th {
	padding: 2px 0;
	font-weight: bold;
	border: solid #ccc;
	border-width: 1px 0;
}

.time-warning strong {
	color: #f00;
}

.time-warning em {
	font-style: italic;
}

#hbk-particulars label {
	display: block;
	font-weight: bold;
}

#hbk-particulars .row {
	float: left;
	width: 100%;
	margin: 0 0 5px;
}

#hbk-particulars fieldset {
	margin: 0 0 20px;
}

#hbk-particulars #hbk_address2 {
	margin: 5px 0 0 0;
}

#hbk-particulars #hbk_zip {
	float: left;
	margin: 0 5px 0 0;
	width: 50px;
}

#res-tel-table {
	width: 100%;
	margin: 0 0 40px;
}

#res-tel-table td {
	padding: 3px 0;
}

#res-tel-table td input {
	width: 80px;
}

#res-tel-table th {
	padding: 3px 0;
	border: solid #ccc;
	border-width: 1px 0;
	font-weight: bold;
}

.errortitle {
	color: #f00;
}

.errorlist {
	margin: 0 0 20px;
	color: #f00;
	font-size: 0.857em; /*12px*/
}

.res-def {
	float: left;
	margin: 0 0 20px;
	width: 100%;
}

.res-def dt {
	float: left;
	margin: 0 0 5px;
	width: 150px;
	font-weight: bold;
}

.res-def dd {
	margin: 0 0 5px;
}

.res-table {
	margin: 0 0 20px;
}

.res-table td {
	padding: 3px 0;
	width: 150px;
}

.res-table td.hint-text {
	width: 300px;
}

.res-table th {
	padding: 3px 0;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
}

#res-confirm-form fieldset {
	float: left;
	width: 100%;
	margin: 0 0 20px;
}

#res-confirm-form label {
	float: left;
	width: 150px;
	font-weight: bold;
}

#res-confirm-form input[type="checkbox"] {
	float: left;
	margin: 2px 10px 0 20px;
}

#agb-desc {
	padding: 15px 0 0;
	clear: both;
	width: 250px;
}

#res-confirm-form .fld-last {
	border-bottom: 1px solid #ccc;
}

#res-confirm-form input[type="submit"] {
	clear: left;
	display: block;
	margin: 0 auto 40px;
	padding: 5px 0;
	width: 300px;
	border: none;
	font-size: 1.142em; /*16px*/
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-o-border-radius: 15px;
	border-radius: 15px;
	background: #7CC952;
	background: -moz-linear-gradient(top,  #5F9D3E 0%, #7CC952 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5F9D3E), color-stop(100%,#7CC952));
	background: -webkit-linear-gradient(top,  #5F9D3E 0%,#7CC952 100%);
	background: -o-linear-gradient(top,  #5F9D3E 0%,#7CC952 100%);
	background: -ms-linear-gradient(top,  #5F9D3E 0%,#7CC952 100%);
	background: linear-gradient(top,  #5F9D3E 0%,#7CC952 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5F9D3E', endColorstr='#7CC952',GradientType=0 );
	text-shadow: 1px 1px 1px #ffffff;
	filter: dropshadow(color=#ffffff, offx=1, offy=1);
	-moz-box-shadow: 2px 2px 2px #333333;
	-webkit-box-shadow: 2px 2px 2px #333333;
	-o-box-shadow: 2px 2px 2px #333333;
	box-shadow: 2px 2px 2px #333333;
	cursor: pointer;
}

#agb {
	display: none;
}

#agb ol {
	list-style: decimal;
}

#agb ol li {
	margin: 0 0 10px 30px;
}

#agb ol li em {
	font-style: italic;
}

/**
 * Content
 */
#social-home li {
	float: left;
	margin: 0 10px 20px 0;
}

#social-home li.facebook-home a,
#social-home li.twitter-home a {
	display: block;
	width: 30px;
	height: 30px;
	text-indent: -9999px;
	background: url(../images/facebook-home.png) no-repeat;
}

#social-home li.twitter-home a {
	background: url(../images/twitter-home.png) no-repeat;
}

#sitemap ul {
	margin: 0 0 20px;
}

#sitemap ul li ul {
	margin: 0;
}

#sitemap ul li {
	list-style: disc;
	margin: 0 0 0 30px;
}

#sitemap ul li ul li {
	list-style: circle;
}

#ext-links ul {
	margin: 0 0 30px;
}

#ext-links li {
	margin: 0 0 5px;
}

.theme-button {
	padding: 10px 20px;
	background: #ddd;
	color: #333;
	transition: 150ms background ease-in-out;
	border-radius: 3px;
}

.theme-button:hover,
.theme-button:focus {
	background: #ccc;
}

/**
 * Footer
 */
#footer span a,
#footer-right a {
	color: #333;
}

.footer__mail {
	padding-right: 15px;
}

/**
 * Forms
 */
#navigation form {
	float: right;
	margin: 0 8px 0 0;
}

#navigation form label,
.mobile-search form label{
	position: absolute;
	left: -9999px;
	top: -9999px;
}

#navigation form input[type="text"],
.mobile-search form input[type="text"] {
	float: left;
	margin: 0 3px 0 0;
	padding: 2px;
	border: 4px solid #000;
	font-size: 0.857em; /*12px*/
	height: 18px;
	color: #666;
	background: #fff;
	background: -moz-linear-gradient(top,  #ddd 0%, #fff 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ddd), color-stop(100%,#fff));
	background: -webkit-linear-gradient(top,  #ddd 0%,#fff 100%);
	background: -o-linear-gradient(top,  #ddd 0%,#fff 100%);
	background: -ms-linear-gradient(top,  #ddd 0%,#fff 100%);
	background: linear-gradient(top,  #ddd 0%,#fff 100%);
}

.mobile-search form input[type="text"] {
	width: 200px;
}

#navigation form input[type="text"]:focus,
.mobile-search form input[type="text"]:focus {
	background: #fff;
}

#navigation form input[type="submit"],
.mobile-search form input[type="submit"] {
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	background: url(../images/search-arrow.png) no-repeat;
	text-indent: -9999px;
}

.housesearch-form div {
	float: left;
	margin: 0 0 5px;
	width: 100%;
}

.housesearch-form label {
	display: block;
	margin-bottom: 5px;
}

.housesearch-form select {
	width: 100%;
	padding: 5px;
}

.housesearch-form .date-select {
	float: left;
	width: auto;
	margin: 0 5px 0 0;
}

.housesearch-form input[type="text"],
.housesearch-form input[type="number"] {
	width: calc(100% - 10px);
	padding: 5px;
}

.housesearch-form input[type="number"] {
	width: 25%;
}

.housesearch-form .form-row {
	margin-bottom: 15px;
}

.housesearch-form .form-row.checkbox--small {
	margin-bottom: 7px;
}

.housesearch-form .form-row.checkbox input {
	float: left;
	margin-right: 7px;
}

.housesearch-form legend {
	font-weight: bold;
	padding-top: 12px;
	margin-bottom: 14px;
}

.housesearch-form input[type=submit],
#cantonsearch-form input[type="submit"] {
	clear: both;
	margin: 15px 0 0 0;
	padding: 5px 20px;
	width: 100%;
}

#cantonsearch-form input[type="submit"] {
	width: auto;
}

.home-search-form {
	overflow: auto;
	margin-bottom: 5px;
}

.home-search-form ::placeholder {
	color: #777;
	opacity: 1;
}

.home-search-form :-ms-input-placeholder {
	color: #777;
}

.home-search-form ::-moz-placeholder {
	color: #777;
}

.home-search-form ::-webkit-input-placeholder {
	color: #777;
}

.home-search-form #src-location,
.home-search-form #src-cantons,
.home-search-form #src-beds {
	color: #777;
}

.home-search-form #src-cantons.changed,
.home-search-form #src-cantons option,
.home-search-form #src-location.changed,
.home-search-form #src-location option,
.home-search-form #src-beds.changed,
.home-search-form #src-beds option {
	color: #333;
}

.home-search-form label {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

.home-search-form input,
.home-search-form select {
	width: 100%;
	height: 37px;
	padding: 10px 5px;
	font-size: 1em;
	color: #444;
	box-sizing: border-box;
	border-radius: 3px;
	border: 1px solid #a7a7a7;
	transition: 100ms border-color ease-in-out;
}

.home-search-form input {
	-webkit-appearance: none;
}

.home-search-form input:hover,
.home-search-form select:hover {
	border-color: #666;
}

.home-search-form input {
	padding-left: 33px;
}

.home-search-form select {
	padding: 0 5px;
}

.home-search-form div {
	position: relative;
	float: left;
}

.home-searchbox .form-row::before {
	font-family: "fontello";
	position: absolute;
	left: 9px;
	top: 6px;
	color: #888;
	font-size: 18px;
}

.home-searchbox .form-row {
	width: 100%;
	margin-bottom: 15px;
}

.home-text-search::before {
	content: '\f50d';
}

.home-arrival-search::before,
.home-departure-search::before {
	content: '\e800';
	pointer-events: none;
}

.home-searchbox .home-beds-search::before {
	content: '\f064';
	top: 7px;
	font-size: 16px;
	opacity: .9;
}

.home-search-form input[type="submit"] {
	border: none;
	background: #79B208;
	border-radius: 3px;
	width: 100%;
	padding: 0;
	margin-bottom: 20px;
	color: #fff;
	font-size: 1em;
	height: 37px;
	cursor: pointer;
	transition: background 0.3s ease;
	-webkit-appearance: none;
}

.home-search-form input[type="submit"]:hover,
.home-search-form input[type="submit"]:focus {
	background: #689907;
}

.home-search-extended-link {
	
}

#hse-search-cantons {
	width: 100%;
	float: left;
	margin: 0 0 20px;
}

#hse-search-particulars-field {
	float: left;
	width: 100%;
}

#guestbook-form {
	padding: 20px;
	background: #f0f0f0;
}

#guestbook-form label {
	display: block;
	font-weight: bold;
	font-size: 0.857em; /*12px*/
}

#guestbook-form input,
#guestbook-form textarea {
	margin: 0 0 8px;
}

#guestbook-form textarea {
	width: 100%;
}

#guestbook-form input[type=checkbox] {
	float: left;
	margin: 0 5px 0 0;
}

#guestbook-form input[type=submit] {
	clear: left;
	margin: 20px 0 0;
}

#guestbook-form label span {
	padding: 0 0 0 2px;
	color: #f00;
}

#guestbook-form .error,
#contact-form .error {
	padding: 2px;
	border: 1px solid #FC9C9C;
}

#guestbook-form .check-error,
#contact-form .check-error {
	color: #DF5555;
}

.guestbook-check-message {
	padding: 10px 20px;
	background: #ffd325;
}

#contact-form {
	float: left;
	padding: 20px 4.76%; /*20px*/
	width: 90.48%; /* 380px */
	background: #f0f0f0;
}

#contact-form label {
	display: block;
	font-size: 0.857em; /*12px*/
	font-weight: bold;
}

#contact-form label span {
	color: #f00;
}

#contact-form div {
	margin: 0 0 8px;
}

#contact-form input[type="checkbox"] {
	float: left;
	margin: 0 5px 0 0;
}

#contact-form textarea {
	width: 100%;
}

#contact-send {
	padding: 20px 4.76%; /*20px*/
	width: 90.48%; /* 380px */
	background: #B1EA95;
}

#contact-send p {
	margin: 0;
}

/**
 * Home
 */
.home-section {
	clear: both;
	width: 100%;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.home-search {
	display: none;
	border-bottom: 1px solid #ddd;
}

.home-welcome {
	display: none;
	text-align: center;
}

.home-main-welcome {
	width: 100%;
}

.home-main::after {
	content: "";
	clear: both;
	display: table;
}

.home-searchbox {
	width: 100%;
	border: 1px solid #ccc;
	background: #f7f7f7;
	padding: 20px 10px;
	margin-bottom: 30px;
	box-sizing: border-box;
}

.searchbox-title {
	margin-bottom: 11px;
	font-size: 1em;
}

.home-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; 
	flex-wrap: wrap;
	justify-content: space-between;
}

.home-houses {
	padding-top: 20px;
	position: relative;
}

.home-additional {
	padding-top: 25px;
}

.home-houses .house-item,
.home-additional-item {
	width: 100%;
	float: left;
}

.home-houses-link-wrap {
	padding-top: 14px;
	text-align: center;
}

.home-houses-link {
	display: inline-block;
}

.home-additional-item #messages-slider .m-slide {
	padding: 0;
}

.additional-item-text {
	padding-top: 20px;
}

.home-swiss-map {
	padding-top: 10px;
}

.home-swiss-map img {
	width: 100%;
}

.card {
	position: relative;
	border: 1px solid #e7ebee;
	box-shadow: 0 4px 14.4px 1.6px rgba(49,49,49,.08);
	box-sizing: border-box;
	padding-bottom: 20px;
}

.card:hover,
.card:focus {
	text-decoration: none;
}

.card-image-wrap {
	height: 153px;
	overflow: hidden;
	position: relative;
}

.card-image {
	width: 110%;
}

.card-read-more {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 153px;
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	background: rgba(51,51,51,.8);
	transition: 150ms all ease-in-out;
}

.card:hover .card-read-more {
	visibility: visible;
	opacity: 1;
}

.card-content {
	padding: 25px 22px 22px;
}

.card-title {
	color: #333;
	font-weight: bold;
	font-size: 16px;
	margin: 0 0 10px;
}

.card-desc {
	color: #333;
	list-style: none;
	margin: 0;
	padding: 0;
}

.card-mobile-more {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: 12px;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 12px;
	padding-top: 15px;
}

.home-banner {
	margin-top: 23px;
	padding-top: 40px;
	border-top: 1px solid #ccc;
}

.home-banner ul {
	list-style: disc;
	padding-left: 40px;
	margin-bottom: 16px;
}

.home-banner-text ul:first-of-type + p {
	margin-bottom: 8px;
}

.home-banner-image {
	display: block;
	width: 100%;
}

.home-banner-link {
	display: block;
	max-width: 170px;
}

.home-banner-col:first-child {
	margin-bottom: 40px;
}

.cookiebanner {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	background: #ddd;
	padding: 30px 0;
	display: none;
	min-height: 50px;
	z-index: 1001;
}

.cookiebanner.visible {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cookiebanner__infobox {
	width: 100%;
	text-align: center;
}

.cookiebanner__infobox p {
	display: inline-block;
	margin: 0 0 20px;
}

.cookiebanner__button {
	display: inline-block;
	padding: 10px 20px;
	background: #79B208;
	color: #fff;
	border-radius: 3px;
	transition: background 0.3s ease;
	-webkit-appearance: none;
}

.cookiebanner__button:hover,
.cookiebanner__button:focus {
	background: #689907;
	color: #fff;
}

.content-list {
	margin: 0 0 20px;
}

.content-list li {
	list-style: disc;
	margin: 0 0 0 30px;
}

/**
 * Media Queries
 */
@media only screen and (min-width: 480px) {
	#res-tel-table td input {
		width: 100px;
	}
}

@media only screen and (min-width: 520px) {
	.home-houses .house-item,
	.home-additional-item {
		width: 48%;
	}
	
	.home-searchbox {
		padding: 20px;
	}
	
	.home-searchbox .form-row {
		width: calc(50% - 5px);
	}
	
	.home-searchbox .form-row:nth-child(even) {
		margin-right: 5px;
	}
	
	.home-searchbox .form-row:nth-child(odd) {
		margin-left: 5px;
	}
	
	.home-search-extended-link {
		float: right;
	}
	
	.home-search-form input[type="submit"] {
		width: 93px;
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 768px) {
	body {
		background: -moz-linear-gradient(top,  #eeeeee 0%, #ffffff 560px);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(560px,#ffffff));
		background: -webkit-linear-gradient(top,  #eeeeee 0%,#ffffff 560px);
		background: -o-linear-gradient(top,  #eeeeee 0%,#ffffff 560px);
		/*background: -ms-linear-gradient(top,  #eeeeee 0%,#ffffff 560px);*/
		background: linear-gradient(top,  #eeeeee 0%,#ffffff 560px);
	}
	
	#wrapper {
		width: 90%;
	}
	
	#content-wrapper {
		width: 100%;
		margin: 0 0 100px 0;
		padding: 0;
	}
	
	#subnav {
		display: block;
		float: left;
		margin: 0 0 30px;
		width: 23.4%; /* 220px */
	}

	#content {
		margin: 0 0 30px 2.127%; /* 20px */
		width: 74.473%; /* 700px */
	}
	
	#content.canton-content {
		margin: 0 0 60px 2.127%; /* 20px */
	}
	
	#navigation {
		display: block;
	}
	
	#header-meta {
		display: block;
	}
	
	#footer {
		clear: none;
		float: left;
		margin: 0 0 80px;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	
	.footer__left {
		float: left;
		margin: 0;
	}
	
	.footer__right {
		float: right;
		margin: 0;
	}

	.footer__right-info {
		text-align: right;
	}

	.footer__nav {
		display: flex;
		margin-top: 5px;
	}

	.footer__nav li {
		margin-left: 10px;
	}
	
	h1 a {
		left: 20px;
		top: 80px;
	}
	
	.house-item-actions {
		position: absolute;
		right: 0;
		top: 10px;
	}
	
	.house-item-actions li {
		float: none;
		margin: 0 0 5px;
	}
	
	.house-item-info__title {
		padding-right: 20px;
	}
	
	#housedesc p img {
		clear: none;
		float: right;
		width: 49.96%; 
		margin: 0 0 20px 2.22%; /* 20px */
	}
	
	#housedesc span.border {
		float: left;
		margin: 0 0 10px;
		width: 47.82%; /* 220px */
		border-top: 1px solid #ccc;
	}
	
	.housedesc-mobile-links {
		display: none;
	}
	
	#hbk-date fieldset h4 {
		float: left;
		width: 140px;
	}

	#hbk-date fieldset p {
		float: right;
		width: calc(100% - 140px);
	}
	
	#hbk-date label {
		float: left;
		margin: 0;
	}
	
	#hbk-particulars label {
		float: left;
		width: 160px;
	}
	
	#hbk-particulars #hbk_address2 {
		margin: 5px 0 0 160px;
	}
	
	#res-tel-table td {
		width: 150px;
	}
	
	#agb-desc {
		clear: none;
		float: left;
		width: 250px;
		padding: 0;
	}
	
	#housecalendar-iframe {
		width: 480px;
		height: 680px;
		overflow: hidden;
	}
	
	.housesearch-form select {
		padding: 2px 5px;
		width: 50%;
		box-sizing: border-box;
	}
	
	.housesearch-form input[type="text"],
	.housesearch-form input[type="number"] {
		padding: 2px 5px;
		width: 50%;
		box-sizing: border-box;
	}

	.housesearch-form input[type="number"] {
		width: 25%;
	}
	
	.housesearch-form input[type=submit] {
		width: auto;
	}
	
	.card {
		padding-bottom: 0;
	}
	
	.card-mobile-more {
		display: none;
	}
	
	.home-houses .house-item,
	.home-additional-item {
		width: 32%;
	}
	
	.home-welcome {
		position: relative;
		padding-top: 23px;
	}

	.home-additional {
		padding-top: 65px;
	}

	.home-houses {
		padding-top: 20px;
	}
	
	.home-searchbox {
		float: right;
		width: 45%;
		margin-bottom: 0;
	}
	
	.home-main-welcome {
		float: left;
		width: 51%;
	}

	.home-banner {
		display: flex;
		gap: 20px;
	}

	.home-banner-link {
		max-width: none;
	}

	.home-banner-col:first-child {
		width: calc(100% - 200px);
		margin-bottom: 0;
	}

	.home-banner-col:last-child {
		width: 180px;
	}
}

@media only screen and (min-width: 860px) {
	#content,
	#content.content-wide	{
		margin: 0 0 30px 2.127%; /* 20px */
		width: 48.936%; /* 460px */
	}
	
	#content.canton-content {
		width: 74.473%; /* 700px */
	}

	#sidebar {
		float: auto;
		float: right;
		width: 23.4%; /* 220px */
	}
	
	#sidebar.sidebar-canton {
		float: left;
		width: 100%;
	}
	
	#sidebar-left {
		width: 23.4%; /* 220px */
	}

	.sidebar-box {
		width: auto;
		float: none;
	}
	
	.sidebar-gal-item {
		float: none;
		margin: 0 auto 20px;
	}
	
	.newest-house-item {
		float: none;
		width: 90%; /* 200px */
		margin: 0 0 10px;
		padding: 10px 5%; /* 10px */
		border-top: 1px solid #ccc;
	}
}

@media only screen and (min-width: 1024px) {
	#content.canton-content {
		width: 48.936%; /* 460px */
	}
	
	#sidebar.sidebar-canton {
		float: auto;
		float: right;
		width: 23.4%; /* 220px */
	}
	
	.housesearch-form .form-row label {
		float: left;
		width: 173px;
	}
	
	.housesearch-form .form-row.checkbox label {
		width: auto;
	}
	
	.housesearch-form .form-row.checkbox {
		padding-left: 169px;
	}
	
	.housesearch-form legend,
	.housesearch-form input[type=submit] {
		margin-left: 171px;
	}

	.cookiebanner.visible {
		flex-direction: row;
	}

	.cookiebanner__infobox p {
		max-width: 40%;
		margin: 0;
	}

	.cookiebanner__button {
		position: absolute;
		right: 30px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
