/*  ==========================================================================
    Koppen en titels: Frutiger
    Lopende teksten: Frutiger
    Iconen: Font Awesome 5 Pro + Marieken

    Kleuren:
	groen: 58AA4D
	blauw: 0062A3
	rood: c43a2a 
    ========================================================================== */

/*  ==========================================================================
    custom fonts
    ========================================================================== */
	@font-face {
		font-family: 'Frutiger';

		src: url('../webfonts/frutigerlt57condensed.eot');
		src: url('../webfonts/frutigerlt57condensed.eot?#iefix') format('embedded-opentype'),
			url('../webfonts/frutigerlt57condensed.woff') format('woff'),
			url('../webfonts/frutigerlt57condensed.ttf') format('truetype');

		font-weight: normal;
		font-style: normal;
	}

	@font-face {
		font-family: 'Marieken';

		src: url('../webfonts/Marieken.eot');
		src: url('../webfonts/Marieken.eot?#iefix') format('embedded-opentype'),
			url('../webfonts/Marieken.woff2') format('woff2'),
			url('../webfonts/Marieken.woff') format('woff'),
			url('../webfonts/Marieken.svg#Marieken') format('svg');
		font-weight: normal;
		font-style: normal;
	}


/*  ==========================================================================
    body
    ========================================================================== */
	html,
	body {
		max-width: 2000px;
		margin: 0 auto;

		font-family: 'Frutiger', Helvetica, Arial, sans-serif;
		color: #000000;
		font-size: 1.05rem;
	}

	body.noscroll {
		overflow: hidden;
	}
	body.location_overview {
		padding-bottom: 100px;
	}


/*  ==========================================================================
    base
	========================================================================== */
/*  headings & paragraph
    ========================================================================== */
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-weight: bold;
	}

	.content h1,
	.content h2 {
		font-size: 1.5rem;
		/* 24px */
		color: #379144;
	}

	.content h1,
	.content .title {
		text-transform: uppercase;
	}

	.content h3,
	.content h4 {
		font-size: 1.125rem;
		/* 18px */
		color: #0062A3;
	}

/*  links
    ========================================================================== */
	a,
	a:not([href]):not([tabindex]) {
		cursor: pointer;
		color: #58AA4D;

		-webkit-transition: color 0.3s ease;
		transition: color 0.3s ease;
	}

	a:hover,
	a:focus,
	a:not([href]):not([tabindex]):focus,
	a:not([href]):not([tabindex]):hover {
		outline: none;
		text-decoration: none;
		color: #0E62A4;
	}

	a[href^='tel:'] {
		pointer-events: auto;
	}


/*  lists
	========================================================================== */
	ul,
	ol {
		padding: 0;
		list-style: none;
	}

	body:not(.search_and_book) .content ul>li,
	.content ol>li {
		position: relative;
		padding-left: 20px;
	}

	body:not(.search_and_book) .content ul>li::before,
	body:not(.search_and_book) .content ol>li::before {
		position: absolute;
		top: 0;
		left: 0;

		font-family: 'Font Awesome 5 Pro';
		font-size: 10px;
		font-weight: 900;
		line-height: 1.5rem;
		color: #c43a2a;

		content: '\f111';
	}

	body:not(.search_and_book) .content ol>li::before {
		font-weight: 400;
		content: '\f111';
	}


/*  ==========================================================================
    container
    ========================================================================== */
	.container { position: relative; }


/*  ==========================================================================
    main - add padding to fix scroll issues (footer fixed-bar above content).
    ========================================================================== */
	main {
		padding-bottom: 180px;
	}

/*  ==========================================================================
    header
    ========================================================================== */
	.header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 200;

		width: 100%;
	}

	.header.hidden {
		display: none;
	}

	.header .container-fluid {
		padding: 0;
	}

/*  header > header-nav
    ========================================================================== */
	.header .header-nav {
		padding: 2px;
	}

	.header .header-nav ul {
		margin: 0;
		list-style: none;
	}

	.header .header-nav ul>li {
		position: relative;
		margin-left: 2px;

		font-size: 1.125rem;
		/* 18px */
		line-height: 20px;
		text-transform: uppercase;
	}

	.header .header-nav ul>li>a {
		display: block;
		min-width: 40px;
		padding: 10px;

		background: #FFFFFF;

		text-align: center;
		color: #000000;

		-webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		-moz-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
	}

	.header .header-nav ul>li>a:hover,
	.header .header-nav ul>li.active>a {
		background: #58AA4D;
		color: #FFFFFF;
	}

	/* header > header-nav > languages */
	.header .header-nav ul>li.languages>a>i {
		margin-left: 5px;
	}

	.header .header-nav ul>li.languages>ul {
		position: absolute;
		left: 0;
		right: 0;

		display: none;
		margin-left: 0;
	}

	.header .header-nav ul>li.languages:hover>ul {
		display: block;
	}

	.header .header-nav ul>li.languages>ul>li {
		margin-left: 0;
		margin-top: 2px;
	}

	/* hide header-nav on booking page */
	body.book .header .header-nav {
		display: none;
	}

/*  header > header-nav > nav-toggle
	========================================================================== */
	.header .header-nav ul>li>a.nav-toggle>i {
		margin-right: 5px;
	}


/*  ==========================================================================
    header.active
	========================================================================== */
	.header.active {
		background: #000000;
	}

	.header.active .header-nav {
		display: flex;
		justify-content: end;
		width: 100%;
	}

	.header.active .header-nav ul {
		margin-left: auto;
	}

	.header.active .header-nav ul>li>a {
		background: transparent;
		color: #FFFFFF;

		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}

	.header.active .header-nav ul>li>a:hover,
	.header.active .header-nav ul>li.active>a {
		color: #58AA4D;
	}

	.header.active .header-nav ul>li.languages>ul>li>a {
		background: #58AA4D;
	}

	.header.active .header-nav ul>li.languages>ul>li>a:hover {
		background: #FFFFFF;
	}


/*  ==========================================================================
    navigation
	========================================================================== */
	.navigation {
		position: relative;

		display: flex;
		width: 100%;
		min-height: 100vh;
		padding-top: 75px;
		padding-bottom: 125px;

		background: #c43a2a;
		-webkit-transition: 0.5s ease;
		transition: 0.5s ease;
	}

	.navigation .container {
		padding: 0 1.5rem;
	}

	.navigation .col {
		padding: 0 15px;
	}
	
	.footer.navigation {
		min-height: auto;
	}

/*  navigation > menu
    ========================================================================== */
	.navigation .nav ul {
		width: 100%;
		margin: 0;

		list-style: none;
	}

	.navigation .nav ul>li {
		position: relative;
		width: 100%;

		font-size: 1.5rem;
		/* 24px */
	}

	.navigation .nav ul>li>a {
		display: block;

		color: #FFFFFF;
		text-decoration: none;
		font-weight: bold;

		-webkit-transition: color 0.3s ease, background 0.3s ease;
		transition: color 0.3s ease, background 0.3s ease;
	}

	.navigation .nav ul>li>a:hover,
	.navigation .nav ul>li.active>a {
		color: #58AA4D;
	}

	/* navigation > menu > sub */
	.navigation .nav ul>li.sub {
		padding-right: 50px;
	}

	.navigation .nav ul>li.sub .extend {
		position: absolute;
		top: 0;
		right: 0;

		width: 35px;

		text-align: center;
		color: #FFFFFF;
	}

	.navigation .nav ul>li.sub>ul {
		display: none;
	}

	.navigation .nav ul>li.sub>ul.open {
		display: flex;
		flex-wrap: wrap;
	}

	.navigation .nav ul>li.sub>ul>li {
		width: auto;
		font-size: 1.125rem;
		/* 18px */
	}

	.navigation .nav ul>li.sub>ul>li>a {
		padding: 0 10px;
	}

/*  navigation > extra-nav
	========================================================================== */
	.navigation .extra-nav ul {
		margin: 0;
		list-style: none;
	}

	.navigation .extra-nav ul>li>a {
		color: #FFFFFF;
	}

	.navigation .extra-nav ul>li>a:hover,
	.navigation .extra-nav ul>li.active>a {
		text-decoration: none;
		color: #58AA4D;
	}

/*  navigation > socials
	========================================================================== */
	.navigation .socials {
		padding: 30px 0;
	}

	.navigation .socials ul {
		margin: 0;
		margin-left: -20px;

		list-style: none;
	}

	.navigation .socials ul>li {
		margin: 0 20px;
		font-size: 1.875rem;
		/* 30px */
	}

	.navigation .socials ul>li>a {
		display: block;
		color: #FFFFFF;
	}

	.navigation .socials ul>li>a:hover {
		color: #58AA4D;
	}

/*  navigation > information
	========================================================================== */
	.navigation .information {
		color: #FFFFFF;
	}

/*  navigation.overlay
	========================================================================== */
	.navigation.overlay {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: 100;

		display: none;
		overflow-y: auto;

		background: #000000;
		background: rgba(0, 0, 0, .8);
	}

	.navigation.overlay.open {
		display: flex;
	}

/*  ==========================================================================
    search btn
		========================================================================== */
		
		.header .header-nav .search {
			background: #58AA4D;
			color: #FFFFFF;
			transition: all 0.5s ease;
		}
		.header .header-nav .search:hover {
			background: #C43A2A;
		}
		@media (max-width: 575px) {
			.header .header-nav .search {
				font-size: 0;
				line-height: 12px;
			}
			.header .header-nav .search i { font-size: initial; }
		}


/*  ==========================================================================
    banner
    ========================================================================== */
	.banner {
		position: relative;
	}

	.banner,
	.banner .item,
	.banner .item .caption {
		min-height: 35vh;
	}

/*  banner.h-75vh
    ========================================================================== */
	.banner.h-75vh,
	.banner.h-75vh .item,
	.banner.h-75vh .caption {
		min-height: 75vh;
	}

/*  banner.h-full
    ========================================================================== */
	.banner.h-full,
	.banner.h-full .item,
	.banner.h-full .caption {
		min-height: 100vh;
	}

/*  banner > caption
    ========================================================================== */
	.banner .caption {
		padding: 75px 0;
		background: rgba(0, 0, 0, 0.2);
	}
	.home .banner .caption { padding: 150px 0 455px 0; }

	.banner .caption .container-fluid {
		max-width: 1250px;
		margin-left: 0;
	}

	.banner .caption .title {
		margin-bottom: 0;

		font-size: 1.5rem;
		/* 24px */
		text-transform: uppercase;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
		color: #FFFFFF;
	}

	.banner .caption .subtitle {
		margin-bottom: 0;

		font-size: 1.125rem;
		/* 18px */
		text-transform: uppercase;
		text-shadow: 2px 2px 3px rgba(0, 0, 0, .5);
		color: #58AA4D;
	}

	.banner .caption p {
		text-shadow: 2px 2px 3px rgba(0, 0, 0, .5);
		color: #FFFFFF;
	}

	.banner .caption ul>li,
	.banner .caption ol>li {
		position: relative;
		padding-left: 20px;

		text-shadow: 2px 2px 3px rgba(0, 0, 0, .5);
		color: #FFFFFF;
	}

	.banner .caption ul>li::before,
	.banner .caption ol>li::before {
		position: absolute;
		top: 0;
		left: 0;

		font-family: 'Font Awesome 5 Pro';
		font-size: 10px;
		font-weight: 900;
		line-height: 1.5rem;
		color: #FFFFFF;

		content: '\f111';
	}

	.banner .caption ol>li::before {
		font-weight: 400;
		content: '\f111';
	}

	.banner .caption .btn {
		margin-top: 20px;
		white-space: inherit;
	}


/*  ==========================================================================
    mini-
    ========================================================================== */
	.mini_search_book {
    position: absolute;
    bottom: 250px;
		left: 0;
		z-index: 10;

		padding: 0 1.5rem 0 1.5rem;
	}
	@media (min-width: 576px) {
		.mini_search_book {
			padding: 0 0 0 10vw;
		}
	}
	
	.mini_search_book .w3-minisearchbook-widget {
		max-width: 340px;
    width: 100%;
	}


/*  ==========================================================================
    section
    ========================================================================== */
	section {
		padding: 50px 0;
	}

	.home .content.bg-color-white {
		display: flex;
	}

	.home .content.bg-color-white .container {
		margin-top: auto;
		margin-bottom: auto;
	}


/*  ==========================================================================
    contact-form
	========================================================================== */
	.contact-form { min-height: 50vh; }
	.contact-form .container-fluid {
		max-width: 650px;
	}
	.contact-form h2 {
		font-size: 1.67rem;
		color: #379144;
	}
	.contact-form hr {
		margin: 30px 0;
		border-top: 1px solid #C43A2A;
	}

	.contact-form form .form-group:last-of-type {
		margin-top: 30px;
		padding-top: 30px;
		border-top: 1px solid #C43A2A;
	}
	.contact-form form fieldset.form-group:last-of-type {
		margin-top: 0;
		padding-top: 0;
	}

	.contact-form .btn,
	.contact-form .btn:not([href]):not([tabindex]) {
		background: #C43A2A;
		border: 1px solid #C43A2A;
		box-shadow: 3px 3px 3px 0 rgba(0,0,0,.2);

		color: #FFFFFF;
	}

	.contact-form .btn:focus,
	.contact-form .btn:hover,
	.contact-form .btn:not([href]):not([tabindex]):focus,
	.contact-form .btn:not([href]):not([tabindex]):hover {
		background: #58AA4D;
		border: 1px solid #58AA4D;
		box-shadow: 3px 3px 3px 0 rgba(0,0,0,.2);

		color: #FFFFFF;
	}

/*  ==========================================================================
    mailchimp-form
	========================================================================== */
	#mc_embed_signup .email {
		display: block;
    height: calc(2.25rem + 2px);
		padding: .375rem .75rem;

    border: 1px solid #000000;
		border-radius: .25rem;
		
    font-size: 1rem;
    line-height: 1.5;
		color: #495057;
		
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	}

	.footer #mc_embed_signup .email {
		width: 100%;
		border: 1px solid #FFFFFF;
	}

/*  ==========================================================================
    news
	========================================================================== */
	.news .card-columns {
		-webkit-column-gap: 15px;
		-moz-column-gap: 15px;
		column-gap: 15px;
	}

	.news .card {
		margin-bottom: 15px;
		border: 0;

		transition: all 0.5s ease;
	}

	.news .card:hover {
		opacity: 0.8;
	}

	.news .card .card-image {
		position: relative;
	}

	.news .card .card-image::after {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 0;

		display: block;
		width: 100%;
		height: 50%;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 100%);

		content: '';
	}

	.news .card .card-image .card-img {
		display: block;
		border-radius: 0;
	}

	.news .card .card-body {
		padding: 15px;
		background-color: #379144;

		color: #FFFFFF;
	}

	.news .card .card-body .card-title {
		margin-bottom: 5px;
		font-size: 1.25rem;
	}

	.news .card .card-body .card-subtitle {
		margin-bottom: 10px;
		padding-bottom: 10px;

		border-bottom: 1px solid #FFFFFF;
	}

	.news .card .card-body .btn {
		border: 1px solid #C43A2A;
	}

	.news.detail .title h1 {
		margin-bottom: 0;
	}

	.news.detail .date {
		margin-bottom: 15px;
	}

	.news.detail .image img {
		width: 100%;
		height: auto;
	}


/*  ==========================================================================
    accommodations
	========================================================================== */
/*  accommodations > heading
	========================================================================== */
	.heading {
		padding-top: 85px;
		padding-bottom: 10px;
	}

	.heading .container-fluid {
		max-width: 1800px;
	}

	.heading .title {
		margin-bottom: 15px;

		font-size: 1.5rem;
		/* 24px */
		font-weight: bold;
		color: #c43a2a
	}

	.heading .subtitle {
		font-size: 1.125rem;
		/* 18px */
		font-weight: bold;
		color: #58AA4D;
	}

	.heading .subnav,
	.heading .icons {
		margin: 0;
		list-style: none;
	}

	.heading .subnav>li {
		padding: 0 15px;
	}

	.heading .icons>li {
		padding: 0 1px;
	}

	.heading .icons>li::before {
		display: none;
	}


	.heading .icons li {
		position: relative;
		padding: 2px;
		border: 2px solid #58AA4D;
		margin: 0 3px 5px;
		height: 30px;
		width: 30px;
		text-align: center;
		border-radius: 4px;
	}
	.heading .icons li i {
		font-size: 22px;
		color: #58AA4D;
	}
	.heading .icons li .tool-tip {
		position: absolute;
		z-index: 2;
		min-width: 80px;
		top: 25px;
		left: -25px;
		display: block;
		background: rgba(0, 0, 0, 0.8);
		text-align: center;
		font-size: 14px;
		padding: 5px;
		color: #fff;
		opacity: 0;
		transition: all 0.5s ease;
		visibility: hidden;
	}
	.heading .icons li .tool-tip::before {
		bottom: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(0, 0, 0, 0);
		border-bottom-color: rgba(0, 0, 0, 0.8);
		border-width: 5px;
		margin-left: -5px;
	}
	.heading .icons li:hover .tool-tip {
		opacity: 1;
		visibility: visible;
	}

/*  accommodations > sub-nav
    ========================================================================== */
	.sub-nav {
		position: relative;
	}

	.sub-nav.sticky {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 300;

		background: #FFFFFF;
		-webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		-moz-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
	}

	.sub-nav .container-fluid {
		max-width: 1800px;
	}

	.sub-nav ul {
		margin: 0;
		list-style: none;
	}

	.sub-nav ul>li {
		padding: 10px;
	}

	.sub-nav ul>li::before {
		display: none;
	}

	.sub-nav ul>li>a {
		display: block;
		border-bottom: 4px solid #FFFFFF;

		color: #339243;

		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.sub-nav ul>li>a:hover,
	.sub-nav ul>li.active>a {
		border-bottom: 4px solid #339243;
	}

/*  accommodations > banner
	========================================================================== */
	.acco-banner .slider {
		position: relative;
	}

	.acco-banner .iframe-map {
		margin-top: 5px;
	}

	.acco-banner .iframe-map .icon {
		margin-right: 5px;
	}

	.acco-banner .iframe-map .holder {
		flex: 1 1 auto;
	}
	.acco-banner .iframe-map .iconlisting li {
		position: relative;
		margin-bottom: 1px;
	}
	.acco-banner .iframe-map .iconlisting li .tool-tip {
		position: absolute;
		z-index: 2;
		min-width: 80px;
		top: 70%;
		left: -10px;
		display: block;
		background: rgba(55, 145, 68, 0.9);
		text-align: center;
		font-size: 14px;
		padding: 5px;
		color: #fff;
		opacity: 0;
		transition: all 0.5s ease;
		visibility: hidden;
	}
	.acco-banner .iframe-map .iconlisting li .tool-tip::before {
		bottom: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(55, 145, 68, 0);
		border-bottom-color: rgba(55, 145, 68, 0.9);
		border-width: 5px;
		margin-left: -5px;
	}
	.acco-banner .iframe-map .iconlisting li:hover .tool-tip {
		opacity: 1;
		visibility: visible;
	}



/*  accommodations > content
	========================================================================== */
	.contact-info {
		color: #c43a2a;
	}

/*  accommodations > overview
	========================================================================== */
	.acco-overview h2,
	.acco-overview h3 {
		font-size: 1.5rem;
		/* 24px */
		color: #379144;
	}

	.acco-overview .item {
		border: 0;
		border-radius: 0;
	}

	.acco-overview .item .card-header {
		padding: 0;
		border: 0;
		background: #379144;
	}

	.acco-overview .item .card-body {
		padding: 15px 30px;
		background: #379144;
		color: #fff;
	}

	.acco-overview .item .card-body .card-title {
		color: #fff;
		margin: 0 0 5px;
		line-height: 30px;
	}

	.acco-overview .item .card-body .card-subtitle {
		font-size: 0.875rem;
	}

	.acco-overview .item .card-body .btn {
		margin: 5px 5px 0 0;
		padding: 0 25px;
		min-width: 135px;
		font-size: 0.875rem;
		line-height: 1.75rem;
		font-weight: normal;
		border: 0;
		-webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		-moz-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
	}

	.acco-overview .item .card-body .optional-costs-desc {
		font-size: 14px;
    line-height: 15px;
	}

	.acco-overview .item .card-footer {
		padding: 15px;
		background: #58AA4D;
		color: #fff;
		border-radius: 0;
		border: 0;
	}

	.acco-overview .icons,
	.acco-overview .specs {
		margin: 0;
		list-style: none;
	}

	.acco-overview .icons li {
		position: relative;
		padding: 2px;
		border: 1px solid #fff;
		margin: 0 3px 5px;
		height: 30px;
		width: 30px;
		text-align: center;
		border-radius: 4px;
	}
	.acco-overview .icons li i {
		font-size: 22px;
	}
	.acco-overview .icons li .tool-tip {
		position: absolute;
		z-index: 2;
		min-width: 80px;
		top: 25px;
		left: -25px;
		display: block;
		background: rgba(0, 0, 0, 0.8);
		text-align: center;
		font-size: 14px;
		padding: 5px;
		color: #fff;
		opacity: 0;
		transition: all 0.5s ease;
		visibility: hidden;
	}
	.acco-overview .icons li .tool-tip::before {
		bottom: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(0, 0, 0, 0);
		border-bottom-color: rgba(0, 0, 0, 0.8);
		border-width: 5px;
		margin-left: -5px;
	}
	.acco-overview .icons li:hover .tool-tip {
		opacity: 1;
		visibility: visible;
	}



	.acco-overview .specs .price {
		font-weight: 600;
		font-size: 1.125rem;
	}

	.acco-overview .item .card-body .js-price-details .btn {
		padding: 5px 25px;
		background: #ffa02e;
		border-radius: 20px;
		line-height: 30px;
		font-size: 19px;
		font-weight: 500;
	}
	.acco-overview .item .card-body .js-price-details .btn::after {
    font-family: 'Font Awesome 5 Pro';
    content: '\f30b';
    margin-left: 15px;
	}
	.acco-overview .item .card-body .js-price-details .btn:hover {
		background: #58AA4D;
		color: #fff;
	}

/*  accommodations > extra-info
    ========================================================================== */
	.acco-extra-info {
		padding: 40px 0 110px;
		background: #F2D7D3;
	}

	.acco-extra-info .container-fluid {
		max-width: 1800px;
	}

/*  accommodations > extra-info > gallery
	========================================================================== */
	.acco-extra-info .gallery {
		margin-bottom: 45px;
	}

	.acco-extra-info .gallery .col {
		display: none;
	}

	.acco-extra-info .gallery .col:last-of-type {
		display: block;
	}

	.acco-extra-info .gallery .image {
		position: relative;
		display: block;
	}

	.acco-extra-info .gallery .image.hidden {
		display: none;
	}

	.acco-extra-info .gallery .image img {
		width: 100%;
	}

	.acco-extra-info .gallery .col:last-of-type .image img {
		opacity: 0.2;
	}

	.acco-extra-info .gallery .image .caption {
		position: absolute;
		top: 0;
		left: 0;

		display: none;
		justify-content: center;
		align-items: center;

		width: 100%;
		height: 100%;
		padding: 15px;

		font-weight: bold;
		color: #c43a2a;
	}

	.acco-extra-info .gallery .col:last-of-type .image .caption {
		display: flex;
	}

/*  accommodations > extra-info > information
	========================================================================== */
	.acco-extra-info .information {
		word-wrap: break-word;
	}

	.acco-extra-info .information .title {
		margin-bottom: 45px;
	}

	.acco-extra-info .information .title h2 {
		font-size: 1.5rem;
		/* 24px */
		font-weight: bold;
		text-transform: none;
		color: #379144;
	}

	.acco-extra-info .information h3 {
		margin-bottom: 0;

		font-size: 1.25rem;
		/* 20px */
		font-weight: bold;
		color: #379144;
	}

/*  accommodations > extra-info > information > brands
	========================================================================== */
	.acco-extra-info .information .brands h3 {
		margin-bottom: 10px;
	}

	.acco-extra-info .information .brands .items .item .description {
		padding-left: 15px;
	}

	/*  accommodations > > map
	========================================================================== */
	.acco-map {
		height: 500px;
	}

/*  ==========================================================================
    location_detail
		========================================================================== */
	.location_detail .iconlisting { display: none; }
	.location_detail .map_image {
		position: relative;
		z-index: 10;

		max-width: 200px;
		margin: -25px auto 0 auto;
	}
	.location_detail .map_image img {
		width: 100%;
		height: auto;
	}

/*  ==========================================================================
    Inspiration blocks
	========================================================================== */
	.inspiration {
		display: flex;
    flex-wrap: wrap;
		
		margin-top: 30px;
		margin-right: -15px;
		margin-left: -15px;
	}
	.inspiration .item {
		position: relative;
		flex: 0 0 100%;

		max-width: 100%;
    width: 100%;
		min-height: 1px;
		margin-bottom: 1rem;
    padding-right: 15px;
    padding-left: 15px;
	}
	@media (min-width: 576px) {
		.inspiration .item {
			margin-bottom: 1.5rem;
		}
	}
	@media (min-width: 1200px) {
		.inspiration .item {
			flex: 0 0 33.333333%;
    	max-width: 33.333333%;
		}
	}

	.inspiration .card {
		border:  none;
		border-radius: 0;
		transition: all 0.5s ease !important;
		opacity: 1;
	}
	.inspiration .card:hover {
		opacity: 0.8;
	}

	.inspiration .card .card-img-top {
		border-radius: 0;
	}

	.inspiration .card .card-caption {
		height: 100%;
		display: flex;
		align-items: flex-end;
	}

	.inspiration .card .card-caption .card-title {
		margin: 0;
		color: #fff;
		font-size: 22px;
	}

	.inspiration .card a::before {
		content: '';
		position: absolute;
		display: block;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 50%;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 100%);
	}


/*  ==========================================================================
    search and book
	========================================================================== */
/*  filter > heading
	========================================================================== */
	.search-and-book {
		padding-top: 15px;
	}
	.search-and-book .heading {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;

		padding: 15px 0 30px;
	}

	.search-and-book .heading h1 {
		margin: 0;
		font-size: 1.5rem;
		/* 24px */
	}

	.search-and-book .heading .subtitle {
		color: #000000;
	}

	.search-and-book .heading .form-control {
		border: 0;
	}

	.dropdown-toggle {
		border: 1px solid #000000 !important;
		box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
	}

	.dropdown-toggle::after {
		display: none;
	}

	.vdp-datepicker input {
		width: 100%;
		border: 0;
	}

	.filter .btn-red a {
		color: #fff !important;
		font-size: 13px;
		margin-left: 5px;
	}
	.search-and-book .filter button.btn-tag {
    padding: 2px 15px;
    line-height: 25px;
    color: #fff;
    border-color: #379144;
    background-color: #379144;
	}

	.filter button.btn.btn-back {
    background: #c44031;
    color: #fff;
    border-color: #fff;
	}
	.filter button.btn.btn-primary::after {
		font-family: 'Font Awesome 5 Pro';
		content: '\f30b';
		margin-left: 15px;
	}
	.filter .filter-toggle {
		float: right;
	}

	/* datepicker */
	.search-and-book .vdp-datepicker__calendar .cell.selected {
		background-color: #58AA4D;
		color: #fff;
	}

	.search-and-book .vdp-datepicker__calendar .cell.selected:hover {
		background-color: #C43A2A;
		border-color: #C43A2A !important;
	}

	.search-and-book .vdp-datepicker__calendar .cell:not(.blank):not(.disabled).day:hover,
	.search-and-book .vdp-datepicker__calendar .cell:not(.blank):not(.disabled).month:hover,
	.search-and-book .vdp-datepicker__calendar .cell:not(.blank):not(.disabled).year:hover {
		border-color: #58AA4D;
	}

	/* routes / categories */
	.search-and-book .categories>ul>li>span {
		display: block;

		font-weight: bold;
		cursor: pointer;
	}

	.search-and-book .categories>ul>li>span.active {
		color: #339243;
	}

	.search-and-book .categories>ul>li>span::after {
		margin-left: 15px;

		font-family: 'Font Awesome 5 Pro';
		font-weight: bold;
		content: '\f0d7';
	}

	.search-and-book .categories>ul>li>span.active::after {
		color: #339243;
		content: '\f0d8';
	}

	.search-and-book .categories>ul>li>ul {
		padding-bottom: 10px;
	}

	.search-and-book .categories>ul>li>ul>li {
		display: block;
		padding-left: 10px;
		cursor: pointer;

		transition: all 0.5s;
	}

	.search-and-book .categories>ul>li>ul>li:hover {
		color: #339243;
	}

	.search-and-book .route-details .title {
		display: flex;
		flex-wrap: wrap;
	}
	.search-and-book .route-details .title h5 {
		margin-top: 7px;
		margin-right: auto;
	}
	.search-and-book .dropdown-menu::-webkit-scrollbar {
		width: 15px;
	}
	.search-and-book .dropdown-menu::-webkit-scrollbar-thumb {
		background-color: #379144;
		outline: 1px solid #ffffff;
		border: 1px solid #ffffff;
		min-height: 50px;
	}


/*  overlay loader
	========================================================================== */
	.overlay-loader {
		position: absolute;
		z-index: 9;
		top: 0;
		width: 100%;
		bottom: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(255, 255, 255, 0.9);
	}
	.overlay-loader .v-spinner .v-clip {
		height: 65px!important;
		width: 65px!important;
	}

/*  acco-overview
	========================================================================== */
	.search-and-book .card,
	.search-and-book .card img,
	.search-and-book .card .card-footer {
		border-radius: 0;
	}

	.search-and-book .card {
		transition: all 0.5s ease !important;
		opacity: 1;
		background: #379144;
	}

	.search-and-book .card:hover {
		opacity: 0.8;
	}

	.search-and-book .card .card-img-holder {
		position: relative;
	}

	.search-and-book .card .card-img-holder::before {
		content: '';
		position: absolute;
		display: block;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 50%;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 100%);
	}

	.search-and-book .card .card-body {
		padding: 10px 15px;
		background: #379144;

		color: #FFFFFF;
		line-height: 1.5rem;
	}

	.search-and-book .card .card-title {
		position: absolute;
		bottom: 0;

		margin: 0 0 2px;
		padding: 10px 15px;

		color: #FFFFFF;
		font-weight: normal;
	}

	.search-and-book .card .card-footer {
		padding: 10px 15px;
		background: #379144;
		font-size: 0.875rem;

		color: #FFFFFF;
	}

	.search-and-book .card .card-bookstatus {
		padding: 0 15px;
		height: 50px;
		background-color: #58AA4D;
		color: #fff;
		display: flex;
		align-items: center;
		line-height: 20px;
		border-radius: 5px;
    margin: 3px;
	}
	.search-and-book .card .card-bookstatus::after {
		font-family: 'Font Awesome 5 Pro';
    content: '\f30b';
    margin-left: 15px;
	}
	.search-and-book .card .card-bookstatus.direct-boeken {
		background-color: #ffa02e;
	}
	.search-and-book .card .card-bookstatus i.fa {
		font-size: 12px;
		margin-right: 10px;
	}

/*  gmaps
	========================================================================== */
	.search-and-book .gmaps {
		margin-top: 75px;
	}

	.search-and-book .gmaps iframe {
		position: relative;
		width: 100%;
	}

	.search-and-book .gmaps #map {
		width: 100%;
		height: calc(100vh - 135px);
	}

	.gm-style > div > a > div > img,
	.gm-style .gm-fullscreen-control,
	.gm-style .gmnoprint,
	.gm-style .gm-style-cc,
	.gm-style .gmnoscreen {
		display: none !important;
	}

	.gm-style-iw h2 {
		font-size: 1rem;
		color: #0062a3;
		margin: 0;
	}

	.gm-style-iw .location-address,
	.gm-style-iw .location-acco-info {
		font-size: 0.875rem;
		font-weight: normal;
	}

	.gm-style-iw a.btn {
		margin-top: 30px;
	}

	.gm-style-iw .gm-ui-hover-effect img {
		width: 22px;
		height: 22px;
		margin: 10px 5px;
	}


/*  ==========================================================================
    filter-overlay
    ========================================================================== */
	.filter-overlay {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: 400;

		padding-top: 75px;
		padding-bottom: 125px;
		overflow-y: auto;

		background: #FFFFFF;
		background: rgba(255, 255, 255, .95);
	}

	.filter-overlay.open {
		display: flex;
	}

	.filter-overlay .container {
		max-width: 900px;
		padding: 0 20px;
	}

	.filter-overlay .link {
		position: absolute;
		right: 20px;
		top: -40px;
		
		margin-bottom: 30px;

		text-decoration: underline;
		color: #000000;
		
	}

	.filter-overlay .main-filter {
		margin-bottom: 10px;
	}

	.filter-overlay .group legend {
		position: relative;

		margin-top: 10px;

		font-weight: bold;
		color: #379144;
	}

	.filter-overlay .group legend .icon {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;

		width: 30px;

		line-height: 30px;
		text-align: center;
		cursor: pointer;
	}

	.filter-overlay .group .form-groups {
		display: none;
	}

	.filter-overlay .group .extra-info {
		position: relative;
		display: inline-block;
	}

	.filter-overlay .group .extra-info i {
		display: block;
		color: #E4A993;
	}

	.filter-overlay .group .extra-info span {
		display: none;

		position: absolute;
		top: 40px;
		left: -15px;
		z-index: 100;

		min-width: 200px;
		padding: 15px;

		background: #FFFFFF;
		background: rgba(255, 255, 255, .95);
		border-radius: 0.25rem;
		border-top-left-radius: 0;

		filter: drop-shadow(0 0 0.75rem rgba(0, 0, 0, .15));

		font-weight: normal;
	}

	.filter-overlay .group .extra-info span::before {
		position: absolute;
		top: -10px;
		z-index: 1;

		display: block;
		width: 0;

		border-style: solid;
		border-width: 0 10px 10px;
		border-color: rgba(255, 255, 255, .95) transparent;

		content: '';
	}

	.filter-overlay .btn {
		margin-top: 20px;
	}

/*  ==========================================================================
    Book widget overwrite
	========================================================================== */

	.book #overzicht {
		padding-top: 30px;
	}
	.book .w3media-booking-wrapper .loader .overlay {
		background: #fff;
		opacity: .8;
	}
	.book .w3media-booking-wrapper .navbar.steps li .circle {
		line-height: 1.6rem;
		font-size: 0.9rem;
	}
	.book .w3media-booking-wrapper h2 {
		margin-bottom: 1.67rem;
	}
	.book .w3media-booking-wrapper .number-range a {
		color: #fff!Important;
		font-family: auto;
	}
	.book .w3media-booking-wrapper .number-range a.range-min {
		font-size: 40px;
		line-height: 16px;
	}
	.book .w3media-booking-wrapper .number-range a.range-plus {
		font-size: 30px;
		line-height: 23px;
	}
	.book .w3media-booking-wrapper .receipt-large {
		border-radius: 0;
		min-height: auto;
	}

	.book .w3media-booking-wrapper .receipt-large .list-group .group .label {
		font-weight: 400;
	}
	.book .w3media-booking-wrapper .input-group-text
		margin-top: 5px;
	}
	.book .w3media-booking-wrapper .receipt-small {
		position: fixed;
		bottom: 0;
		z-index: 999;
	}
	.book .w3media-booking-wrapper .receipt-small,
	.book .w3media-booking-wrapper .receipt-small * {
		font-weight: normal;
	}
	@media (min-width: 820px) {

		.book .w3media-booking-wrapper::before {
			content: '';
			position: fixed;
			top: 0;
			bottom: 0;
			right: 0;
			width: 320px;
			background: #ececec;
		}
		.book .fixed-bar .scroll-up, .book .fixed-bar .track, .book .fixed-bar .buttons, .book .fixed-bar .logo {
			display: none;
		}

	}


/*  ==========================================================================
    fixed-bar
	========================================================================== */
	.fixed-bar {
		position: fixed;
		bottom: 0;
		z-index: 400;
		max-width: 2000px;

		width: 100%;
		padding: 0;
		padding-top: 25px;

		background: #339243;
	}

	.fixed-bar .red-slant {
		width: 100%;
		height: auto;
		position: absolute;
		bottom: 25px;
		opacity: 1;
		transition: all 0.2s ease-in;
	}


/*  fixed-bar > buttons
	========================================================================== */
	.fixed-bar .buttons {
		margin: -5px;
	}

	.fixed-bar .buttons .btn {
		margin: 5px 10px;
		border: 0;

		-webkit-box-shadow: 3px 0 5px 0 rgba(0, 0, 0, .1);
		-moz-box-shadow: 3px 0 5px 0 rgba(0, 0, 0, .1);
		box-shadow: 3px 0 5px 0 rgba(0, 0, 0, .1);
	}

/*  fixed-bar > logo
    ========================================================================== */
	.fixed-bar .logo {
		position: absolute;
		right: 50%;
		top: -26px;

		display: block;
		max-width: 200px;
		margin-right: -100px;
	}

/*  ==========================================================================
    animation track
	========================================================================== */
	.fixed-bar .track {
		position: absolute;
		top: -22px;
		width: 100%;
		left: 0;
	}
	@media (max-width: 576px) {
		.fixed-bar .track {
			display: none;
		}
	}

	.fixed-bar .track .icon {
		position: absolute;
		top: 0;
		width: 25px;
		height: 20px;
		transition: 0.5s all;
		color: #fff;
	}

	.fixed-bar .track .icon img {
		height: 20px;
	}

	.fixed-bar .track .icon:hover {
		opacity: 0.3;
	}

	.fixed-bar .track .marieken {
		font-family: 'Marieken';
		font-size: 32px;
		top: -6px;
	}

	/* animate */
	.fixed-bar .track .bicycle {
		-webkit-animation-name: bicycle;
		animation-name: bicylce;

		-webkit-animation-duration: 40s;
		animation-duration: 40s;

		-webkit-animation-iteration-count: infinite;
		animation-iteration-count: infinite;
	}

	.fixed-bar .track .walker {
		-webkit-animation-name: walker;
		animation-name: walker;

		-webkit-animation-duration: 120s;
		animation-duration: 120s;

		-webkit-animation-iteration-count: infinite;
		animation-iteration-count: infinite;
	}
	/* Temporary disable  */
	.fixed-bar .track .walker,
	.fixed-bar .track .bicycle {
		display: none;
	}

	/* keyframe animations - bicylce */
	@-webkit-keyframes bicylce {
		0% {
			left: 110%
		}

		30% {
			left: 70%
		}

		100% {
			left: -10%
		}
	}

	@keyframes bicylce {
		0% {
			left: 110%
		}

		30% {
			left: 70%
		}

		100% {
			left: -10%
		}
	}

	/* keyframe animations - walker */
	@-webkit-keyframes walker {
		0% {
			right: 110%
		}

		30% {
			right: 50%
		}

		100% {
			right: -10%
		}
	}

	@keyframes walker {
		0% {
			right: 110%
		}

		30% {
			right: 50%
		}

		100% {
			right: -10%
		}
	}


	/* hide footer fixed-bar buttons on booking page */
	body.book .fixed-bar .buttons {
		display: none !important;
	}


/*  ==========================================================================
    footer-top
    ========================================================================== */
	.footer-top {
		position: relative;
		padding: 75px 0;

		color: #FFFFFF;
	}

	.footer-top .container-fluid {
		max-width: 1800px;
	}

	.footer-top h2 {
		margin-bottom: 30px;

		font-size: 1.5rem;
		/* 24px */
		color: #FFFFFF;
	}

	.footer-top h3 {
		margin-bottom: 10px;

		font-size: 1.125rem;
		/* 18px */
		color: #FFFFFF;
	}

	.footer-top.font-size-large h3 {
		font-size: 1.5rem;
		/* 24px */
	}

	.footer-top p {
		color: #FFFFFF;
	}

	.footer-top .btn {
		margin-top: 20px;
	}

/*  footer-top > footer-content
	========================================================================== */
	.footer-top .footer-content ul {
		margin: 0;
		list-style: none;
	}

	.footer-top .footer-content ul>li {
		font-size: 1.125rem;
		/* 18px */
		margin-bottom: 10px;
	}

	.footer-top .footer-content ul>li>a {
		text-decoration: underline;
		color: #FFFFFF;
	}

/*  footer-top > buttons
    ========================================================================== */
	.footer-top .buttons {
		margin: -5px;
		margin-top: 100px;
	}

	.footer-top .buttons .btn {
		margin: 5px;
	}

	.footer-top .buttons .btn i {
		margin-left: 5px;
	}

/*  footer-top > agenda
	========================================================================== */
	.agenda .items .item {
		margin: 10px 0;
	}

	.agenda .items .item .date {
		color: #FFFFFF;
	}

	.agenda .items .item .title a {
		font-size: 1rem;
		/* 16px */
		font-weight: 400;
		text-decoration: underline;
		color: #FFFFFF;
	}

/*  footer-top > review
	========================================================================== */
	.footer-top .review ul {
		margin: 0;
		list-style: none;
	}

	.footer-top .review ul>li {
		font-size: 1.125rem;
		/* 18px */
		margin-bottom: 10px;
	}

	.footer-top .review ul>li>a {
		text-decoration: underline;
		color: #FFFFFF;
	}
	.footer-top .review .item .date {
		color: #FFFFFF;
	}

	.footer-top .review .item .title a {
		font-size: 1rem;
		font-weight: 400;
		text-decoration: underline;
		color: #FFFFFF;
	}
	.footer-top .review .description {
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 8;
		-webkit-box-orient: vertical;
	}
	.review .author {
		color: #FFFFFF;
	}

	.review ul.rating {
		margin-left: 0;
		margin-bottom: 25px;

		list-style: none;
	}

	.review ul.rating>li {
		margin: 0 5px;

		font-size: 1.125rem;
		/* 18px */
		color: #92D087;
	}

	.review ul.rating>li.active {
		color: #FFA02E;
	}

	.review .description p:last-of-type {
		margin-bottom: 0;
	}

/*  footer-top > reviews
    ========================================================================== */
	.reviews .row > div {
		display: none;
	}
	.reviews .row > div:nth-child(-n+3) {
		display: block;
	}

	.reviews .row > div.show {
		display: block;
	}

	.reviews .js-hide-reviews {
		display: none;
	}


/*  ==========================================================================
    form
	========================================================================== */
	.form-control {
		border: 1px solid #000000;
	}

	.custom-control-label::before {
		background: #FFFFFF;
		border: 1px solid #000000;
	}

	.custom-checkbox .custom-control-input:checked~.custom-control-label::before,
	.custom-radio .custom-control-input:checked~.custom-control-label::before {
		background: #379144;
		border: 1px solid #379144;
	}

/*  form - checkbox
    ========================================================================== */
	.form form .custom-checkbox label {
		line-height: 24px;
	}


/*  ==========================================================================
    owl-carousel - custom
	========================================================================== */

/*  owl-carousel - owl-nav-custom
	========================================================================== */
	.owl-nav-custom {
		position: absolute;
		z-index: 10;
		width: 100%;
		top: 0;
		bottom: 0;
	}

	.owl-nav-custom button {
		position: absolute;
		top: 50%;

		margin-top: -20px;
		padding: 0;

		background: none;
		border: 0;
		cursor: pointer;

		font-size: 30px;
		color: rgba(255, 255, 255, 0.5);
	}

	.owl-nav-custom button:hover {
		color: #FFFFFF;
	}

	.owl-nav-custom .owl-prev {
		left: 15px;
	}

	.owl-nav-custom .owl-next {
		right: 15px;
	}

/*  owl-carousel - owl-dots-custom
	========================================================================== */
	.owl-dots-custom.disabled {
		display: none;
	}

	.owl-dots-custom .owl-dot {
		width: 15px;
		height: 15px;
		margin: 7.5px 2.5px;
		padding: 0;

		background: #007BFF;
		border: 0;
		border-radius: 50%;
		cursor: pointer;
	}

	.owl-dots-custom .owl-dot:hover,
	.owl-dots-custom .owl-dot.active {
		background: #0056B3;
	}


/*  ==========================================================================
    buttons
    ========================================================================== */
	.btn,
	.btn:not([href]):not([tabindex]) {
		padding: 5px 25px;

		background: #FFFFFF;
		border: 1px solid #000000;
		border-radius: 20px;

		line-height: 30px;
		color: #000000;

		-webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		   -moz-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
						box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);

		-webkit-transition: background 0.5s ease, border 0.5s ease;
						transition: background 0.5s ease, border 0.5s ease;
	}
	.btn:focus,
	.btn:hover,
	.btn:not([href]):not([tabindex]):focus,
	.btn:not([href]):not([tabindex]):hover {
		background: #58AA4D;
		border: 1px solid #58AA4D;

		color: #FFFFFF;
	}

	.btn.btn-primary {
		background: #FFFFFF;
		border: 1px solid #FFFFFF;

		color: #000000;
	}
	.btn.btn-primary:focus,
	.btn.btn-primary:hover {
		background: #C43A2A;
		border: 1px solid #C43A2A;

		color: #FFFFFF;
	}

	.btn.btn-outline-primary {
		background: transparent;
		border: 1px solid #FFFFFF;

		color: #FFFFFF;
	}
	.btn.btn-outline-primary:focus,
	.btn.btn-outline-primary:hover {
		background: #C43A2A;
		border: 1px solid #C43A2A;

		color: #FFFFFF;
	}

	.btn.btn-secondary {
		background: #58AA4D;
		border: 1px solid #58AA4D;

		color: #FFFFFF;
	}
	.btn.btn-secondary:focus,
	.btn.btn-secondary:hover {
		background: #C43A2A;
		border: 1px solid #C43A2A;

		color: #FFFFFF;
	}

	.btn.btn-outline-secondary {
		background: transparent;
		border: 1px solid #000000;

		color: #000000;
	}
	.btn.btn-outline-secondary:focus,
	.btn.btn-outline-secondary:hover {
		background: #C43A2A;
		border: 1px solid #C43A2A;

		color: #FFFFFF;
	}

/*  button - sizes
    ========================================================================== */
	.btn-sm {
		line-height: 20px;
	}

/*  button - extras
    ========================================================================== */
	.w3media-booking-wrapper .btn-next::after,
	.w3media-booking-wrapper .btn-done::after,
	.btn-arrow::after {
		margin-left: 15px;

		font-family: 'Font Awesome 5 Pro';
		content: '\f30b';
	}

	.btn-arrow-reverse::before {
		margin-right: 15px;

		font-family: 'Font Awesome 5 Pro';
		content: '\f30a';
	}

/*  button - types
    ========================================================================== */
	.btn-white,
	.btn-white:not([href]):not([tabindex]) {
		background: #FFFFFF;
		border: 1px solid #FFFFFF;

		-webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		-moz-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
	}


	.btn-ghost-white,
	.btn-ghost-white:not([href]):not([tabindex]) {
		background: transparent;
		border: 1px solid #FFFFFF;

		color: #FFFFFF;
	}

	.btn-ghost-white:focus,
	.btn-ghost-white:hover,
	.btn-ghost-white:not([href]):not([tabindex]):focus,
	.btn-ghost-white:not([href]):not([tabindex]):hover {
		background: #FFFFFF;
		border: 1px solid #FFFFFF;

		color: #000000;
	}


	.btn-red,
	.btn-red:not([href]):not([tabindex]) {
		background: #C43A2A;
		border: 1px solid #FFFFFF;

		color: #FFFFFF;
	}

	.btn-red:focus,
	.btn-red:hover,
	.btn-red:not([href]):not([tabindex]):focus,
	.btn-red:not([href]):not([tabindex]):hover {
		background: #FFFFFF;
		border: 1px solid #FFFFFF;

		color: #000000;
	}


	.btn-blue,
	.btn-blue:not([href]):not([tabindex]) {
		background: #3395ce;
		border: 1px solid #3395ce;

		color: #FFFFFF;
		padding: 2px 15px;
		line-height: 30px;
	}

	.btn-blue:focus,
	.btn-blue:hover,
	.btn-blue:not([href]):not([tabindex]):focus,
	.btn-blue:not([href]):not([tabindex]):hover {
		background: #FFFFFF;
		border: 1px solid #FFFFFF;

		color: #000000;
	}

	.btn-blue a {
		color: #e5e99b !important;
		margin-left: 5px;
	}


	.btn-del,
	.btn-del:not([href]):not([tabindex]) {
		padding: 2px 15px;
		line-height: 30px;
	}


	.btn-route,
	.btn-route:not([href]):not([tabindex]) {
		position: relative;
		padding-right: 45px;

		background: #FFFFFF;
		border: 1px solid #FFFFFF;

		font-weight: bold;
		color: #58AA4D;
	}

	.btn-route.btn-sm {
		padding-right: 35px;
	}

	.btn-route .badge {
		position: absolute;
		top: 3px;
		right: 3px;

		width: 35px;
		padding: 0;

		background: #449239;
		border-radius: 50%;

		line-height: 35px;
		text-align: center;
		color: #FFFFFF;
	}

	.btn-route.btn-sm .badge {
		top: 3px;
		right: 3px;

		width: 26px;
		line-height: 26px;
	}

/*  button - link
	========================================================================== */
	.btn-link {
		color: #58AA4D;
		text-decoration: none;
	}
	.btn-link:hover { color: #0056b3; }

	.btn-link i { margin-left: 5px; }


/*  button - others
	========================================================================== */
.footer #mc-embedded-subscribe { border: 1px solid #FFFFFF; }
.footer #mc-embedded-subscribe:hover { border: 1px solid #58AA4D; }


/*  ==========================================================================
    scroll-up
    ========================================================================== */
	.scroll-up,
	.scroll-up:not([href]):not([tabindex]) {
		position: fixed;
		bottom: -75px;
		right: 32px;
		z-index: 999;

		width: 56px;
		padding: 0;

		border-color: #FFFFFF;

		font-size: 1.125rem;
		/* 18px */
		line-height: 56px;

		-webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		-moz-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
		box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, .1);
	}

	.scroll-up::after {
		display: none;
	}


/*  ==========================================================================
    helper classes
	========================================================================== */
/*  paddings
    ========================================================================== */
	.pt-large {
		padding-top: 75px;
	}

	.pb-large {
		padding-bottom: 150px;
	}

/*  slants
	========================================================================== */
	.slant-top-green,
	.slant-top-pink,
	.slant-top-red,
	.slant-top-white,
	.slant-bottom-white {
		position: relative;
	}

	.slant-top-green::before,
	.slant-top-pink::before,
	.slant-top-red::before,
	.slant-top-white::before,
	.slant-bottom-white::after {
		position: absolute;
		left: 0;
		right: 0;
		z-index: 10;

		width: 100%;
		height: 70px;

		background-size: contain;
		content: '';
	}

	.slant-top-green::before {
		top: -69px;
		background: url('../images/slant-top-green.png') bottom left no-repeat;
	}

	.slant-top-pink::before {
		top: -69px;
		background: url('../images/slant-top-pink.png') bottom left no-repeat;
	}

	.slant-top-red::before {
		top: -69px;
		background: url('../images/slant-top-red2.png') bottom left no-repeat;
	}

	.slant-top-white::before {
		top: -69px;
		background: url('../images/slant-top-white.png') bottom left no-repeat;
	}

	.slant-bottom-white::after {
		bottom: -69px;
		background: url('../images/slant-bottom-white.png') top right no-repeat;
	}

	.img-slant {
		padding: 0;
		position: relative;
	}

/*  background classes
	========================================================================== */
	.bg-color-white {
		background: #FFFFFF;
	}

	.bg-color-black {
		background: #212529;
	}

	.bg-color-blue {
		background: #00A9E0;
	}

	.bg-color-gray {
		background: #EEEEEE;
	}

	.bg-color-green {
		background: #58AA4D;
	}

	.content.bg-color-green *:not(.btn) { color: #FFFFFF; }
	.content.bg-color-green a:not(.btn) {
		text-decoration: underline;
		color: #FFFFFF;
	}
	.content.bg-color-green a:not(.btn):hover { opacity: .8; }


/*  keyframes
	========================================================================== */
	@keyframes pulse {
		0% {
			transform: scale(1);
		}

		70% {
			transform: scale(.9);
		}

		100% {
			transform: scale(1);
		}
	}


/*  ==========================================================================
    logo-3w
    ========================================================================== */
	.logo-3w {
		position: absolute;
		right: 5px;
		bottom: 5px;
	}
