/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media screen {
	
	html {
		height:100%;
	}
	
	body {
		position:relative;
		margin:0;
		font-family:rig-sans,sans-serif;
		font-size:18px;
		font-weight:500;
		line-height:140%;
		color:#222;
	}
	
	.site_maxwidth {
		max-width:1920px;
		margin:0 auto;
	}
	
	.panel_maxwidth {
		width:90%;
		max-width:1600px;
		margin:0 auto;
	}
	
	.panel_padding {
		padding:32px 0;
	}
	
	p {
		margin:0.75em 0;
	}
	
	h1,h2,h3,h4 {
		line-height:105%;
		margin-top:1.25em;
		margin-bottom:0.75em;
		font-weight:600;
	}
	
	h1 {
		font-size:2em;
	}
	
	h2 {
		font-size:1.8em;
	}
	
	h3 {
		font-size:1.6em;
	}
	
	h4 {
		font-size:1.2em;
	}
	
	a {
		color:#222;
	}
	
	p:first-child,
	h1:first-child,
	h2:first-child,
	h3:first-child,
	h4:first-child,
	h5:first-child {
		margin-top:0;
	}
	
	p:last-child,
	h1:last-child,
	h2:last-child,
	h3:last-child,
	h4:last-child,
	h5:last-child {
		margin-bottom:0;
	}
	
	.page_headline {
		font-size:2.2em;
	}
	
	.page_headline.not_in_banner {
		color:#003559;
	}
	
	.panel_headline {
		color:#003559;
	}
	
	.page_basic_content figure {
		margin:1em 0;
	}
	
	.page_basic_content figure img {
		width:auto;
		height:auto;
		max-width:100%;
		vertical-align:top;
	}
	
	.page_basic_content figure iframe {
		max-width:100%;
	}
	
	.page_basic_content figcaption {
		padding:8px 0;
		border-bottom:1px solid #eee;
		color:#666;
		font-size:0.9em;
		line-height:110%;
	}
	
	.page_basic_content ul,
	.page_basic_content ol {
		padding:0 0 0 16px;
	}
	
	.page_basic_content ul li,
	.page_basic_content ol li {
		margin:8px 0;
		line-height:120%;
	}
	
	/* -------- forms -------- */
	
	.fui-i {
		font-family:rig-sans,sans-serif;
	}
	
	.form *,
	.fui-form * {
		box-sizing:border-box;
	}
	
	.form input[type='text'],
	.form input[type='number'],
	.form input[type='tel'],
	.form input[type='email'],
	.form input[type='search'],
	.form input[type='url'],
	.form input[type='password'],
	.fui-form input[type='text'],
	.fui-form input[type='number'],
	.fui-form input[type='tel'],
	.fui-form input[type='email'],
	.fui-form input[type='search'],
	.fui-form input[type='url'],
	.fui-form input[type='password'] {
		width:100%;
		height:40px;
		padding:0 8px;
		border:1px solid #ccc;
		border-bottom-width:2px;
		background-color:#fff;
		color:#222;
	}
		
	.form input[type='text']:focus,
	.form input[type='number']:focus,
	.form input[type='tel']:focus,
	.form input[type='email']:focus,
	.form input[type='search']:focus,
	.form input[type='url']:focus,
	.form input[type='password']:focus,
	.fui-form input[type='text']:focus,
	.fui-form input[type='number']:focus,
	.fui-form input[type='tel']:focus,
	.fui-form input[type='email']:focus,
	.fui-form input[type='search']:focus,
	.fui-form input[type='url']:focus,
	.fui-form input[type='password']:focus {
		border-color:#666;
		outline:4px solid rgba(100,100,100,0.2);
		box-shadow:none;
	}
	
	.form input[type='text']:invalid:focus,
	.form input[type='number']:invalid:focus,
	.form input[type='tel']:invalid:focus,
	.form input[type='email']:invalid:focus,
	.form input[type='search']:invalid:focus,
	.form input[type='url']:invalid,
	.form input[type='password']:invalid:focus
	.fui-form input[type='text']:invalid:focus,
	.fui-form input[type='number']:invalid:focus,
	.fui-form input[type='tel']:invalid:focus,
	.fui-form input[type='email']:invalid:focus,
	.fui-form input[type='search']:invalid:focus,
	.fui-form input[type='url']:invalid,
	.fui-form input[type='password']:invalid:focus {
		border-bottom-color:#c00;
	}
	
	.form input[type='text'][readonly],
	.form input[type='number'][readonly],
	.form input[type='tel'][readonly],
	.form input[type='email'][readonly],
	.form input[type='search'][readonly],
	.form input[type='url'][readonly],
	.form input[type='password'][readonly],
	.fui-form input[type='text'][readonly],
	.fui-form input[type='number'][readonly],
	.fui-form input[type='tel'][readonly],
	.fui-form input[type='email'][readonly],
	.fui-form input[type='search'][readonly],
	.fui-form input[type='url'][readonly],
	.fui-form input[type='password'][readonly] {
		border-color:#eee;
		color:#666;
		background-color:#fcfcfc;
	}
	
	.form textarea,
	.fui-form textarea{
		width:100%;
		min-height:128px;
		border:1px solid #ccc;
		border-bottom-width:2px;
		background-color:#fff;
		padding:8px;
		color:#222;
	}
	
	.form textarea:focus,
	.fui-form textarea:focus {
		border-color:#666;
		outline:4px solid rgba(100,100,100,0.2);
		box-shadow:none;
	}
	
	.form textarea:invalid:focus,
	.fui-form textarea:invalid:focus {
		border-bottom-color:#c00;
	}
	
	.form .req,
	.fui-form .req {
		color:#3c92d7;
	}
	
	.form .freeform-row,
	.form .row,
	.fui-form .fui-row {
		display:flex;
		flex-direction:column;
		margin:0 -8px;
	}
	
	.form .freeform-row.hide,
	.form .row.hide,
	.fui-form .fui-row.hide {
		display:none;
	}
	
	.form .freeform-row .freeform-column,
	.form .row .col,
	.fui-form .fui-row .fui-field {
		flex:1 1 100%;
		margin:0 8px;
		padding:8px 0;
	}
	
	.form .freeform-row .freeform-column .freeform-label,
	.form label,
	.fui-form .fui-label {
		font-weight:500;
		margin:0 0 4px 0;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label,
	.form label.checkbox_label {
		display:flex;
		padding:12px;
		margin:2px 0;
		background-color:#fff;
		line-height:110%;
		cursor:pointer;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label.checked,
	.form label.checkbox_label.checked {
		background-color:#3c92d7;
		color:#fff;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label input,
	.form label.checkbox_label input {
	    flex:0 0 16px;
	    width:16px;
	    height:16px;
		margin:0 8px 0 0;
	}
	
	.fui-form .fui-checkbox,
	.fui-form .fui-radio {
		display:flex;
		margin:2px 0;
		line-height:110%;
		width:100%;
	}
	
	.fui-form .fui-checkbox-label,
	.fui-form .fui-radio-label {
		display:flex;
		flex:1 1 auto;
		padding:4px;
		cursor:pointer;
	}
	
	.fui-form .fui-checkbox-label:before,
	.fui-form .fui-radio-label:before {
		position:relative;
		margin-right:8px;
	}
	
	.fui-form .fui-checkbox input:checked + label:before, 
	.fui-form .fui-radio input:checked + label:before {
		background-color:#003559;
		border-color:#003559;
	}
	
	.fui-form .fui-checkbox input:focus + label::before, 
	.fui-form .fui-radio input:focus + label::before {
		outline:4px solid rgba(100,100,100,0.2);
	}
	
	.fui-form .fui-checkbox-input,
	.fui-form .fui-radio-input {
		cursor:pointer;
	}
		
	input[type=number] {
		-moz-appearance:textfield;
	}
	
	input[type=number]::-webkit-inner-spin-button, 
	input[type=number]::-webkit-outer-spin-button { 
	  -webkit-appearance:none; 
	  margin:0; 
	}
	
	.form select,
	.fui-form .fui-select {
		box-sizing:border-box;
		width:100%;
		height:40px;
		padding:0 8px;
		backround-color:#fff;
		border:1px solid #ccc;
	}
	
	.fui-form .fui-fieldset {
		padding:8px;
		border:1px solid #ddd;
	}
	
	.fui-form .fui-field-rows {
		margin-bottom:0;
	}
	
	.formie-recaptcha-placeholder {
		height:60px;
		margin:16px 0 0 0;
		opacity:0.25;
	}
	
	.formie-recaptcha-placeholder .grecaptcha-badge {
		box-shadow:1px 1px 4px rgba(0,0,0,0.1)!important;
	}
	
	.fui-form .fui-btn-container {
		margin-top:24px;
	}
	
	
	
	.fui-form .fui-alert {
		padding:8px;
		line-height:110%;
	}
	
	.fui-form .fui-alert-error {
		background-color:#ee402f;
		color:#fff;
	}
	
	.fui-form .fui-error-message {
		padding:8px;
		line-height:110%;
		background-color:#ffcbc6;
		color:#b93a2e;
	}
	
	.fui-form .fui-btn {
		padding:16px 24px;
		border:none;
		background-color:#003559;
		color:#fff;
		font-weight:600;
	}
	
	.fui-form .fui-submit {
		background-color:#003559;
		border-color:#003559;
		padding:16px 24px;
		font-size:1.1em;
	}
	
	.fui-form .fui-submit:hover {
		background-color:#164d73;
	}
	
	.fui-form .fui-submit:active, 
	.fui-form .fui-submit:focus {
		background-color:#003559;
		border-color:#003559;
	}
	
	.fui-form .fui-submit:focus {
		border-color:#3c92d7;
		outline:8px solid rgba(100,100,100,0.2);
	}
	
	/* -------- popups -------- */
	
	.fancybox-slide {
		padding:16px;
	}
	
	.popup_form_body {
		max-width:768px;
		background-color:#f5f5f5;
	}
	
	.popup_form_wrap {
		max-width:768px;
		padding:24px;
	}
	
	/* -------- buttons -------- */
	
	.inline_buttons {
		display:flex;
		flex-direction:column;
	}
	
	.inline_buttons .box_button,
	.inline_buttons .line_button {
		margin:4px 0 0 0;
	}
	
	.block_buttons {
		display:flex;
		flex-direction:column;
		margin:-8px 0;
	}
	
	.block_buttons .box_button,
	.block_buttons .line_button {
		margin:8px 0;
	}
	
	.box_button {
		display:inline-flex;
		padding:12px 16px;
		font-weight:700;
		line-height:105%;
		background-color:#003559;
		color:#fff;
		border:none;
		cursor:pointer;
		text-decoration:none;
	}
	
	.box_button.small {
		padding:8px 12px;
		font-size:0.9em;
	}
	
	.box_button.large {
		padding:16px 24px;
		font-size:1.1em;
	}
	
	.box_button[disabled] {
		opacity:0.25;
	}
	
	.box_button.darkblue {
		background-color:#003559;
	}
	
	.box_button.lightblue {
		background-color:#3c92d7;
	}
	
	.box_button.lightgrey {
		background-color:#eee;
		color:#222;
	}
	
	.box_button.darkgrey {
		background-color:#999;
	}
	
	.box_button.with_icon {
		
	}
		
	.box_button.with_icon .icon {
		flex:0 0 16px;
		width:16px;
		margin:0 8px 0 0;
	}
	
	.box_button.with_icon .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	.box_button.large.with_icon .icon {
		flex:0 0 24px;
		width:24px;
		margin:0 12px 0 0;
	}
	
	.box_button.large.with_icon .icon img {
		max-width:24px;
		max-height:24px;
	}
	
	.line_button {
		position:relative;
		display:inline-flex;
		justify-content:flex-start;
		padding:4px 0;
		line-height:100%;
		font-weight:700;
		color:#003559;
		/*border-bottom:2px solid #003559;*/
		text-decoration:none;
		min-width:192px;
	}
	
	.line_button:before {
		position:absolute;
		display:block;
		content:'';
		bottom:0;
		left:0;
		width:100%;
		height:2px;
		background-color:#003559;
	}
	
	.line_button.block {
		display:flex;
	}
	
	.line_button.light {
		color:#fff;
		border-color:#fff;
	}
	
	.line_button.light:before {
		background-color:#fff;
	}
	
	.line_button .icon {
		flex:0 0 16px;
		margin:0 12px 0 0;
	}
	
	.line_button .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	.line_button .text {
		align-self:flex-start;
	}
	
	.line_button.with_arrow:after {
		position:absolute;
		display:block;
		align-self:flex-end;
		content:'›';
		margin:0 0 0 16px;
		right:0;
	}
	
	/* -------- header -------- */
	
	#header {
		position:relative;
		z-index:100;
		display:flex;
		flex-direction:column;
		background-color:#fff;
		border-bottom:1px solid #ddd;
	}
	
	#header .logo_wrap {
		display:flex;
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		padding:0 16px;
		height:64px;
	}
	
	#header .logo_wrap .left {
		
	}
	
	#header .logo_wrap .logo {
		
	}
	
	#header .logo_wrap .logo img {
		width:128px;
		height:auto;
		vertical-align:middle;
	}
	
	#header .logo_wrap .right {
		display:flex;
		justify-content:flex-end;
		align-items:center;
	}
	
	#header .logo_wrap .phone_icon img {
		width:24px;
		height:auto;
		vertical-align:middle;
	}
	
	#header .logo_wrap .nav_icon {
		margin:0 0 0 12px;
	}
	
	#header .logo_wrap .nav_icon img {
		width:32px;
		height:auto;
		vertical-align:middle;
	}
	
	#header .nav_wrap {
		display:none;
		background-color:#f5f5f5;
		padding:16px 0;
	}
	
	#header.open .nav_wrap {
		display:block;
	}
	
	#header .nav_wrap ul {
		padding:0;
		margin:0;
	}
	
	#header .nav_wrap li {
		position:relative;
		list-style:none;
	} 
	
	#header .nav_wrap a {
		display:block;
		color:#003559;
		text-decoration:none;
		line-height:100%;
	}
	
	#header .nav_wrap li.level1 > a {
		font-size:1.2em;
		font-weight:600;
		padding:8px 16px;
	}
	
	#header .nav_wrap li.level2 > a {
		padding:4px 24px;
	}
	
	#header .nav_wrap li.village > a {
		white-space:nowrap;
	}
	
	#header .nav_wrap li.village > a .divider {
		font-size:0.8em;
		color:#ccc;
	}
	
	#header .nav_wrap li.village > a .brand {
		font-size:0.8em;
		color:#999;
	}
	
	#header .nav_wrap li.phone_link > a {
		display:flex;
		align-items:center;
		color:#3c92d7;
	}
	
	#header .nav_wrap li.phone_link > a .label {
		margin:0 8px 0 0;
	}
	
	#header .nav_wrap li.phone_link > a .phone_number {
		font-size:1.4em;
		line-height:105%;
	}
	
	#header .nav_wrap li.phone_link img {
		width:24px;
		height:auto;
		vertical-align:middle;
		margin:0 8px 0 0;
	}
	
	/* -------- footer -------- */
	
	#footer {
		background-color:#003559;
		color:#fff;
	}
	
	#footer a {
		color:#fff;
		text-decoration:none;
	}
	
	#footer .footer_top {
		padding:32px 0;
	}
	
	#footer .footer_top .panel_maxwidth {
		max-width:768px;
	}
	
	#footer .footer_top .cols {
		display:flex;
		flex-direction:column;
		margin:-12px;
	}
	
	#footer .footer_top .cols .col {
		margin:12px;
	}
	
	#footer .footer_top .cols .col .headline {
		margin:0 0 12px 0;
	}
	
	#footer .footer_top .cols .col ul {
		margin:0;
		padding:0;
	}
	
	#footer .footer_top .cols .col ul li {
		list-style:none;
		margin:8px 0;
		line-height:120%;
	}
	
	#footer .footer_top .cols .col ul li a {
		display:flex;
	}
	
	#footer .footer_top .cols .col ul li a .icon {
		flex:0 0 16px;
		width:16px;
		margin:0 8px 0 0;
	}
	
	#footer .footer_top .cols .col ul li a .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:top;
	}
	
	#footer .footer_top .cols .col ul li a .text {
		
	}
	
	#footer .footer_bot {
		padding:24px 0;
		background-color:#042942;
		font-size:0.8em;
		line-height:120%;
	}
	
	#footer .footer_bot .panel_maxwidth {
		
	}
	
	#footer .footer_bot .item {
		display:inline-block;
	}
	
	#footer .footer_bot .divider {
		display:inline-block;
		margin:0 4px;
		opacity:0.25;
	}
	
	/* -------- signup panel -------- */
	
	.panel_signup {
		background-color:#547ea5;
		color:#fff;
	}
	
	.panel_signup .panel_maxwidth {
		width:80%;
		max-width:768px;
	}
	
	.panel_signup .panel_cols {
		display:flex;
		flex-direction:column;
	}
	
	.panel_signup .col_image {
		display:flex;
		align-items:center;
		margin:0 0 32px 0;
	}
	
	.panel_signup .col_image .book {
		transform:rotate(-5deg);
		box-shadow:4px 4px 32px rgba(0,0,0,0.4);
	}
	
	.panel_signup .col_image .book img {
		vertical-align:top;
		width:128px;
		height:auto;
	}
	
	.panel_signup .col_text {
		
	}
	
	.panel_signup .col_text .headline {
		margin:0 0 12px 0;
	}
	
	.panel_signup .col_text .subline {
		margin:8px 0;
	}
	
	.panel_signup .col_text .action_signup {
		margin:16px 0 0 0;
		max-width:480px;
	}
	
	.panel_signup .col_text .action_signup label {
		font-size:0.8em;
		line-height:100%;
	}
	
	.panel_signup .col_text .action_signup .fields {
		display:flex;
	}
	
	.panel_signup .col_text .action_signup .fields .email {
		flex:1 1 auto;
		background-color:#fff;
		border:1px solid #003559;
		padding:0 16px;
		width:100%;
	}
	
	.panel_signup .col_text .action_signup .fields .email:focus {
		box-shadow:none;
		outline:2px solid rgba(0,53,89,0.2);
		
	}
	
	.panel_signup .col_text .action_signup .fields .button {
		background-color:#003559;
		color:#fff;
		text-decoration:none;
		padding:16px;
		line-height:105%;
		white-space:nowrap;
	}
	
	.panel_signup.panel_inspect .panel_maxwidth {
		max-width:512px;
	}
	
	.panel_signup.panel_inspect .col_image .image {
		
	}
	
	.panel_signup.panel_inspect .col_image .image img {
		width:auto;
		height:auto;
		max-width:256px;
		max-height:160px;
	}
		
	/* -------- home -------- */
	
	#home_feature {
		position:relative;
		background-color:#ccc;
		color:#fff;
	}
	
	#home_feature .feature_bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
	}
	
	#home_feature .feature_bg .box {
		position:absolute;
		top:0;
		bottom:0;
	}
	
	#home_feature .feature_bg .box.box_left {
		left:0;
		width:50%;
	}
	
	#home_feature .feature_bg .box.box_right {
		right:0;
		width:50%;
	}
	
	#home_feature .feature_bg .box img {
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	#home_feature .feature_fg {
		position:relative;
		display:flex;
		width:100%;
		min-height:320px;
		justify-content:center;
		align-items:center;
	}
	
	#home_feature .feature_fg .content {
		padding:16px;
		text-align:center;
	}
	
	#home_feature .feature_fg .headline {
		background-color:#003559;
		color:#fff;
		font-size:1.8em;
		font-weight:600;
		line-height:120%;
		padding:24px 16px;
	}
	
	#home_feature .feature_fg .headline br {
		display:none;
	}
	
	#home_feature .feature_fg .actions {
		padding:0 16px;
		margin-top:-16px;
	}
	
	#home_feature .feature_fg .actions .box_button {
		box-shadow:2px 2px 8px rgba(0,0,0,0.2);
	}
	
	#home_key_items {
		background-color:#f5f5f5;
	}
	
	#home_key_items .key_items {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	#home_key_items .key_item {
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
		color:#222;
		text-decoration:none;
	}
	
	#home_key_items .key_item .image {
		position:relative;
		flex:0 0 160px;
		background-color:#ccc;
		color:#aaa;
	}
	
	#home_key_items .key_item .image img {
		position:relative;
		z-index:10;
		object-fit:cover;
		width:100%;
		height:100%;
		
	}
	
	#home_key_items .key_item .image:after {
		position:absolute;
		display:block;
		content:'';
		z-index:20;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:#fff;
		opacity:0;
	}
	
	#home_key_items .key_item .text {
		position:relative;
		padding:16px;
		border-left:4px solid #ccc;
		height:100%;
	}
	
	#home_key_items .key_item .text .headline {
		font-size:1.4em;
		line-height:110%;
		color:#003559;
		margin:0 0 8px 0;
	}
	
	#home_key_items .key_item .text .excerpt {
		margin:8px 0 0 0;
		font-size:0.9em;
		line-height:130%;
		color:#666;
	}
	
	#home_boxes {
		
	}
	
	#home_boxes .row {
		display:flex;
		flex-direction:column;
	}
	
	#home_boxes .box {
		
	}
	
	#home_boxes .box .box_inner {
		padding:32px 24px;
		max-width:512px;
	}
	
	#home_boxes .box .headline {
		color:#003559;
		font-size:1.4em;
		line-height:120%;
	}
	
	#home_boxes .box .subline {
		
	}
	
	#home_boxes .box .actions {
		margin-top:16px;
		max-width:256px;
	}
	
	#home_boxes .box .list_with_ticks {
		padding:0;
		margin:8px 0;
	}
	
	#home_boxes .box .list_with_ticks li {
		list-style:none;
		display:flex;
		margin:8px 0;
		line-height:120%;
	}
	
	#home_boxes .box .list_with_ticks li .icon {
		flex:0 0 16px;
		margin:0 8px 0 0;
	}
	
	#home_boxes .box .list_with_ticks li .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	#home_boxes .box .list_with_ticks li .text {
		
	}
	
	#home_boxes .box_image {
		background-color:#ccc;
		height:75vw;
	}
	
	#home_boxes .box_image img {
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	#home_boxes .row_2 .box_text {
		background-color:#dbe4eb;
	} 
	
	/* -------- page_features -------- */
	
	#banner_with_headline {
		position:relative;
		z-index:20;
		background-color:#ccc;
	}
	
	#banner_with_headline .feature_bg {
		position:absolute;
		z-index:10;
		top:0;
		right:0;
		bottom:0;
		left:0;
	}
	
	#banner_with_headline .feature_bg .bg_img {
		object-fit:cover;
		width:100%;
		height:100%;
		color:#ccc;
	}
	
	#banner_with_headline .feature_fg {
		position:relative;
		z-index:20;
		display:flex;
		align-items:flex-end;
		height:192px;
	}
	
	#banner_with_headline .feature_fg .panel_maxwidth {
		display:flex;
	}
	
	#banner_with_headline .feature_fg .headline_box {
		display:inline-block;
		padding:16px;
		background-color:#fff;
		transform:translateY(50%);
	}
	
	#banner_with_headline .feature_fg .page_headline {
		color:#003559;
		margin:0;
		line-height:110%;
	}
	
	#banner_with_headline .feature_fg .page_subline {
		margin:8px 0 0 0;
		line-height:120%;
		color:#666;
	}
	
	#banner_with_headline[data-section-handle='villages'] .panel_maxwidth {
		justify-content:center;
	}
	
	#banner_with_headline .village_headline_box {
		display:inline-flex;
		background-color:#fff;
		margin:0 auto;
		transform:translateY(50%);
	}
	
	#banner_with_headline .village_headline_box .logo {
		display:flex;
		justify-content:center;
		align-items:center;
		padding:16px;
	}
	
	#banner_with_headline .village_headline_box .logo .logo_img {
		width:32px;
		height:auto;
	}
	
	#banner_with_headline .village_headline_box .text {
		padding:16px;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline {
		font-size:1em;
		font-weight:500;
		line-height:110%;
		margin:0;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .large {
		display:block;
		font-size:1.8em;
		font-weight:600;
		line-height:110%;
		color:#003559;
		margin:0;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .small {
		display:block;
		font-size:1em;
		font-weight:500;
		line-height:110%;
		color:#999;
		margin:0;
	}
	
	.banner_with_headline_spacer {
		height:64px;
	}
	
	/* -------- villages -------- */
		
	#villages_main {
		position:relative;
		z-index:10;
		background-color:#eee;
	}
		
	.village_lists {
		display:flex;
		flex-direction:column;
		margin:-16px 0;
	}
	
	.village_list {
		margin:16px 0;
	}
	
	.village_list .intro {
		margin:0 0 16px 0;
	}
	
	.village_list .intro .section_headline {
		color:#003559;
		margin:0;
	}
	
	.village_list .intro .section_subline {
		color:#666;
		margin:8px 0 0 0;
	}
	
	.village_list .items {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.village_list .items .item {
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
	}
	
	.village_list .items .item .image {
		position:relative;
		display:block;
		height:160px;
		background-color:#ccc;
		text-decoration:none;
	}
	
	.village_list .items .item .image .thumbnail {
		position:relative;
		z-index:10;
		object-fit:cover;
		width:100%;
		height:100%;
		color:#ccc;
	}
	
	.village_list .items .item .image .logo {
		position:absolute;
		display:flex;
		justify-content:center;
		align-items:center;
		z-index:20;
		top:8px;
		left:8px;
		width:64px;
		height:64px;
		background-color:#999;
		color:#fff;
	}
	
	.village_list .items .item .image .logo img {
		width:48px;
		height:auto;
	}
	
	.village_list .items .item .content {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		flex:1 1 auto;
	}
	
	.village_list .items .item .text {
		padding:16px;
	}
	
	.village_list .items .item .text .headline {
		color:#003559;
		line-height:110%;
		margin:0;
	}
	
	.village_list .items .item .text .headline a {
		color:#003559;
		text-decoration:none;
	}
	
	.village_list .items .item .text .excerpt {
		font-size:0.9em;
		line-height:130%;
		color:#666;
		margin:8px 0 0 0;
	}
	
	.village_list .items .item .actions {
		
	}
	
	.village_list .items .item .action {
		display:flex;
		justify-content:space-between;
		border-top:1px solid #ddd;
		padding:12px 16px;
		text-decoration:none;
		color:#222;
	}
	
	.village_list .items .item .action .arrow:after {
		content:'›';
	}
	
	/* -------- village -------- */
	
	#village_intro {
		background-color:#eee;
	}
	
	#village_intro .intro_text {
		font-size:1.1em;
		line-height:130%;
		color:#666;
		text-align:center;
		margin:0 auto 48px auto;
		max-width:768px;
	}
	
	#village_intro .intro_items {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	#village_intro .intro_items .item {
		position:relative;
		display:flex;
		flex-direction:column;
		background-color:#fff;
		margin:8px;
		text-decoration:none;
		color:#222;
	}
	
	#village_intro .intro_items .item .image {
		position:relative;
		flex:0 0 160px;
		background-color:#ccc;
		overflow:hidden;
	}
	
	#village_intro .intro_items .item .image img {
		position:relative;
		z-index:10;
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	#village_intro .intro_items .item .image:after {
		position:absolute;
		z-index:20;
		top:0;
		right:0;
		bottom:0;
		left:0;
		display:block;
		content:'';
		background-color:rgba(255,255,255,0.1);
		opacity:0;
	}
	
	#village_intro .intro_items .item .text {
		display:flex;
		padding:16px;
		line-height:110%;
	}
	
	#village_intro .intro_items .item .text .icon {
		flex:0 0 16px;
		margin:0 8px 0 0;
	}
	
	#village_intro .intro_items .item .text .label {
		color:#003559;
		font-weight:600;
	}
	
	#village_intro .intro_items .item.first .text {
		background-color:#003559;
	}
	
	#village_intro .intro_items .item.first .text .label {
		color:#fff;
	}
	
	#village_about {
		background-color:#fff;
	}
	
	#village_about .cols {
		display:flex;
		flex-direction:column;
		margin:-16px;
	}
	
	#village_about .col {
		margin:16px;
	}
	
	#village_about .col .headline {
		font-size:1.4em;
		margin:0 0 12px 0;
		color:#003559;
	}
	
	#village_about .col .content {
		
	}
	
	#village_about .col .actions {
		margin:16px 0 0 0;
	}
	
	#village_about .facility_list {
		padding:0;
	}
	
	#village_about .facility_list li {
		display:inline-block;
		margin:4px;
	}
	
	#village_about .facility_list li:before {
		display:inline-block;
		content:'•';
		margin-right:12px;
	}
	
	#village_listings {
		background-color:#eee;
	}
	
	#village_map {
		background-color:#ccc;
		height:60vw;
		max-height:768px;
	}
	
	/* -------- contact details -------- */
	
	ul.contact_details_list {
		margin:0;
		padding:0;
	}
	
	ul.contact_details_list li {
		list-style:none;
		margin:12px 0;
		font-size:1.2em;
		line-height:130%;
	}
	
	ul.contact_details_list li a {
		display:flex;
		text-decoration:none;
		color:#222;
	}
	
	ul.contact_details_list li a .icon {
		flex:0 0 20px;
		width:20px;
		margin:0 12px 0 0;
	}
	
	ul.contact_details_list li a .icon img {
		width:auto;
		height:auto;
		max-width:20px;
		max-height:20px;
		vertical-align:top;
	}
	
	ul.contact_details_list li a .text {
		flex:1 1 auto;
	}
	
	/* -------- contact page -------- */
	
	.entry_page.type_default {
		background-color:#f5f5f5;
	}
	
	.contact_cols {
		display:flex;
		flex-direction:column;
	}
	
	.contact_cols .col_form {
		margin-top:32px;
	}
	
	/* -------- listings -------- */
	
	.panel_listings {
		background-color:#eee;
	}
	
	.panel_listings .panel_top {
		display:flex;
		flex-direction:column;
		margin:0 0 24px 0;
	}
	
	.panel_listings .panel_top .panel_headline {
		margin:0;
		font-size:1.2em;
	}
	
	.panel_listings .panel_top .listing_filter {
		margin:16px 0 0 0;
		max-width:600px;
	}
		
	.listing_filter .cols {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.listing_filter .cols .col {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
		margin:8px;
	}
	
	.listing_filter .controls label {
		font-size:0.8em;
		line-height:110%;
		color:#666;
		margin:0 0 4px 0;
	}
	
	.listing_filter .controls select {
		width:100%;
		height:40px;
	}
	
	.listing_filter_v2 {
		display:flex;
		padding:16px 0;
	}
	
	.listing_filter_v2 .filter_item {
		
	}
	
	.listing_filter_v2 .northsouth {
		display:flex;
		margin:0 -2px;
	}
	
	.listing_filter_v2 .northsouth .option {
		display:block;
		padding:16px 24px;
		background-color:#f9f9f9;
		color:#003559;
		font-weight:700;
		text-decoration:none;
		margin:0 2px;
	}
	
	.listing_filter_v2 .northsouth .option:active {
		transform:scale(0.95);
		box-shadow:inset 2px 2px 32px rgba(0,0,0,0.2);
	}
	
	.listing_filter_v2 .northsouth .option.selected {
		background-color:#3c92d7;
		color:#fff;
	}
	
	.listing_filter_v2 .northsouth .option:first-child {
		border-top-left-radius:8px;
		border-bottom-left-radius:8px;
	}
	
	.listing_filter_v2 .northsouth .option:last-child {
		border-top-right-radius:8px;
		border-bottom-right-radius:8px;
	}
	
	.listings_villages {
		
	}
	
	.listings_village.hide {
		display:none;
	}
	
	.listings_village {
		margin-bottom:32px;
	}
	
	.listings_village .village_top {
		
	}

	.listings_village .village_top .message {
		color: rgb(255, 0, 0);
	}
	
	.listings_village .village_link {
		display:flex;
		background-color:#fff;
		text-decoration:none;
		font-weight:700;
		line-height:110%;
		color:#222;
	}
	
	.listings_village .village_link .logo {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 auto;
		width:48px;
		height:48px;
	}
	
	.listings_village .village_link .logo img {
		width:auto;
		height:auto;
		max-width:32px;
		max-height:32px;
		vertical-align:middle
	}
	
	.listings_village .village_link .name {
		display:flex;
		align-items:center;
		padding:0 16px;
		font-size:0.8em;
		line-height:110%;
	}
	
	.listings_village .listings {
		padding:0;
	}
	
	.listings_village .listings .waiting_list {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		margin:8px 0 0 0;
	}
	
	.listings_village .listings .waiting_list .col_image {
		flex:0 0 auto;
		height:160px;
	}
	
	.listings_village .listings .waiting_list .col_image img {
		width:100%;
		height:100%;
		object-fit:cover;
	}
	
	.listings_village .listings .waiting_list .col_text {
		padding:16px;
	}
	
	
	.listings_village .listings .waiting_list .text {
		font-weight:700;
	}
	
	.listings_village .listings .waiting_list .actions {
		margin:8px 0 0 0;
	}
	
	.panel_listings .join_waiting_list {
		padding:16px;
		background-color:#fff;
		max-width:512px;
	}
	
	.panel_listings .join_waiting_list .headline {
		font-weight:500;
		color:#003559;
		margin-bottom:12px;
	}
		
	.listings {
		
	}
	
	.listings .listing {
		display:flex;
		flex-direction:column;
		margin:8px 0 0 0;
		background-color:#fff;
	}
	
	.listings .listing.hide {
		display:none;
	}
	
	.listings .listing .image {
		position:relative;
		background-color:#ccc;
		width:100%;
		height:160px;
		margin:0;
		overflow:hidden;
	}
	
	.listings .listing .image:after {
		position:absolute;
		display:block;
		content:'';
		z-index:20;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
	}
	
	.listings .listing .image img {
		position:relative;
		z-index:10;
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	.listings .listing .text {
		display:flex;
		flex-direction:column;
		padding:16px;
	}
	
	.listings .listing .col_left {
		display:flex;
		flex-direction:column;
	}
	
	.listings .listing .col_name {
		display:flex;
		flex-direction:column;
	}
	
	.listings .listing .col_name .headline {
		font-size:1.2em;
		line-height:110%;
		color:#003559;
		margin:0;
	}
	
	.listings .listing .col_name .headline a {
		color:#003559;
		text-decoration:none;
	}
	
	.listings .listing .col_name .type {
		margin:4px 0 0 0;
		color:#999;
	}
	
	.listings .listing .col_rooms {
		display:flex;
		align-items:center;
		margin:12px 0 0 0;
	}
	
	.listings .listing .col_rooms .room {
		display:flex;
		align-items:flex-start;
		margin:0 20px 0 0;
		color:#666;
		font-weight:600;
		line-height:100%;
	}
	
	.listings .listing .col_rooms .room .icon {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 20px;
		margin:0 8px 0 0;
		width:20px;
	}
	
	.listings .listing .col_rooms .room .icon img {
		width:auto;
		height:auto;
		max-width:20px;
		max-height:16px;
	}
	
	.listings .listing .col_right {
		display:flex;
		flex-wrap:wrap;
		margin:8px 0 0 0;
	}
	
	.listings .listing .col_right .action {
		display:block;
		font-weight:600;
		text-decoration:none;
		margin:8px 16px 0 0;
	}
	
	.listings .listing .col_right .action.grey {
		color:#666;
	}
	
	.listings .listing .col_right .action.darkblue {
		color:#003559;
	}
	
	.listings .result_empty {
		display:none;
		padding:16px;
		background-color:#f5f5f5;
	}
	
	.listings .result_empty.show {
		display:block;
	}
	
	/* -------- listing -------- */
	
	.entry_listing {
		background-color:#eee;
	}
	
	.entry_listing .zoom_button {
		display:flex;
		justify-content:center;
		align-items:center;
		width:48px;
		height:48px;
		background-color:#fff;
		color:#003559;
	}
	
	.entry_listing .zoom_button .zoom_icon {
		width:auto;
		height:auto;
		max-width:20px;
		max-height:20px;
	}
	
	.entry_listing .panel_maxwidth {
		max-width:1280px;
	}
	
	.entry_listing .listing_top {
		background-color:#fff;
		display:flex;
		flex-direction:column;
		margin:0 0 16px 0;
	}
	
	.entry_listing .listing_top .col_image {
		position:relative;
		background-color:#ccc;
		flex:0 0 160px;
	}
	
	.entry_listing .listing_top .col_image .gallery_cover {
		position:relative;
		object-fit:cover;
		width:100%;
		height:100%;
		z-index:10;
	}
	
	.entry_listing .listing_top .zoom_button {
		position:absolute;
		top:0;
		right:0;
		z-index:20;
	}
	
	.entry_listing .listing_top .col_text {
		position:relative;
		display:flex;
	}
	
	.entry_listing .listing_top .col_text .inner {
		padding:24px;
	}
	
	.entry_listing .listing_top .col_text .village_link {
		display:inline-flex;
		height:32px;
		text-decoration:none;
		font-weight:500;
		color:#666;
		margin:0 0 16px 0;
		background-color:#fff;
	}
	
	.entry_listing .listing_top .col_text .village_link .logo {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 32px;
		width:32px;
		background-color:#ccc;
	}
	
	.entry_listing .listing_top .col_text .village_link .logo img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	.entry_listing .listing_top .col_text .village_link .label {
		line-height:32px;
		padding:0 12px;
	}
	
	.entry_listing .listing_top .col_text .house_number {
		color:#003559;
		margin:0 0 4px 0;
		line-height:110%;
	}
	
	.entry_listing .listing_top .col_text .design_name {
		font-size:1em;
		line-height:110%;
		margin:0;
		color:#999;
	}
	
	.entry_listing .listing_top .col_text .rooms {
		display:flex;
		align-items:center;
		margin:24px 0 0 0;
	}
	
	.entry_listing .listing_top .col_text .rooms .room {
		display:flex;
		align-items:flex-start;
		margin:0 20px 0 0;
		color:#666;
		font-weight:600;
		line-height:100%;
	}
	
	.entry_listing .listing_top .col_text .rooms .room .icon {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 20px;
		margin:0 8px 0 0;
		width:20px;
	}
	
	.entry_listing .listing_top .col_text .rooms .room .icon img {
		width:auto;
		height:auto;
		max-width:20px;
		max-height:16px;
	}
	
	.entry_listing .listing_mid {
		display:grid;
		gap:16px;
	}
	
	.entry_listing .listing_contact {
		padding:24px;
		background-color:#fff;
	}
	
	.entry_listing .listing_contact .headline {
		color:#003559;
		margin:0 0 12px 0;
		font-size:1.4em;
		line-height:110%;
	}
	
	.entry_listing .listing_floorplan {
		position:relative;
		background-color:#fff;
		background: linear-gradient(180deg, #fff 0%, #eee 100%);
		padding:24px;
	}
	
	.entry_listing .listing_floorplan .inner {
		position:relative;
		z-index:10;
		display:block;
		padding:16px;
		text-align:center;
	}
	
	.entry_listing .listing_floorplan .inner .floorplan {
		width:100%;
		height:auto;
		max-width:512px;
	}
	
	.entry_listing .listing_floorplan .zoom_button {
		position:absolute;
		top:0;
		left:0;
		z-index:20;
	}
	
	.entry_listing .listing_map {
		position:relative;
		border:8px solid #fff;
	}
	
	.entry_listing .listing_map .gmap {
		position:relative;
		z-index:10;
		padding-top:100%;
		background-color:#ccc;
	}
	
	.entry_listing .listing_map .zoom_button {
		display:none;
		position:absolute;
		z-index:20;
		bottom:0;
		left:0;
	}
	
	.entry_listing .listing_village {
		padding:24px;
		background-color:#fff;
	}
	
	.entry_listing .listing_village .headline {
		color:#003559;
		margin:0 0 12px 0;
		font-size:1.4em;
		line-height:110%;
	}
			
	/* -------- news list -------- */
	
	body[data-type-id='8'] #banner_with_headline .panel_maxwidth {
		max-width:1280px;
	}
	
	.panel_articles {
		background-color:#eee;
	}
	
	.panel_articles .panel_maxwidth {
		max-width:1280px;
	}
	
	.articles {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.articles .article {
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
	}
	
	.articles .article .image {
		position:relative;
		flex:0 0 160px;
		background-color:#ccc;
		overflow:hidden;
	}
	
	.articles .article .image:after {
		position:absolute;
		z-index:20;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
	}
	
	.articles .article .image .thumbnail {
		position:relative;
		z-index:10;
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	.articles .article .text {
		display:flex;
		flex-direction:column;
		padding:16px;
	}
	
	.articles .article .text .headline {
		margin:0 0 8px 0;
		font-size:1.4em;
		line-height:110%;
	}
	
	.articles .article .text .headline a {
		text-decoration:none;
		color:#003559;
	}
	
	.articles .article .text .excerpt {
		margin:0;
		line-height:120%;
	}
	
	.articles .article .text .actions {
		margin:16px 0 0 0;
	}
	
	.articles .article .text .actions .read_more {
		font-weight:700;
		color:#003559;
		text-decoration:none;
	}
	
	.pagination {
		display:flex;
		margin:24px 0 0 0;
	}
	
	.pagination .item {
		display:flex;
		justify-content:center;
		align-items:center;
		width:48px;
		height:48px;
		text-decoration:none;
		background-color:#fff;
		color:#003559;
		font-weight:700;
		margin:0 4px 0 0;
	}
	
	.pagination .item.disabled {
		background-color:#ddd;
		color:#999;
	}
	
	.pagination .item.current {
		background-color:#003559;
		color:#fff;
	}
	
	.entry_article {
		background-color:#fcfcfc;
	}
	
	.entry_article .panel_maxwidth {
		max-width:1280px;
	}
	
	.entry_article .article_cols {
		display:flex;
		flex-direction:column;
	}
	
	.entry_article .article_cols .col_main {
		
	}
	
	.entry_article .article_cols .col_sidebar {
		margin:24px 0 0 0;
		padding:24px 0 0 0;
		border-top:1px solid #ddd;
	}
	
	.entry_article .article_headline {
		color:#003559;
		margin:0;
	}
	
	.entry_article .article_subline {
		margin:16px 0 8px 0;
		color:#999;
	}
	
	.entry_article .article_content {
		
	}
	
	.entry_article .sidebar_item .headline {
		font-size:1.2em;
		line-height:110%;
		margin:0 0 12px 0;
		color:#003559;
	}
	
	.entry_article .sidebar_item ul {
		margin:0;
		padding:0;
		border-top:1px solid #eee;
	}
	
	.entry_article .sidebar_item ul li {
		list-style:none;
		border-bottom:1px solid #eee;
	}
	
	.entry_article .sidebar_item ul li a {
		display:block;
		padding:8px 0;
		text-decoration:none;
		color:#666;
	}
	
	/* -------- about -------- */
	
	.entry_page.type_about {
		background-color:#eee;
	}
	
	.about_intro {
		margin-bottom:24px;
	}
	
	.about_intro p {
		font-size:1.6em;
		font-weight:600;
		line-height:120%;
		color:#003559;
	}
	
	.about_items {
		display:flex;
		flex-direction:column;
		margin:-16px;
	}
	
	.about_items .item {
		display:flex;
		flex-direction:column;
		margin:16px;
	}
	
	.about_items .item .image {
		flex:0 0 192px;
		background-color:#ccc;
	}
	
	.about_items .item .image img {
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	.about_items .item .text {
		padding:16px 0;
	}
	
	.about_items .item .text .headline {
		color:#003559;
		margin:0 0 8px 0;
	}
	
	.about_items .item .text .excerpt {
		margin:8px 0 0 0;
	}
	
	.about_items .item .text .excerpt p {
		
	}
	
	.about_items .item .actions {
		
	}
	
	/* -------- available homes -------- */
	
	.entry_page.type_availablehomes {
		background-color:#eee;
	}
	
	/* -------- coords tool -------- */
	
	#coords .interface {
		display:flex;
		align-items:center;
		height:10vh;
		background-color:#fff;
		padding:0 32px;
	}
	
	#coords .interface .status {
		
	}
	
	#coords .interface .status .copied {
		animation-name:fade-out;
		animation-duration:1s;
		animation-iteration-count:1;
		background-color:#97bf0d;
		opacity:0;
		margin-left:16px;
		padding:8px;
		font-weight:700;
	}
	
	#coords #map {
		width:100%;
		height:90vh;
		background-color:#eee;
	}
			
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 480px) {
	
	.panel_padding {
		padding:48px 0;
	}
	
	.page_headline {
		font-size:2.4em;
	}
	
	/* -------- buttons -------- */
	
	.inline_buttons {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.inline_buttons .box_button {
		margin:4px 4px 0 0;
	}
	
	/* -------- popups -------- */
	
	.fancybox-slide {
		padding:24px;
	}
	
	.popup_form_wrap {
		padding:32px;
	}
	
	/* -------- header -------- */
	
	#header {
		
	}
	
	#header .logo_wrap {
		padding:0 24px;
		height:72px;
	}
		
	#header .logo_wrap .logo img {
		width:160px;
	}
		
	#header .logo_wrap .phone_icon img {
		width:24px;
	}
		
	#header .logo_wrap .nav_icon img {
		width:32px;
	}
		
	#header .nav_wrap ul {
		padding:0;
		margin:0;
	}
	
	#header .nav_wrap li {
		list-style:none;
	} 
	
	#header .nav_wrap a {
		display:block;
		color:#003559;
		text-decoration:none;
		line-height:100%;
	}
	
	#header .nav_wrap li.level1 > a {
		padding:8px 24px;
	}
	
	#header .nav_wrap li.level2 > a {
		padding:4px 32px;
	}
	
	/* -------- footer -------- */
	
	#footer {
		
	}
	
	#footer .footer_top {
		padding:48px 0;
	}
	
	#footer .footer_top .cols {
		margin:-16px;
	}
	
	#footer .footer_top .cols .col {
		margin:16px;
	}
	
	/* -------- signup panel -------- */
	
	.panel_signup {
		
	}
	
	/* -------- home -------- */
	
	#home_feature {
		
	}
	
	#home_feature .feature_fg {
		min-height:384px;
	}
	
	#home_feature .feature_fg .content {
		padding:48px;
	}
	
	#home_feature .feature_fg .headline {
		font-size:2em;
		padding:32px 24px 40px 24px;
	}
	
	#home_feature .feature_fg .actions {
		margin-top:-24px;
	}
	
	#home_key_items {
		
	}
	
	#home_key_items .key_items {
		
	}
	
	#home_key_items .key_item {
		
	}
	
	#home_key_items .key_item .image {
		flex-basis:192px;
	}
	
	#home_key_items .key_item .text {
		padding:24px;
	}
	
	#home_key_items .key_item .text .headline {
		margin-bottom:12px;
	}
	
	#home_key_items .key_item .text .excerpt {
		margin-top:12px;
		font-size:1em;
	}
	
	#home_boxes {
		
	}
	
	#home_boxes .box .box_inner {
		padding:48px 32px;
	}
	
	/* -------- page_features -------- */
	
	#banner_with_headline {
		
	}
	
	#banner_with_headline .feature_fg {
		height:256px;
	}
	
	#banner_with_headline .feature_fg .headline_box {
		padding:24px;
	}
	
	#banner_with_headline .village_headline_box .logo {
		padding:24px;
	}
	
	#banner_with_headline .village_headline_box .logo .logo_img {
		width:48px;
	}
	
	#banner_with_headline .village_headline_box .text {
		padding:24px;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .large {
		font-size:2em;
	}
	
	/* -------- villages -------- */
		
	.village_lists {
		margin:-24px 0;
	}
	
	.village_list {
		margin:24px 0;
	}
	
	.village_list .intro {
		margin-bottom:24px;
	}
	
	.village_list .items .item .image {
		height:192px;
	}
	
	.village_list .items .item .image .logo {
		top:12px;
		left:12px;
	}
	
	.village_list .items .item .text {
		padding:24px;
	}
	
	.village_list .items .item .action {
		padding:16px 24px;
	}
	
	/* -------- village -------- */
	
	#village_intro {
		background-color:#eee;
	}
	
	#village_intro .intro_text {
		font-size:1.2em;
		margin-bottom:64px;
	}
	
	#village_intro .intro_items .item .image {
		flex:0 0 256px;
	}
	
	#village_intro .intro_items .item .text {
		padding:24px;
	}
	
	#village_intro .intro_items .item .text .icon {
		margin-right:12px;
	}
	
	#village_about {
		
	}
	
	#village_about .cols {
		margin:-24px;
	}
	
	#village_about .col {
		margin:24px;
	}
	
	#village_about .col .headline {
		font-size:1.6em;
		margin-bottom:16px;
	}
	
	#village_about .col .content {
		
	}
	
	#village_about .col .actions {
		margin-top:24px;
	}
	
	#village_listings {
		
	}
	
	#village_map {
		
	}
	
	/* -------- listings -------- */
	
	.panel_listings .panel_top {
		margin-bottom:24px;
	}

		
	.panel_listings .panel_top .message {
		color: rgb(255, 0, 0);
	}
	
	.panel_listings .join_waiting_list {
		padding:24px;
	}
	
	.panel_listings .join_waiting_list .headline {
		margin-bottom:16px;
	}
	
	.listings_village .village_link .name {
		font-size:1em;
	}
	
	.listings_village .listings {
		padding-left:48px;
	}
	
	.listings_village .listings .waiting_list {
		
	}
	
	.listings_village .listings .waiting_list .col_image {
		height:192px;
	}
	
	.listings_village .listings .waiting_list .col_text {
		padding:24px;
	}
	
	.listings_village .listings .waiting_list .actions {
		margin-top:12px;
	}
	
	.listings {
		
	}
	
	.listings .listing {
		
	}
	
	.listings .listing .image {
		height:256px;
	}
	
	.listings .listing .text {
		padding:24px;
	}
	
	/* -------- listing -------- */
	
	.entry_listing {
		
	}
	
	.entry_listing .listing_top .col_image {
		flex-basis:256px;
	}
	
	.entry_listing .listing_top .col_text .inner {
		padding:32px;
	}
	
	.entry_listing .listing_top .col_text .village_link {
		margin-bottom:24px;
	}
	
	.entry_listing .listing_top .col_text .rooms {
		margin-top:24px;
	}
	
	.entry_listing .listing_contact {
		padding:32px;
	}
	
	.entry_listing .listing_floorplan {
		padding:32px;
	}
	
	.entry_listing .listing_floorplan .inner {
		padding:24px;
	}
	
	.entry_listing .listing_village {
		padding:32px;
	}
	
	/* -------- news list -------- */
		
	.articles {
		
	}
	
	.articles .article {
		
	}
	
	.articles .article .image {
		flex-basis:256px;
	}
	
	.articles .article .text {
		padding:24px;
	}
	
	.entry_article {
		
	}
	
	.entry_article .article_subline {
		margin:24px 0 12px 0;
	}
	
	.entry_article .article_cols .col_sidebar {
		margin-top:32px;
		padding-top:32px;
	}
	
	.entry_article .sidebar_item .headline {
		margin-bottom:12px;
	}
	
	/* -------- about -------- */
	
	.about_intro {
		margin-bottom:32px;
	}
	
	.about_items {
		margin:-24px;
	}
	
	.about_items .item {
		margin:24px;
	}
	
	.about_items .item .image {
		flex:0 0 256px;
	}
	
	.about_items .item .text {
		padding:24px 0;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 768px) {
	
	.panel_padding {
		padding:64px 0;
	}
	
	.page_headline {
		font-size:2.6em;
	}
	
	/* -------- forms -------- */
	
	.form input[type='text'],
	.form input[type='number'],
	.form input[type='tel'],
	.form input[type='email'],
	.form input[type='search'],
	.form input[type='url'],
	.form input[type='password'],
	.fui-form input[type='text'],
	.fui-form input[type='number'],
	.fui-form input[type='tel'],
	.fui-form input[type='email'],
	.fui-form input[type='search'],
	.fui-form input[type='url'],
	.fui-form input[type='password'] {
		height:48px;
		padding:0 12px;
	}
	
	.form textarea,
	.fui-form textarea{
		padding:12px;
	}
	
	.form select,
	.fui-form .fui-select {
		height:48px;
		padding:0 12px;
	}
	
	.form .freeform-row,
	.form .row,
	.fui-form .fui-row {
		flex-direction:row;
		margin:0 -12px;
	}
	
	.form .freeform-row .freeform-column,
	.form .row .col,
	.fui-form .fui-row .fui-field {
		flex:1 1 auto;
		margin:0 12px;
		padding:12px 0;
	}
		
	.form .freeform-row .freeform-column label.checkbox_label,
	.form label.checkbox_label {
		padding:16px;
		margin:4px 0;
	}
		
	.form .freeform-row .freeform-column label.checkbox_label input,
	.form label.checkbox_label input {
		margin:0 12px 0 0;
	}
	
	.fui-form .fui-checkbox-label,
	.fui-form .fui-radio-label {
		
	}
	
	.fui-form .fui-checkbox-input,
	.fui-form .fui-radio-input {
		
	}
	
	.fui-btn-container {
		margin-top:32px;
	}
	
	.fui-btn {
		padding:16px 32px;
		cursor:pointer;
	}
	
	/* -------- popups -------- */
	
	.fancybox-slide {
		padding:32px;
	}
	
	.popup_form_wrap {
		padding:48px;
	}
	
	/* -------- buttons -------- */
	
	.box_button {
		padding:16px 24px;
	}
	
	.box_button.small {
		padding:12px 16px;
	}
	
	.box_button.large {
		padding:24px 32px;
	}
	
	.line_button {
		padding:8px 0;
	}
	
	.line_button.large {
		font-size:1.1em;
	}
	
	/* -------- header -------- */
	
	#header {
		
	}
	
	#header .logo_wrap {
		padding:0 32px;
		height:96px;
	}
		
	#header .logo_wrap .logo img {
		width:192px;
	}
		
	#header .logo_wrap .phone_icon img {
		width:32px;
	}
	
	#header .logo_wrap .nav_icon {
		margin-left:24px;
	}
		
	#header .logo_wrap .nav_icon img {
		width:48px;
	}
	
	#header .nav_wrap {
		padding:24px 0;
	}
	
	#header .nav_wrap li.level1 > a {
		padding:12px 32px;
	}
	
	#header .nav_wrap li.level2 > a {
		padding:8px 48px;
	}
	
	#header .nav_wrap li.phone_link > a {
		
	}
	
	#header .nav_wrap li.phone_link img {
		width:32px;
		margin-right:12px;
	}
	
	/* -------- footer -------- */
	
	#footer {
		
	}
	
	#footer .footer_top {
		padding:64px 0;
	}
	
	#footer .footer_top .cols {
		flex-direction:row;
		justify-content:center;
		margin:-24px;
	}
	
	#footer .footer_top .cols .col {
		margin:24px;
	}
	
	#footer .footer_bot {
		text-align:center;
	}
	
	/* -------- signup panel -------- */
	
	.panel_signup {
		
	}
	
	.panel_signup .panel_cols {
		flex-direction:row;
		justify-content:center;
		align-items:center;
	}
	
	.panel_signup .col_image {
		justify-content:center;
		margin:0 96px 0 0;
	}
	
	.panel_signup .col_image .book img {
		width:192px;
	}
	
	.panel_signup.panel_inspect .col_image .image {
		
	}
	
	.panel_signup.panel_inspect .col_image .image img {
		width:auto;
		height:auto;
		max-width:256px;
		max-height:256px;
	}
	
	/* -------- home -------- */
	
	#home_feature {
		
	}
	
	#home_feature .feature_fg {
		min-height:420px;
	}
	
	#home_feature .feature_fg .content {
		padding:64px;
	}
	
	#home_feature .feature_fg .headline {
		font-size:2.2em;
		padding:48px 48px 64px 48px;
	}
	
	#home_feature .feature_fg .headline br {
		display:inline;
	}
	
	#home_feature .feature_fg .actions {
		
	}
	
	#home_key_items {
		
	}
	
	#home_key_items .key_items {
		flex-direction:row;
	}
	
	#home_key_items .key_item {
		flex:0 0 100%;
		flex-basis:calc(33.333% - 16px);
	}
	
	#home_key_items .key_item .image {
		flex-basis:160px;
	}
	
	#home_key_items .key_item .text {
		padding:24px;
	}
	
	#home_key_items .key_item .text .headline {
		
	}
	
	#home_key_items .key_item .text .excerpt {
		
	}
	
	#home_boxes {
		
	}
	
	#home_boxes .row {
		flex-direction:row;
		min-height:50vw;
	}
	
	#home_boxes .row_2 {
		flex-direction:row-reverse;
	}
	
	#home_boxes .box {
		flex:0 0 50%;
	}
	
	#home_boxes .box_text {
		display:flex;
		justify-content:center;
		align-items:center;
	}
	
	#home_boxes .box_image {
		height:auto;
	}
	
	#home_boxes .box .box_inner {
		padding:64px 48px;
	}
	
	/* -------- page_features -------- */
	
	#banner_with_headline {
		
	}
		
	#banner_with_headline .feature_fg {
		height:320px;
	}
	
	#banner_with_headline .feature_fg .headline_box {
		padding:32px;
	}
	
	#banner_with_headline .village_headline_box .logo {
		padding:32px;
	}
	
	#banner_with_headline .village_headline_box .logo .logo_img {
		width:64px;
	}
	
	#banner_with_headline .village_headline_box .text {
		padding:32px;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .large {
		font-size:2.4em;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .small {
		font-size:1.1em;
	}
	
	/* -------- villages -------- */
		
	.village_lists {
		margin:-32px 0;
	}
	
	.village_list {
		margin:32px 0;
	}
	
	.village_list .intro {
		
	}
	
	.village_list .items {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.village_list .items .item {
		flex:0 0 calc(50% - 16px);
	}
	
	.village_list .items .item .image {
		height:192px;
	}
	
	.village_list .items .item .image .logo {
		top:12px;
		left:12px;
	}
	
	.village_list .items .item .text {
		padding:24px;
	}
	
	.village_list .items .item .action {
		padding:16px 24px;
	}
	
	/* -------- village -------- */
	
	#village_intro {
		
	}
	
	#village_intro .intro_text {
		margin-bottom:96px;
		font-size:1.3em;
	}
	
	#village_intro .intro_items {
		flex-direction:row;
	}
	
	#village_intro .intro_items .item {
		flex:0 0 calc(33.333% - 16px);
	}
	
	#village_intro .intro_items .item .image {
		flex:0 0 192px;
	}
	
	#village_intro .intro_items .item .text {
		padding:16px;
	}
	
	#village_intro .intro_items .item .text .icon {
		margin-right:8px;
	}
	
	#village_about {
		
	}
	
	#village_about .cols {
		flex-direction:row;
		margin:-32px;
	}
	
	#village_about .col {
		margin:32px;
		flex:0 0 calc(33.333% - 64px);
	}
	
	#village_about .col .headline {
		
	}
	
	#village_about .col .content {
		
	}
	
	#village_about .col .actions {
		
	}
	
	#village_listings {
		
	}
	
	#village_map {
		
	}
	
	/* -------- contact page -------- */
	
	.contact_cols {
		display:flex;
		flex-direction:row;
		justify-content:space-between;
	}
	
	.contact_cols .col {
		flex:0 0 48%;
	}
	
	.contact_cols .col_form {
		margin:0;
	}
	
	/* -------- listings -------- */
	
	.panel_listings .panel_top {
		margin-bottom:32px;
	}
		
	.listing_filter .cols {
		flex-direction:row;
		margin:-12px;
	}
	
	.listing_filter .cols .col {
		flex:0 0 calc(50% - 24px);
		margin:12px;
	}
	
	.panel_listings .join_waiting_list {
		padding:48px;
	}
	
	.listings_village .listings .waiting_list {
		flex-direction:row;
	}
	
	.listings_village .listings .waiting_list .col_image {
		flex:0 0 auto;
		width:256px;
		height:auto;
	}
	
	.listings_village .listings .waiting_list .col_text {
		padding:32px;
	}
	
	.listings_village .listings .waiting_list .actions {
		margin-top:16px;
	}
	
	.listings {
		
	}
	
	.listings .listing {
		flex-direction:row;
	}
	
	.listings .listing .image {
		flex:0 0 256px;
		height:auto;
	}
	
	.listings .listing .text {
		padding:32px;
	}
	
	/* -------- listing -------- */
	
	.entry_listing {
		
	}
	
	.entry_listing .listing_top {
		flex-direction:row-reverse;
		min-height:256px;
	}
	
	.entry_listing .listing_top .col_image {
		flex-basis:50%;
	}
	
	.entry_listing .listing_top .col_text {
		align-items:center;
		flex:1 1 auto;
	}
	
	.entry_listing .listing_top .col_text .inner {
		padding:48px;
	}
	
	.entry_listing .listing_mid {
		grid-template-columns:1.2fr 0.8fr;
	}
	
	.entry_listing .listing_floorplan {
		grid-column:1;
		grid-row:1/4;
	}
	
	.entry_listing .listing_contact {
		grid-column:2;
		grid-row:1/2;
	}
	
	.entry_listing .listing_map {
		grid-column:2;
		grid-row:2/3;
	}
	
	.entry_listing .listing_village {
		grid-column:2;
		grid-row:3/4
	}
	
	/* -------- news list -------- */
		
	.articles {
		
	}
	
	.articles .article {
		flex-direction:row;
	}
	
	.articles .article .image {
		flex-basis:192px;
		min-height:192px;
	}
	
	.articles .article .text {
		padding:32px;
		justify-content:space-between;
	}
	
	.pagination {
		margin-top:48px;
	}
	
	.entry_article {
		
	}
	
	.entry_article .article_cols {
		flex-direction:row;
		justify-content:space-between;
	}
	
	.entry_article .article_cols .col_main {
		flex:1 1 auto;
	}
	
	.entry_article .article_cols .col_sidebar {
		flex:0 0 256px;
		margin:0 0 0 64px;
		padding:0;
		border:none;
	}
	
	/* -------- about -------- */
	
	.about_intro {
		margin-bottom:48px;
	}
	
	.about_items {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.about_items .item {
		flex:0 0 calc(50% - 48px);
		padding-bottom:32px;
	}
			
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1024px) {
	
	.page_headline {
		font-size:2.8em;
	}
	
	/* -------- header -------- */
	
	#header {
		
	}
	
	/* -------- footer -------- */
	
	#footer {
		
	}
	
	#footer .footer_top .cols {
		margin:-32px;
	}
	
	#footer .footer_top .cols .col {
		margin:32px;
	}
	
	/* -------- home -------- */
	
	#home_feature {
		
	}
	
	#home_feature .feature_fg {
		min-height:512px;
	}
	
	#home_feature .feature_fg .content {
		padding:64px;
	}
	
	#home_feature .feature_fg .headline {
		font-size:2.4em;
		padding:48px 48px 64px 48px;
	}
		
	#home_feature .feature_fg .actions {
		
	}
	
	#home_key_items {
		
	}
	
	#home_key_items .key_items {
		
	}
	
	#home_key_items .key_item {
		
	}
	
	#home_key_items .key_item .image {
		flex-basis:192px;
	}
	
	#home_key_items .key_item .text {
		padding:32px;
	}
	
	#home_key_items .key_item .text .headline {
	}
	
	#home_key_items .key_item .text .excerpt {
		
	}
	
	#home_boxes {
		
	}
	
	#home_boxes .box .box_inner {
		padding:64px;
	}
	
	/* -------- page_features -------- */
	
	#banner_with_headline {
		
	}
		
	#banner_with_headline .feature_fg {
		height:384px;
	}
	
	/* -------- villages -------- */
				
	.village_list .items .item {
		flex:0 0 calc(33.333% - 16px);
	}
	
	/* -------- village -------- */
	
	#village_intro {
		
	}
			
	#village_intro .intro_items {
		
	}
	
	#village_intro .intro_items .item {
		
	}
	
	#village_intro .intro_items .item .image {
		flex:0 0 256px;
	}
	
	#village_intro .intro_items .item .text {
		padding:24px;
	}
	
	#village_intro .intro_items .item .text .icon {
		margin-right:12px;
	}
	
	#village_about {
		
	}
	
	#village_listings {
		
	}
	
	#village_map {
		
	}
	
	/* -------- listings -------- */
		
	.listings {
		
	}
	
	.listings .listing {
		
	}
	
	/* -------- listing -------- */
	
	.entry_listing {
		
	}
	
	.entry_listing .listing_top {
		min-height:320px;
	}
	
	/* -------- news list -------- */
		
	.articles {
		
	}
	
	.articles .article {
		
	}
	
	.articles .article .image {
		
	}
	
	.articles .article .text {
		padding:48px;
	}
	
	.entry_article .article_cols .col_sidebar {
		flex-basis:320px;
	}
	
	/* -------- about -------- */
	
	.about_intro {
		
	}
	
	.about_items {
		
	}
		
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1280px) {
	
	.panel_padding {
		padding:96px 0;
	}
	
	.page_headline {
		font-size:3em;
	}
	
	/* -------- forms -------- */
	
	.fui-btn:hover {
		background-color:#19496a;
	}
	
	/* -------- buttons -------- */
	
	.box_button:hover {
		background-color:#19496a;
	}
	
	.box_button.darkblue:hover {
		background-color:#19496a;
	}
	
	.box_button.lightblue:hover {
		background-color:#64abe5;
	}
	
	.box_button.lightgrey:hover {
		background-color:#f5f5f5;
		color:#222;
	}
	
	.box_button.darkgrey:hover {
		background-color:#aaa;
	}
	
	.line_button {
		padding:12px 0;
	}
	
	.line_button.large {
		font-size:1.2em;
	}
	
	.line_button:hover:before {
		animation-name:line-button-hover;
		animation-iteration-count:infinite;
		animation-duration:1s;
	}
	
	/* -------- header -------- */
	
	#header {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
	}
	
	#header .logo_wrap {
		padding:0 48px;
	}
	
	#header .logo_wrap .right {
		display:none;
	}
		
	#header .nav_wrap {
		display:block;
		padding:0 48px 0 0;
		background-color:transparent;
	}
	
	#header.open .nav_wrap {
		display:block;
	}
	
	#header .nav_wrap .nav {
		display:flex;
		align-items:center;
	}
	
	#header .nav_wrap li.level1 > a {
		display:flex;
		align-items:center;
		height:96px;
		padding:0 16px;
		font-size:1em;
	}
	
	#header .nav_wrap li.has_dropdown > a:after {
		position:relative;
		display:inline-block;
		content:'▼';
		margin:0 0 0 8px;
		font-size:0.5em;
		color:#ccc;
	}
		
	#header .nav_wrap .dropdown {
		display:none;
		position:absolute;
		background-color:#f5f5f5;
		min-width:256px;
	}
	
	#header .nav_wrap li.level1:hover > a {
		background-color:#f5f5f5;
	}
	
	#header .nav_wrap li.level1:hover > .dropdown {
		display:block;
	}
	
	#header .nav_wrap li.level2 > a {
		padding:8px 16px;
	}
	
	#header .nav_wrap li.level2:first-child > a {
		padding-top:16px;
	}
	
	#header .nav_wrap li.level2:last-child > a {
		padding-bottom:16px;
	}
		
	#header .nav_wrap li.level2 > a:hover {
		background-color:#003559;
		color:#fff;
	}
	
	#header .nav_wrap li.village > a:hover .divider {
		color:#ddd;
		mix-blend-mode:overlay;
	}
	
	#header .nav_wrap li.village > a:hover .brand {
		color:#eee;
		mix-blend-mode:overlay;
	}
	
	/* -------- footer -------- */
	
	#footer {
		
	}
	
	#footer a:hover {
		text-decoration:underline;
	}
	
	#footer .footer_top {
		padding:96px 0;
	}
	
	#footer .footer_top .cols {
		margin:-48px;
	}
	
	#footer .footer_top .cols .col {
		margin:48px;
	}
	
	#footer .footer_bot {
		padding:32px 0;
		font-size:0.9em;
	}
	
	/* -------- home -------- */
	
	#home_feature {
		
	}
	
	#home_feature .feature_fg {
		min-height:600px;
	}
		
	#home_feature .feature_fg .headline {
		font-size:2.8em;
		padding:64px 64px 72px 64px;
	}
		
	#home_feature .feature_fg .actions {
		margin-top:-32px;
	}
	
	#home_feature .feature_fg .actions .box_button {
		padding:24px 32px;
		font-size:1.1em;
	}
	
	#home_feature .feature_fg .actions .box_button .icon {
		flex:0 0 24px;
		width:24px;
		margin-right:12px;
	}
	
	#home_feature .feature_fg .actions .box_button .icon img {
		max-width:24px;
		max-height:24px;
	}
	
	#home_key_items {
		
	}
	
	#home_key_items .key_items {
		margin:-16px;
	}
	
	#home_key_items .key_item {
		margin:16px;
		flex-basis:calc(33.333% - 32px);
	}
	
	#home_key_items .key_item .image {
		flex-basis:256px;
	}
	
	#home_key_items .key_item:hover .image:after {
		opacity:0.1;
	}
	
	#home_key_items .key_item .text {
		padding:32px;
	}
	
	#home_key_items .key_item:hover .text {
		border-color:#3c92d7;
	}
	
	#home_boxes {
		
	}
	
	#home_boxes .box .box_inner {
		padding:96px;
	}
	
	#home_boxes .box .headline {
		margin-bottom:24px;
		font-size:1.6em;
	}
	
	#home_boxes .box .actions {
		margin-top:32px;
	}
	
	#home_boxes .box .list_with_ticks li {
		margin:12px 0;
		font-size:1.1em;
	}
	
	#home_boxes .box .list_with_ticks li .icon {
		flex-basis:24px;
		margin-right:16px;
	}
	
	#home_boxes .box .list_with_ticks li .icon img {
		max-width:24px;
		max-height:24px;
	}
	
	/* -------- page_features -------- */
	
	#banner_with_headline {
		
	}
	
	#banner_with_headline .feature_fg {
		height:420px;
	}
	
	#banner_with_headline .feature_fg .headline_box {
		padding:48px;
	}
	
	#banner_with_headline .village_headline_box .logo {
		padding:48px;
	}
	
	#banner_with_headline .village_headline_box .logo .logo_img {
		width:96px;
	}
	
	#banner_with_headline .village_headline_box .text {
		padding:48px;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .large {
		font-size:2.8em;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .small {
		font-size:1.2em;
		margin-top:4px;
	}
	
	/* -------- villages -------- */
		
	.village_lists {
		margin:-48px 0;
	}
	
	.village_list {
		margin:48px 0;
	}
		
	.village_list .items {
		flex-direction:row;
		flex-wrap:wrap;
		margin:-12px;
	}
	
	.village_list .items .item {
		margin:12px;
		flex-basis:calc(33.333% - 24px);
	}
	
	.village_list .items .item .image {
		height:256px;
	}
	
	.village_list .items .item .image .logo {
		top:16px;
		left:16px;
		width:96px;
		height:96px;
	}
	
	.village_list .items .item .image .logo img {
		width:64px;
	}
	
	.village_list .items .item .text {
		padding:32px;
	}
	
	.village_list .items .item .action {
		padding:16px 32px;
	}
	
	/* -------- village -------- */
	
	#village_intro {
		
	}
	
	#village_intro .intro_text {
		font-size:1.4em;
	}
	
	#village_intro .intro_items {
		margin:-12px;
	}
	
	#village_intro .intro_items .item {
		margin:12px;
		flex:0 0 calc(33.333% - 24px);
	}
	
	#village_intro .intro_items .item .image {
		
	}
	
	#village_intro .intro_items .item:hover .image:after {
		opacity:1;
	}
	
	#village_intro .intro_items .item .text {
		font-size:1.1em;
	}
		
	#village_about {
		
	}
	
	#village_about .cols {
		margin:-48px;
	}
	
	#village_about .col {
		margin:48px;
		flex:0 0 calc(33.333% - 96px);
	}
	
	#village_listings {
		
	}
	
	#village_map {
		
	}
	
	/* -------- listings -------- */
	
	.panel_listings .panel_top {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		flex-wrap:wrap;
	}
	
	.panel_listings .panel_top .panel_headline {
		font-size:1.4em;
	}
	
	.panel_listings .panel_top .listing_filter {
		flex:1 1 auto;
		margin-left:128px;
	}
	
	.listing_filter .cols {
		
	}
	
	.listing_filter_v2 .northsouth .option {
		padding:16px 32px;
	}
	
	.listing_filter_v2 .northsouth .option:hover {
		background-color:#fff;
	}
		
	.listing_filter_v2 .northsouth .option.selected:hover {
		background-color:#489cdf;
	}
	
	.listings {
		
	}
	
	.listings .listing {
		
	}
	
	.listings .listing .image {
		flex:0 0 192px;
		width:192px;
		height:128px;
	}
	
	.listings .listing .image:hover:after {
		opacity:1;
	}
	
	.listings .listing .text {
		flex-direction:row;
		flex-wrap:wrap;
		justify-content:space-between;
		align-items:center;
		flex:1 1 auto;
	}
	
	.listings .listing .col_left {
		flex-direction:row;
		flex-wrap:wrap;
		align-items:center;
	}
	
	.listings .listing .col_name {
		flex-direction:row;
		align-items:center;
		margin:0 24px 0 0;
	}
	
	.listings .listing .col_name .headline {
		margin:0 16px 0 0;
	}
	
	.listings .listing .col_name .headline a:hover {
		text-decoration:underline;
	}
	
	.listings .listing .col_name .type {
		margin:0 24px 0 0;
	}
	
	.listings .listing .col_rooms {
		margin:0 24px 0 0;
	}
	
	.listings .listing .col_right {
		margin:0 0 0 24px;
	}
	
	.listings .listing .col_right .action {
		margin:0 0 0 16px;
	}
	
	.listings .listing .col_right .action:hover {
		text-decoration:underline;
	}
	
	.listings .result_empty {
		padding:32px;
	}
	
	.listings_village .listings .waiting_list .col_image {
		width:192px;
	}
	
	/* -------- listing -------- */
	
	.entry_listing {
		
	}
	
	.entry_listing .zoom_button {
		width:64px;
		height:64px;
		background-color:#f5f5f5;
	}
	
	.entry_listing .zoom_button:hover {
		background-color:#f9f9f9;
	}
	
	.entry_listing .zoom_button .zoom_icon {
		max-width:24px;
		max-height:24px;
	}
	
	.entry_listing .listing_top {
		min-height:420px;
		margin-bottom:32px;
	}
	
	.entry_listing .listing_top .col_text .inner {
		padding:64px;
	}
	
	.entry_listing .listing_top .col_text .village_link {
		height:48px;
		margin-botom:32px;
	}
	
	.entry_listing .listing_top .col_text .village_link .logo {
		flex-basis:48px;
		width:48px;
		height:48px;
	}
	
	.entry_listing .listing_top .col_text .village_link .logo img {
		max-width:24px;
		max-height:24px;
	}
	
	.entry_listing .listing_top .col_text .village_link .label {
		font-size:1.1em;
		padding:0 16px;
		line-height:48px;
	}
	
	.entry_listing .listing_top .col_text .house_number {
		font-size:3em;
	}
	
	.entry_listing .listing_top .col_text .design_name {
		font-size:1.2em;
	}
	
	.entry_listing .listing_top .col_text .rooms {
		margin-top:32px;
	}
	
	.entry_listing .listing_top .col_text .rooms .room {
		font-size:1.2em;
		margin-right:32px;
	}
	
	.entry_listing .listing_top .col_text .rooms .room .icon {
		flex-basis:24px;
		width:24px;
		margin-right:12px;
	}
	
	.entry_listing .listing_top .col_text .rooms .room .icon img {
		max-width:24px;
		max-height:20px;
	}
	
	.entry_listing .listing_mid {
		gap:32px;
	}
	
	.entry_listing .listing_floorplan {
		padding:48px;
	}
	
	.entry_listing .listing_floorplan .inner {
		padding:32px;
	}
	
	.entry_listing .listing_contact {
		padding:48px;
	}
	
	.entry_listing .listing_village {
		padding:48px;
	}
	
	/* -------- news list -------- */
		
	.articles {
		
	}
	
	.articles .article {
		
	}
	
	.articles .article .image {
		flex-basis:256px;
		min-height:256px;
	}
	
	.articles .article .image:hover:after {
		opacity:1;
	}
	
	.articles .article .text {
		padding:64px;
	}
	
	.articles .article .text .headline {
		font-size:1.6em;
		margin-bottom:16px;
	}
	
	.articles .article .text .headline a:hover {
		text-decoration:underline;
	}
	
	.articles .article .text .excerpt {
		font-size:1.1em;
	}
	
	.articles .article .text .actions {
		margin-top:24px;
	}
	
	.articles .article .text .actions .read_more:hover {
		text-decoration:underline;
	}
	
	.entry_article .article_cols .col_sidebar {
		flex-basis:384px;
		margin-left:96px;
	}
	
	.pagination {
		margin-top:64px;
	}
	
	/* -------- about -------- */
	
	.about_intro {
		margin-bottom:64px;
	}
	
	.about_intro p {
		font-size:1.6em;
	}
	
	.about_items {
		
	}
	
	.about_items {
		
	}
	
	.about_items .item {
		flex:0 0 calc(33.333% - 48px);
	}
			
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1600px) {
	
	.page_headline {
		font-size:3.2em;
	}
	
	/* -------- header -------- */
	
	#header {
		
	}
	
	#header .logo_wrap {
		padding:0 64px;
	}
		
	#header .nav_wrap {
		padding:0 64px 0 0;
	}
		
	#header .nav_wrap li.level1 > a {
		height:128px;
		padding:0 24px;
		font-size:1.2em;
	}
	
	#header .nav_wrap li.level2 > a {
		padding:12px 24px;
	}
	
	#header .nav_wrap li.level2:first-child > a {
		padding-top:24px;
	}
	
	#header .nav_wrap li.level2:last-child > a {
		padding-bottom:24px;
	}
	
	/* -------- footer -------- */
	
	#footer {
		
	}
	
	/* -------- home -------- */
	
	#home_feature {
		
	}
	
	#home_feature .feature_fg {
		min-height:768px;
	}
	
	#home_key_items {
		
	}
	
	#home_key_items .key_items {
		margin:-24px;
	}
	
	#home_key_items .key_item {
		margin:24px;
		flex-basis:calc(33.333% - 48px);
	}
	
	#home_key_items .key_item .image {
		flex-basis:320px;
	}
	
	#home_key_items .key_item .text {
		padding:40px;
	}
	
	#home_boxes {
		
	}
	
	/* -------- page_features -------- */
	
	#banner_with_headline {
		
	}
	
	#banner_with_headline .feature_fg {
		height:512px;
	}
	
	#banner_with_headline .feature_fg .headline_box {
		padding:48px 64px;
	}
	
	#banner_with_headline .village_headline_box .logo {
		
	}
	
	#banner_with_headline .village_headline_box .logo .logo_img {
		width:128px;
	}
	
	#banner_with_headline .village_headline_box .text {
		padding:64px;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .large {
		font-size:3em;
	}
	
	#banner_with_headline .village_headline_box .text .village_headline .small {
		font-size:1.3em;
	}
	
	/* -------- villages -------- */
	
	/* -------- village -------- */
	
	#village_intro {
		
	}
	
	#village_intro .intro_items {
		margin:-16px;
	}
	
	#village_intro .intro_items .item {
		flex:0 0 calc(33.333% - 32px);
		margin:16px;
	}
		
	#village_intro .intro_items .item .image {
		flex:0 0 320px;
	}
	
	#village_intro .intro_items .item .text {
		padding:32px;
		font-size:1.2em;
	}
	
	#village_about {
		
	}
	
	#village_listings {
		
	}
	
	#village_map {
		
	}
	
	/* -------- listings -------- */
		
	.listings {
		
	}
	
	.listings .listing {
		
	}
	
	.listings .listing .text {
		padding:32px 48px;
	}
	
	.listings .listing .col_name .headline {
		font-size:1.4em;
	}
	
	.listings .listing .col_rooms .room {
		margin-right:32px;
	}
	
	.listings .listing .col_rooms .room .icon {
		margin-right:12px;
	}
	
	.listings .listing .col_right .action {
		margin-left:24px;
	}
	
	/* -------- listing -------- */
	
	.entry_listing {
		
	}
	
	/* -------- about -------- */
	
	.about_intro {
		
	}
	
	.about_intro p {
		font-size:1.8em;
	}
	
	.about_items {
		
	}
	
	.about_items .item .image {
		flex-basis:320px;
	}
			
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@keyframes line-button-hover {
	
	0% {
		left:0;
		width:0;
	}
	
	50% {
		left:0;
		width:100%;
	}
	
	100% {
		left:100%;
		width:0;
	}
	
}

@keyframes fade-out {
	
	0% {
		opacity:1;
	}
	
	100% {
		opacity:0;
	}
	
}