* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 16px;
}

body {
	font-family: 'Montserrat', sans-serif;
	color: white;
	background-color: #212121;
	line-height: 1.5rem;
	background-image: url(img/kamper-marco-polo-bg-03.jpg);
	background-repeat: no-repeat;
	background-position: bottom center;
}

body.rezerwacja.kamper {
	background-image: url(img/kamper-california-bg-03.jpg);
	background-repeat: no-repeat;
	background-position: top center;
}

body.rezerwacja.marcopolo {
	background-image: url(img/kamper-marco-polo-bg-02.jpg);
	background-repeat: no-repeat;
	background-position: top center;
}

body.rezerwacja.bus {
	background-image: url(img/bus-california-bg-01.jpg);
	background-repeat: no-repeat;
	background-position: top center;
}

a, em {
	color: #5dbcff;
	text-decoration: none;
	transition: .1s;
	font-style: normal;
}

a:hover {
	text-decoration: underline;
}


.tel a:hover,
button:hover,
.go:hover,
h1 a:hover
{
	text-decoration: none;
}

.container {
	max-width: 1680px;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
}

.status {
	height: 100vh;
}

.status .container {
	justify-content: center;
}

header {
	position: absolute;
	top: 0rem;
	background-color: #212121;
	border-bottom-left-radius: .6rem;
	border-bottom-right-radius: .6rem;
	padding: 1rem 2rem;
	text-align: center;
	transform: translateX(-50%);
	left: 50%;
}

.rezerwacja .container {
	margin-top: 8rem;
}

header h1 span {
	color: #5dbcff;
}

header h1 a {
	color: white;
}

header .tel {
	margin-top: 1rem;
	display: block;
}

aside {
	position: absolute;
	width: 100%;
	top: 0;
}

.lang-switcher {
	position: absolute;
	right: 1rem;
	top: 0;
	background-color: #5dbcff;
	border-radius: .2rem;
	padding: .2rem .7rem;
	color: black;
}
.lang-switcher:hover {
	background-color: #212121;
	text-decoration: none;
	color: white;
}
.lang-switcher::after {
	content: " ›";
	display: inline-block;
	transform: translateY(-.1em);
	margin-left: .3em;
}

.tel a {
	cursor: text;
}

section {
	width: 50%;
	display: flex;
	flex-direction: column;
}

section.about {
	width: 100%;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
	margin: 3rem auto 0;
	max-width: 700px;
}

section.about p {
	opacity: 1;
}

section.about h2 {
	background: none;
	top: unset;
	margin-block: 1rem;
}

section.info h1 {
	background: none;
	top: unset;
	margin-bottom: 1rem;
}

section.info {
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
	padding-top: 0.5rem;
	position: relative;
	top: 45vh;
}

.notused {
	display: none;
}

.good {
	color: #a6c307;
}

.wrong {
	color: tomato;
}

address {
	font-style: normal;
	text-align: center;
	padding: 0rem 2rem 1rem;
}

img {
	width: 100%;
}

footer {
	width: 100%;
	padding-top: 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;

}

.status footer {
	position: absolute;
	bottom: 0;
}

footer img {
	width: unset;
	text-align: center;
	margin: 0 auto;
	max-width: 90%;
}

footer div {
	display: block;
	color: #212121;
	color: white;
	font-size: .7rem;
	font-weight: 300;
	opacity: .7;
	margin: 0rem auto 1rem;
}

hr {
	height: 1px;
	/* width: 85%; */
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	margin: auto 0;
	border: 1px solid rgba(255, 255, 255, .1);
	border-bottom: none;
	border-left: none;
	border-right: none;
}

button {
	background-color: #5dbcff;
	color: black;
}


button.submit {
	cursor: pointer;
	background-color: #a6c307;
	color: black;
	border: none;
	padding: 1.1rem 2rem;
	border-radius: 4rem;
	font-size: 1.5rem;
	transition: .2s;
	max-width: 85%;
	text-align: center;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	margin: 2rem auto 1rem;
	font-weight: 700;
}

button.submit:hover {
	background-color: #438f29;
}

button.submit:disabled {

	background-color: #438f29;
	cursor: not-allowed;

	-webkit-animation: stripes-move 1.75s infinite linear;
	animation: stripes-move 1.75s infinite linear;
	background: repeating-linear-gradient(45deg, #9bb607 0, #9bb607 0.25em, #a6c307 0.25em, #a6c307 0.5em);
	}

	@-webkit-keyframes stripes-move {
		100% {
			background-position: 5em 0px;
		}
	}

	@keyframes stripes-move {
		100% {
			background-position: 5em 0px;
		}
}


.caption {
	margin: 0.4rem auto 1rem;
	opacity: 1;
	font-size: .8rem;
}

.caption.alert {
	margin-top: -1rem;
	color: tomato;
	display: none;
}

.caption input[type="checkbox"] {
	display: inline;
	margin-right: .2rem;
	width: 1.0rem;
	height: 1.0rem;
	top: .2rem;
	position: relative;
}

.disclaimer {
	width: 85%;
	font-size: .72rem;
	line-height: 1.2rem;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	margin: auto 0;
	font-weight: 300;
}

footer .disclaimer {
	/* color: black; */
	opacity: .4;
	display: table-cell;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
	padding: 1rem 0;
	margin-bottom: 1rem;
}

.disclaimer a {
	color: unset;
	text-decoration: underline;
}

.instrukcja {
	text-align: left;
	margin-top: 2rem;
	margin-bottom: 1rem;
}

.payu {
	color: #a6c307;
}

.zgoda a {
	color: unset;
	text-decoration: underline;
}

.zgoda a:hover {
	color: #a6c307;
}

.go {
	background-color: #5dbcff;
	color: black;
	padding: .6rem 1rem;
	text-align: center;
	display: inline-block;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	font-weight: 700;
	margin: 0 0rem 2rem 0;
	font-size: 1.2rem;
	border-radius: .2rem;
	max-width: fit-content;
}
.go span {
	display: block;
	font-size: .7em;
	font-weight: 400;
}

.go:hover {
	transform-origin: center;
	transform: translateX(-50%) scale(1.1);
}

.un {
	display:inline-block;
}
.un:after {
	content:'';
	width:100%;
	height:.1rem;
	background: #5dbcff;
	transition: .07s ease-in;
	display:block;
	opacity: 0;
	top: -.1rem;
	position: relative;
}

.un:hover {
	text-decoration: none;
}

.un:hover:after {
	opacity: 1;
}

h1 {
	font-size: 1.6rem;
	text-align: center;
	font-weight: 700;
	line-height: 2.2rem;
}

h1 a {
	color: white;
}

.half {

	width: 50%;
}

.rezerwacja .half h2 {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2.1rem;
}

section h1 {
	background-color: #212121;
	/* top: -6rem; */
	border-radius: .6rem;
	display: inline-block;
	padding: 2rem 2rem 2rem;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	max-width: fit-content;

}

h2.cennik {
	font-weight: 700;
	text-align: center;
	margin-bottom: .5rem;
	margin-top: 2rem;
	line-height: 1.8rem;
	padding: 0rem 1rem;
}

h2 {
	font-size: 1.4rem;
	text-align: center;
	font-weight: 300;
	margin-bottom: .5rem;
	line-height: 1.8rem;
	padding: 0rem 1rem;
}

h3 {
	font-size: 1.2rem;
	text-align: center;
	font-weight: 300;
	margin-bottom: .5rem;
	margin-top: 2rem;
	line-height: 1.8rem;
	padding: 0rem 1rem;
}

p {
	padding: 0 1rem;
	margin: 0rem 1rem 2rem;
	font-size: .9rem;
	text-align: center;
	color: white;
}

ul.features {
	padding: 0rem 1rem 0 1rem;
	margin: 1rem 0 2rem;
	font-size: .9rem;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	max-width: 85%;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}

ul.features li {
	padding: .9rem .9rem;
	display: block;
	width: 35%;
	min-width: 200px;
	flex: 1 0 auto;
	border: 1px solid #444;
	margin: .15rem;
}

table.cennik {
	margin: .8rem 1rem 2rem 0;
	padding: 0rem;
	border-collapse: collapse;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	max-width: 85%;
	font-size: .9rem;
}

th, td {
	padding: .5rem 1.5rem;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

.dark {
	color: #909090;
	font-weight: 300;
}

.calendar iframe, .form {
	padding: 0rem 2rem 0 2rem;
	margin: 2rem 0;
	max-width: 90%;
}

.form label, .form input {
	display: block;
	margin: .5rem 1rem .5rem .0rem;
	font-size: 1.2rem;
}

.form input {
	width: 90%;
	padding: .3rem;
	border: 1px solid #212121;
}

input.error {
	background-color: #ffcac0;
	border: 1px solid tomato;
}

.form input[type="checkbox"] {
	width: unset;
	display: inline;
	margin-right: .5rem;
	width: 1.2rem;
	height: 1.2rem;
	float: left;
}

.form {
	margin-top: 0rem;
}

.box {
	display: inline-block;
	width: 45%;
}

.box.solo {
	display: block;
	margin-top: 1.5rem;
	width: 75%;
}

.box.big {
	display: block;
	margin-top: 1rem;
	width: 90%;
}

.box.big label {
	display: inline;
	bottom: -.35rem;
	position: relative;
}

.extras {
	width: 100%
}

.extras ul {
	transform: translateX(-50%);
	position: relative;
	left: 50%;
	width: 85%;
	column-count: 2;
	column-gap: 2rem;
	padding: 2rem 3rem 1rem 4rem;
}

.extras ul li {
	margin-bottom: .8rem;
}

.rezerwacja .cennik tr {
	display: block;
	float: left;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

.rezerwacja .cennik td {
	display: block;
	border-top: none;
	border-bottom: none;
	border-right: 1px solid #444;
	text-align: center;
}


.rezerwacja table.cennik {
	border-left: 1px solid #444;
}

.grecaptcha-badge {
	display: none;
}

.socialmedia {
	margin-bottom: 1rem;
	transition: .2s;
	opacity: 1;
}

.socialmedia a {
	transition: .2s;
}

.facebook:hover path {
	fill: #4267b2;
}

.gallery {
	display: flex;
	list-style: none;
	background-color: white;
}
@keyframes blink {
	0% { opacity: 1; }
	2% { opacity: .8; }
	4% { opacity: 1; }
}
.gallery a {
	display: block;
	border: 2px solid #212121;
	border-left-width: 0;
	animation: blink 10s ease-in 3s infinite;
	font-size: 0;
	line-height: 0;
}
.gallery li:nth-child(2) a {
	animation-delay: 3.1s;
}
.gallery li:nth-child(3) a {
	animation-delay: 3.2s;
}
.gallery li:nth-child(4) a {
	animation-delay: 3.3s;
}
.gallery li:nth-child(5) a {
	animation-delay: 3.4s;
}
.gallery li:nth-child(6) a {
	animation-delay: 3.5s;
}
/* .gallery li:last-child a {
	border-right-width: 0;
} */
.gallery img {
	transition: .2s;
}
.gallery img:hover {
	opacity: .8;
}
.sl-overlay {
	background-color: black;
}
.sl-wrapper .sl-close {
	color: white;
}

@media (max-width: 768px) {
	section {
		width: 100%;
	}

	section.about {
		margin: 3rem 0rem 0;
	}

	table {
		font-size: .8rem;
	}
	.half {
		width: 100%;
		padding: 0rem 2rem 0 2rem;
	}
	.calendar iframe, .form {
		max-width: 100%;
		padding: unset;
	}
	.extras ul {
		column-count: 1;
	}
	.rezerwacja .cennik tr {
		display: table-row;
		float: unset;
	}

	.rezerwacja .cennik td {
		display: table-cell;
		border-right: 1px solid #444;
		text-align: left;
		border-top: 1px solid #444;
		border-bottom: 1px solid #444;
	}

	.instrukcja {
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
}


@media (max-width: 400px) {
	html {
		font-size: 14px;
	}
	button.submit {
		padding: 1rem 2rem;
	}
	.calendar iframe {
		height: 250px;
	}
	.box.solo {
	width: 100%;
}
}
