.u-align-right {
	text-align: right;
}

.u-relative {
	position: relative;
}

.btn {
	padding: 0.5em 2em;
	outline: none;
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	background: #039BE5;
	border: 0;
	border-radius: 2px;
}

.btn:hover {
	background: #1976D2;
}

.form__row {
	margin: 0.5em 0;
}

.form__label {
	font-size: 0.875em;
}

.form__data input[type="text"],
.form__data input[type="password"],
.form__data textarea{
	width: 100%;
	padding: 0.25em;
	color: #555;
	border-radius: 2px;
	border: 1px solid #BDBDBD;
}
.form__data div.g-recaptcha div{
	text-align: center;
	margin: 0 auto;
	float: none;
}
.form__data textarea {
	min-height: 5em;
}

.form__data input.input-text--sm {
	width: 3em;
}

.form__footer {
	margin: 1em 0 0.5em;
	text-align: center;
}

.form__error,
.form__success {
	color: #fff;
	padding: 0.25em;
	text-align: center;
}

.form__error {
	background: #EF5350;
	border: 1px solid #E53935;
}

.form__success {
	background: #66BB6A;
	border: 1px solid #43A047;
}

.form__data--error input[type="text"],
.form__data--error input[type="password"],
.form__data--error textarea,
.form__data--error div.g-recaptcha{
	background: #EF5350;
	border: 1px solid #E53935;
	color: #fff;
}

/* ------------------------------------------------------------------------- */

.weeks__toggle {
	display: none;
}

.weeks__overflow {
	overflow: hidden;
}

.weeks__inner {
	width: 200%;
	transition: margin 1s;
}

.weeks__inner:after {
	content: "";
	clear: both;
	display: table;
}

.week {
	width: 50%;
	float: left;
	text-align: center;
	border-right: 0.5em solid #fff;
}

.weeks__buttons {
	text-align: center;
	margin-top: 1em;
}

.weeks__button {
	display: inline-block;
	cursor: pointer;
}

#weeksslide1:checked ~ .weeks__slides .weeks__inner {
	margin-left: 0;
}

#weeksslide1:checked ~ .weeks__buttons .weeks__button:nth-child(1) {
	display: none;
}

#weeksslide2:checked ~ .weeks__slides .weeks__inner {
	margin-left: -100%;
}

#weeksslide2:checked ~ .weeks__buttons .weeks__button:nth-child(2) {
	display: none;
}

/* ------------------------------------------------------------------------- */

body {
	font-family: 'Open Sans', sans-serif;
	font-size: 100%;
	color: #424242;
}

.navbar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #039BE5;
	z-index: 20;
	box-shadow: 0 1px 5px rgba(0,0,0,.4);
}

@media screen and (max-width: 48em) {
	.navbar {
		text-align: center;
		position: relative;
	}
}

.menu {
	margin: 0;
	padding: 0.5em 0;
	list-style-type: none;
	font-size: 0.875em;
	text-transform: uppercase;
	text-align: center;
}

@media screen and (max-width: 48em) {
	.menu {
		display: block;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}
}

.menu__item {
	display: inline-block;
}

@media screen and (max-width: 48em) {
	.menu__item {
		display: block;
		margin: 1em 0;
	}
}

.menu__item a {
	font-size: 0.875em;
	font-family: 'Ledger', times;
	padding: 1em;
	text-decoration: none;
	color: #fff;
	transition: color 0.3s;
}

.menu__item a:hover {
	background: #005aab;
	border-radius: 2px;
}

.wrapper {
	margin-top: 3em;
}

@media screen and (max-width: 48em) {
	.wrapper {
		margin-top: 0;
	}
}

.intro {
	background: #005aab;
	background: linear-gradient(#005aab 50%, #039BE5 100%);
	border-bottom: 3px double #fff;
	padding-bottom: 1.5em;
}

.logo {
	height: 150px;
	text-align: center;
}

.logo__link {
	outline: none;
	text-decoration: none;
	display: inline-block;
}

.logo__image {
	max-width: 100%;
	margin-top: -75px;
}

.photo {
	border: 4px solid #fff;
	max-width: 100%;
}

.form__title,
.sub-title {
	font-weight: 400;
	color: #1976D2;
}

.form__info,
.info-text {
	font-size: 0.875em;
}

.departure-title {
	font-weight: 300;
	margin: 2em 0 0.5em;
}

.departure-cover {
	text-align: center;
	overflow: hidden;
	height: 19em;
}

@media screen and (max-width: 48em) {
	.departure-cover {
		height: auto;
	}
}

.departure-image {
	margin-top: 2.25em;
	width: 100%;
	border: 1px solid #BDBDBD;
}

.week__title {
	margin-top: 0;
}

.day {
	padding: 0.25em 0;
}

.day:nth-child(even) {
	background: #039BE5;
	color: #fff;
}

.day:after {
	content: "";
	display: table;
	clear: both;
}

.day__name,
.day__time {
	float: left;
	padding: 0.25em;
}

.day__name {
	width: 6em;
	text-transform: capitalize;
	text-align: left;
	padding-left: 0.75em;
}

.day__time {
	width: 3.5em;
	text-align: center;
}

.motto {
	border-top: 3px double #fff;
	border-bottom: 3px double #fff;
	background: #039BE5;
	margin-top: 5em;
}

.motto__text {
	font-family: 'Ledger', times;
	text-align: center;
	font-size: 1.25em;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0,0,0,.4);
	margin: 0;
}

.services-title {
	font-weight: 300;
	margin: 2em 0;
}

.prices {
	border-top: 3px double #fff;
	background: #039BE5;
	color: #fff;
	padding: 1.5em 0;
}

.price-title {
	font-weight: 300;
	color: #fff;
}

.price-list {
	margin: 0;
}

.price-item {
	margin-bottom: 1.5em;
}

.price-item ul {
	list-style-type: none;
	margin-top: 1em;
}

.price-item li {
	line-height: 1.5em;
}

.action-title {
	font-weight: 300;
	margin: 0;
}

.price__action {
	background: #E64A19;
	padding: 1em;
	border-radius: 2px;
}

.prices__info {
	text-align: center;
	line-height: 1.3em;
}

.link--white {
	color: #fff;
}

.map {
	height: 450px;
	width: 100%;
	background: transparent url('../img/map.jpg') no-repeat center top;
	position: relative;
}

.map__link {
	text-decoration: none;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.contact__data {
	margin-bottom: 11.4em;
}

@media screen and (max-width: 48em) {
	.contact__data {
		margin-bottom: 1em;
	}
}

.contact--company {
	font-size: 1.25em;
	margin-bottom: 0.5em;
}

.contact--address {
	padding-left: 1.5em;
}

.contact--phone {
	padding-left: 1.5em;
}

.contact--gps {
	padding-left: 1.5em;
}

.contact__form {
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	max-width: 50%;
	padding: 0 1em;
	border-radius: 2px;
}

@media screen and (max-width: 48em) {
	.contact__form {
		position: static;
		max-width: none;
		padding: 0;
	}
}

.footer {
	margin-top: 2em;
	border-top: 3px double #fff;
	background: #039BE5;
	color: #fff;
}

.footer__text {
	font-size: 0.75em;
	margin: 0;
}

.gallery__images {
	text-align: center;
}

.gallery__item {
	text-decoration: none;
	display: inline-block;
	width: 15em;
	margin: 1em;
}

.gallery__image {
	max-width: 100%;
	max-height: 200px;
	padding: 3px;
	border: 1px solid #e0e0e0;
}

.article {
	line-height: 1.5em;
}

.article h1 {
	font-weight: 300;
	margin: 1em 0 1em;
}

.article h2 {
	font-weight: 300;
	margin: 1.5em 0 1em;
}

.about .article {
	text-align: justify;
}

.article__image-big {
	max-width: 90%;
	display: block;
	margin: 2em auto;
}