#main,.page-content {
	overflow: unset;
}
.page-content {
	padding: 0;
}
.page-content>:not(.inner),#welcome>:not(.inner) {
	margin: 40px 0;
}
h1 {
	font-size: 60px;
	line-height: 1.13;
	letter-spacing: -.1rem;
	color: #4DADD3;
}
h2 {
	font-size: 36px;
	line-height: 1.15;
	font-weight: 700;
}
p.small {
	font-size: 12px;
	font-weight: 500;
	color: var(--pale);
	margin: 0;
}
h3>.emoji {
	height: 24px;
}
.outer>h2 {
	text-align: center;
	margin-bottom: 40px;
}
li:not(:last-child) {
	margin-bottom: 2px;
}
#welcome p,#welcome ul {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.33;
}
.mission {
	position: relative;
	height: 696px;
	padding: 80px;
	background: #4DADD3 url('../img/birthday/top-img-1.webp') left top no-repeat;
	background-size: contain;
}
.mission:after {
	position: absolute;
	content: '';
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url('../img/birthday/top-img-2.webp') right bottom no-repeat;
	background-size: contain;
}
.mission>* {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: flex-start;
	width: 580px;
	height: 100%;
	padding: 40px;
	background: #FFF;
	border-radius: 32px;
}
.mission p {
	padding-right: 20px;
}
.mission span {
	padding: 8px 16px;
	background: #F6F6F6;
	font-size: 15px;
	font-weight: 700;
	border-radius: 10px;
}
.reserve {
	margin: auto auto 0 0;
	z-index: 1;
	position: relative;
}
.privileges {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 20px;
}
.privileges>* {
	background: #F6F6F6;
	padding: 32px;
	border-radius: 32px;
}
.label {
	width: 88px;
	height: 78px;
	background-size: 48px;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;
}
.privileges>:nth-child(1) .label {
	background-color: #64BDFC;
	background-image: url('../img/emoji/em-006.webp');
}
.privileges>:nth-child(2) .label {
	background-color: #00B26F;
	background-image: url('../img/emoji/em-015.webp');
}
.privileges>:nth-child(3) .label {
	background-color: #6180EF;
	background-image: url('../img/emoji/em-018.webp');
}
.privileges>:nth-child(4) .label {
	background-color: #F59D00;
	background-image: url('../img/emoji/em-019.webp');
}
.privileges p {
	font-weight: 800;
	margin-top: 16px;
	margin-bottom: 0;
}
.perfect {
	text-align: center;
}
.perfect h1 {
	display: inline-flex;
	align-items: center;
	position: relative;
}
.perfect h1:before,.perfect h1:after {
	position: absolute;
	content: '';
	width: 120px;
	height: 120px;
}
.perfect h1:before {
	left: -120px;
	background-image: url('../img/drops-1.svg');
}
.perfect h1:after {
	right: -120px;
	background-image: url('../img/drops-2.svg');
}
.pieces {
	display: grid;
	grid-template-rows: repeat(5,390px);
	gap: 32px;
	margin-top: 60px;
	padding: 0 40px;
}
.pieces>* {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0;
}
.pieces .img {
	height: 100%;
	width: 760px;
	border-radius: 32px;
	background-size: cover;
	background-position: center;
	background-color: #CCC;
}
.ph1 .img {
	background-image: url('../img/birthday/img-1.webp');
}
.ph2 .img {
	background-image: url('../img/birthday/img-2.webp');
}
.ph3 .img {
	background-image: url('../img/birthday/img-3.webp');
}
.ph4 .img {
	background-image: url('../img/birthday/img-4.webp');
}
.ph5 .img {
	background-image: url('../img/birthday/img-5.webp');
}
.pieces>:nth-child(odd) {
	margin-right: auto;
}
.pieces>:nth-child(even) {
	margin-left: auto;
}
.pieces>:nth-child(odd) .img {
	transform: rotate(-1deg);
}
.pieces>:nth-child(odd) .desc {
	transform: rotate(1,5deg);
}
.pieces>:nth-child(even) .img {
	transform: rotate(1deg);
}
.pieces>:nth-child(even) .desc {
	transform: rotate(-1.5deg);
}
.pieces .desc {
	position: absolute;
	width: 380px;
	text-align: left;
	color: #FFF;
	padding: 32px;
	border: 8px solid #FFF;
	border-radius: 32px;
}
.ru .pieces .desc {
	width: 400px;
	padding: 32px 28px;
}
.ru .pieces .emoji {
	margin-right: 4px;
}
.pieces>:nth-child(odd) .desc {
	left: calc(100% - 40px);
}
.pieces>:nth-child(even) .desc {
	right: calc(100% - 40px);
}
.ph1 .desc {
	background: #F59D00;
}
.ph2 .desc {
	background: #4DADD3;
}
.ph3 .desc {
	background: #00B26F;
}
.ph4 .desc {
	background: #EF7BAA;
}
.ph5 .desc {
	background: #6180EF;
}
.desc h2 {
	font-size: 36px;
	font-weight: 800;
	margin: 0;
}
.desc p {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 0;
}
.photo {
	display: grid;
	position: relative;
	gap: 32px;
	margin: 40px 0;
	grid-template-rows: 340px 300px 400px;
	grid-template-areas: 'a a a b b b b c c c''a a a d d d e e e e''f f f f f g g g g g';
}
.photo:before,.photo:after {
	position: absolute;
	content: '';
	width: 75px;
	height: 75px;
	transform: rotate(235deg);
	z-index: 1;
}
.photo:before {
	top: -20px;
	left: -30px;
	background-image: url('../img/drops-2.svg');
}
.photo:after {
	bottom: -30px;
	right: -20px;
	background-image: url('../img/drops-1.svg');
}
.photo>* {
	background: #DDD;
	background-size: cover;
	background-position: center;
	border-radius: 24px;
}
.photo>:nth-child(1) {
	grid-area: a;
	background-image: url('../img/birthday/ph-1.webp');
	transform: rotate(-.7deg);
}
.photo>:nth-child(2) {
	grid-area: b;
	background-image: url('../img/birthday/ph-2.webp');
	transform: rotate(1deg);
}
.photo>:nth-child(3) {
	grid-area: c;
	background-image: url('../img/birthday/ph-3.webp');
	transform: rotate(-2deg);
}
.photo>:nth-child(4) {
	grid-area: d;
	background-image: url('../img/birthday/ph-4.webp');
	transform: rotate(-1.5deg);
}
.photo>:nth-child(5) {
	grid-area: e;
	background-image: url('../img/birthday/ph-5.webp');
	transform: rotate(1.5deg);
}
.photo>:nth-child(6) {
	grid-area: f;
	background-image: url('../img/birthday/ph-6.webp');
	transform: rotate(-.7deg);
}
.photo>:nth-child(7) {
	grid-area: g;
	background-image: url('../img/birthday/ph-7.webp');
	transform: rotate(1.3deg);
}
.bd-rules {
	background: #4DADD3;
	overflow: hidden;
}
.bd-rules:before {
	left: 66%;
	right: -300px;
}
.bd-rules>:last-child {
	flex: 1 0 320px;
	background-image: url('../img/birthday/tc.webp');
	background-position: center;
	background-repeat: no-repeat;
	margin-right: -20px;
}
.bd-rules ul {

}

.tickets-top {
	display: flex;
	height: 280px;
	margin: 40px 40px 20px;
	padding: 32px;
	position: relative;
	text-align: center;
	background: url('../img/bd-booking-top-1.webp') center bottom,linear-gradient(to right,#FCA3BF,#EAD756);
	background-size: cover;
	border-radius: 24px;
}
a#to_back {
	display: flex;
	align-items: center;
	font-size: 90px;
	color: #FFF;
}
.tickets-top h1 {
	margin: auto;
	color: #FFF;
}
.booking {
	margin: 20px 40px 40px;
}
.calendar>* {
	justify-self: center;
}
.calendar>ul {
	margin-bottom: 24px;
	padding: 0;
}
.dates {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	justify-self: auto;
}
.dates input {
	position: relative;
	width: 100%;
	height: 56px;
	font-size: 16px;
	text-align: center;
	padding: 0;
	border: .5px solid #CCC;
	cursor: pointer;
}
.fields>*,.date-wrapper {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
}
.fields .ico,.date-wrapper>.ico {
	position: absolute;
	left: 12px;
	z-index: 1;
}
.date-wrapper:after {
	position: absolute;
	content: url('../img/icons/angle-down.svg');
	height: 24px;
	aspect-ratio: 1;
	right: 12px;
}

@media (max-width: 480px) {
.flatpickr-calendar {
	margin-left: 0;
	left: -16px;
}
.page-content>:not(.inner),#welcome>:not(.inner) {
	margin: 20px 0;
}
.mission {
	padding: 24px 16px;
	padding-bottom: calc((100vw - 32px)/2);
	height: auto;
	background: #4DADD3 url('../img/birthday/top-img-2m.webp') center bottom no-repeat;
	background-size: contain;
}
.mission:after {
	background: url('../img/birthday/top-img-1m.webp') left top no-repeat;
	background-size: contain;
	bottom: 85%;
	z-index: 1;
}
.mission>* {
	width: auto;
	height: auto;
	align-items: center;
	padding: 32px 20px 20px;
	text-align: center;
	border-radius: 16px;
}
h1 {
	font-size: 32px;
	letter-spacing: normal;
}
h2 {
	font-size: 24px;
}
.outer>h2 {
	margin-bottom: 20px;
}
.mission p {
	padding: 0;
	margin: 20px 0;
}
.mission .button {
	margin: auto;
}
h1 {
	font-size: 32px;
}
.privileges {
	grid-template-columns: auto;
	gap: 16px;
}
.privileges>* {
	border-radius: 20px;
}
.label {
	margin: auto;
}
.pieces {
	margin-top: 40px;
	grid-template-rows: auto;
	gap: 24px;
	padding: 0;
}
.pieces>* {
	flex-direction: column;
	margin: 0!important;
}
.pieces>*>* {
	transform: none!important;
}
.pieces .img {
	flex: 1;
	height: auto;
	width: calc(100vw - 32px);
	border-radius: 20px;
	aspect-ratio: .86;
}
.ph1 .img {
	background-image: url('../img/birthday/img-1m.webp');
}
.ph2 .img {
	background-image: url('../img/birthday/img-2m.webp');
}
.ph3 .img {
	background-image: url('../img/birthday/img-3m.webp');
}
.ph4 .img {
	background-image: url('../img/birthday/img-4m.webp');
}
.ph5 .img {
	background-image: url('../img/birthday/img-5m.webp');
}
.pieces .desc {
	position: relative;
	width: 90%;
	margin-top: -20px;
	left: 0!important;
	right: 0!important;
	padding: 20px;
	text-align: center;
	border-radius: 20px;
}
.desc h2 {
	font-size: 24px;
}
.perfect h1:before,.perfect h1:after {
	width: 72px;
	height: 72px;
}
.perfect h1:before {
	left: -72px;
}
.perfect h1:after {
	right: -72px;
}
.photo {
	gap: 12px;
	grid-template-rows: repeat(4,1fr);
	grid-template-columns: 1fr 1fr;
	grid-template-areas: 'a b''a c''d c''e e';
	aspect-ratio: .48;
	margin: 16px 0 24px;
}
.photo>* {
	transform: none!important;
}
.photo>:nth-child(2) {
	background-image: url('../img/birthday/ph-4.webp');
}
.photo>:nth-child(3) {
	background-image: url('../img/birthday/ph-3m.webp');
}
.photo>:nth-child(4) {
	background-image: url('../img/birthday/ph-4m.webp');
}
.photo>:nth-child(5) {
	background-image: url('../img/birthday/ph-5m.webp');
}
.photo>:nth-child(6),.photo>:nth-child(7) {
	display: none;
}
.bd-rules:after {
	bottom: calc(100% - 250px);
}
.bd-rules>:last-child {
	flex-basis: 240px;
	padding-bottom: 0!important;
}
.bd-rules h1 {
	font-size: 24px;
}
.bd-rules ul {
	font-size: 18px;
	line-height: 1.33;
	padding-left: 8px;
}

.dates {
	grid-template-columns: auto;
	gap: 16px;
}
#tickets {
	margin-top: 0;
}
.booking {
	margin: 24px 0 0;
}
.tickets-top.outer {
	height: 120px;
	margin: 0!important;
	border-radius: 0;
}
.step>.left,.step>.right {
	padding: 0 16px;
}

}