html,
body {
	min-width: 320px;
	margin: 0;
	padding: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 300;
	scroll-behavior: smooth;
}

h1 {
	position: absolute;
	top: -9000px;
	left: -9000px;
	width: 0;
	height: 0;
	overflow: hidden;
}

form,
fieldset,
input,
button {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	font-family: "Open Sans", sans-serif;
}

input {
	padding: 16px 58px;
	color: #000;
	background: #fff;
	border: 1px solid #e8e8e8;
	font-size: 18px;
	font-weight: 700;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px transparent inset;
	box-shadow: 0 0 0 1000px transparent inset;
	-webkit-transition: background-color 5000s ease-in-out 0s;
	transition: background-color 5000s ease-in-out 0s;
}

input::-webkit-input-placeholder {
	color: #e6e6e6;
	font-weight: 300;
}

input::-moz-placeholder {
	color: #e6e6e6;
	font-weight: 300;
}

input:-ms-input-placeholder {
	color: #e6e6e6;
	font-weight: 300;
}

input::-ms-input-placeholder {
	color: #e6e6e6;
	font-weight: 300;
}

input::placeholder {
	color: #e6e6e6;
	font-weight: 300;
}

input:-moz-read-only {
	cursor: not-allowed;
}

input:read-only {
	cursor: not-allowed;
}

input:focus {
	outline: none;
	border-color: #ffbf00;
}

.btn {
	padding: 15px 35px;
	color: #fff;
	background: #e3e3e3;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 50px;
	-webkit-transition: background .3s;
	-o-transition: background .3s;
	transition: background .3s;
}

.btn:hover {
	background: #e3e3e3;
}

.btn-primary {
	background: #e21400 -webkit-gradient(linear, left top, right top, from(rgb(226, 20, 0)), to(rgb(255, 62, 0))) no-repeat center center;
	background: #e21400 -o-linear-gradient(left, rgb(226, 20, 0) 0%, rgb(255, 62, 0) 100%) no-repeat center center;
	background: #e21400 linear-gradient(90deg, rgb(226, 20, 0) 0%, rgb(255, 62, 0) 100%) no-repeat center center;
}

.btn.btn-primary:hover {
	background: #e21400 -webkit-gradient(linear, left top, right top, from(rgb(226, 20, 0)), to(rgb(226, 20, 0))) no-repeat center center;
	background: #e21400 -o-linear-gradient(left, rgb(226, 20, 0) 0%, rgb(226, 20, 0) 100%) no-repeat center center;
	background: #e21400 linear-gradient(90deg, rgb(226, 20, 0) 0%, rgb(226, 20, 0) 100%) no-repeat center center;
	cursor: pointer;
}

.btn:focus {
	outline: none;
	-webkit-box-shadow: 0 0 5px #757575;
	box-shadow: 0 0 5px #757575;
}

p {
	max-width: 500px;
	margin: 0 0 0 60px;
	padding: 0;
	color: #959595;
	font-size: 19px;
	line-height: 1.526;
}

strong {
	font-weight: 700;
}

.container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 15px;
}

.voucher {
	position: relative;
	margin: 50px auto;
	padding: 70px 70px;
	background: #fff url("/img/background.png") no-repeat right center;
	border: 7px solid #f7f7f7;
	border-radius: 30px;
	overflow: hidden;
}

.title {
	margin-bottom: 35px;
}

#code {
	text-align: center;
}

#email {
	background: #fff url("/img/icon-mail.png") no-repeat 25px center;
}

.gift-form {
	margin: 35px 0 0 0;
	max-width: 430px;
}

.gift-form label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 10px;
	cursor: pointer;
}

.gift-form label span {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 160px;
	flex: 0 0 160px;
	color: #959595;
	font-size: 18px;
}

.gift-form label input {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
}

.gift-form button {
	margin-top: 20px;
}

.status {
	display: none;
	margin-top: 65px;
}

.status img {
	max-width: 43px;
	max-height: 43px;
	margin: 0 10px -8px 0;
}

.status strong {
	color: #000;
	font-size: 36px;
	font-weight: 700;
}

.status p {
	max-width: 560px;
	margin: 19px 0 30px 0;
}

.status .btn {
	display: inline-block;
}

.gdpr {
	margin: 1.5rem 0 0 60px;
	font-size: 13px;
	line-height: 1.1;
}

.gdpr a {
	color: #e63500;
}

.gdpr a:hover {
	text-decoration: none;
}

.sheep {
	position: absolute;
	bottom: 52px;
	right: 120px;
}

.modal-popup {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	padding: 0;
	background: 0 0;
	border: none;
	z-index: 999999;
}
.modal-popup:before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #494b52;
	opacity: 0.75;
	z-index: 1;
}
/*.modal-popup[open] {
	display: flex;
}*/
.modal-popup .content {
	position: relative;
	max-width: 95%;
	max-height: 95vh;
	margin: auto;
	padding: 0;
	background: #fff;
	z-index: 2;
	overflow-y: auto;
}
.modal-popup .inside {
	max-width: 1400px;
}
.modal-popup .popup-close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 25px;
	padding: 0;
	background: none;
	border: none;
	font-size: 25px;
}
.modal-popup .popup-close:hover i {
	color: #e2001a;
}
.modal-popup .popup-close i {
	flex: 0 0 auto;
	color: #bbb;
	transition: color 0.3s;
}

#app {
	width: 100%;
	height: 100%;
	background: #1a2b45;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.doors {
	display: flex;
}

.door {
	background: #fafafa;
	width: 100px;
	height: 110px;
	overflow: hidden;
	border-radius: 5px;
	margin: 5px;
}

.boxes {
	transition: transform 1s ease-in-out;
}

.box {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 3rem;
}

.buttons {
	margin: 1rem 0 2rem 0;
}

button {
	cursor: pointer;
	font-size: 1.2rem;
	margin: 0 0.2rem;
	border: none;
	border-radius: 5px;
	padding: 10px 15px;
}

.info {
	position: fixed;
	bottom: 0;
	width: 100%;
	text-align: center;
}

@media (max-width: 1300px) {
	.gdpr {
		margin: 1.5rem 0 0 0;
	}

	.gift-form {
		margin: 35px 0 0 0;
	}

	p {
		margin: 0;
	}

	.title {
		max-width: 450px;
	}
}

@media (max-width: 1200px) {
	.voucher {
		padding: 90px 60px;
	}

	.gift-form label {
		flex-direction: column;
		align-items: flex-start;
	}

	.gift-form label span {
		flex: 0 1 auto;
		margin: 0 0 10px 0;
	}
}

@media (max-width: 1160px) {
	.voucher {
		background-position-x: 600px;
	}

	.sheep {
		right: 40px;
		max-width: 250px;
	}
}

@media (max-width: 1024px) {
	.sheep {
		width: 300px;
		bottom: -40px;
		right: -10px;
	}

	.status p {
		max-width: 500px;
	}
}

@media (max-width: 834px) {
	input {
		padding: 16px 35px;
	}

	p {
		max-width: 100%;
	}

	#email {
		background-position-x: 10px;
	}

	.voucher {
		margin: 15px auto;
		padding: 40px 30px;
		background: #fff;
		text-align: center;
	}

	.title {
		max-width: 100%;
	}

	.gift-form {
		max-width: 100%;
		margin: 35px 0 35px 0;
	}

	.gift-form label span {
		text-align: left;
	}

	.sheep {
		position: relative;
		bottom: auto;
		right: auto;
		margin: 50px 0 0 0;
	}
}

@media (max-width: 560px) {
	.title {
		width: calc(100% + 50px);
		max-width: 200%;
		margin: 0 -25px 20px -25px;
	}

	.gift-form label {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-direction: unset;
	}

	.gift-form label span {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 100%;
		flex: 1 1 100%;
		margin-bottom: 5px;
	}

	.gift-form label input {
		width: 100%;
	}
}
