*,
:after,
:before {
	box-sizing: border-box
}

a,
b,
blockquote,
body,
canvas,
caption,
code,
div,
em,
embed,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
html,
i,
iframe,
img,
label,
li,
main,
nav,
object,
ol,
p,
pre,
section,
small,
span,
strike,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
tt,
u,
ul,
video {
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	text-size-adjust: none;
	border: 0;
	font-size: 100%;
	font: inherit;
	margin: 0;
	padding: 0;
	text-rendering: optimizeLegibility;
	vertical-align: baseline
}

footer,
header,
main,
nav,
section {
	display: block
}

.active {
	overflow: hidden
}

button {
	background-color: initial;
	border: none
}

ol,
ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
	content: "";
	content: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

input {
	-webkit-appearance: none;
	border-radius: 0
}

html {
	scroll-behavior: smooth
}

a {
	text-decoration: none
}

@font-face {
	font-family: CraftworkGrotesk;
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/CraftworkGrotesk-Bold.ttf) format("truetype")
}

@font-face {
	font-family: CraftworkGrotesk;
	font-style: normal;
	font-weight: 500;
	src: url(../fonts/CraftworkGrotesk-Medium.ttf) format("truetype")
}

@font-face {
	font-family: CraftworkGrotesk;
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/CraftworkGrotesk-Regular.ttf) format("truetype")
}

@font-face {
	font-family: CraftworkGrotesk;
	font-style: normal;
	font-weight: 600;
	src: url(../fonts/CraftworkGrotesk-SemiBold.ttf) format("truetype")
}

@font-face {
	font-family: GardensC;
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/GardensC_03_1.otf) format("opentype")
}

body {
	color: #2c2c2c;
	font-family: CraftworkGrotesk;
	font-style: normal;
	font-weight: 400
}

.wrapper,
body.block-scroll {
	overflow: hidden;
	width: 100%
}

.wrapper {
	margin: 0 auto;
	max-width: 1440px
}

.__container {
	margin: 0 auto;
	max-width: 1240px;
	padding: 0 20px;
	width: 100%
}

h2 {
	color: #2c2c2c;
	font-family: Great Vibes, cursive;
	font-size: clamp(38px, 38px + 40 * (100vw - 375px)/1065, 78px);
	position: relative;
	text-align: center;
	width: 100%
}

.mute-btn {
	background: #000;
	border: none;
	border-radius: 50%;
	bottom: 20px;
	cursor: pointer;
	height: 40px;
	max-width: 40px;
	padding: 6px;
	position: fixed;
	right: 20px;
	width: 100%;
	z-index: 999
}

.sound-icon {
	height: 100%;
	width: 100%
}

.arrow_wrap {
	position: absolute;
	z-index: 10
}

.first__page__wrap {
	height: 100dvh;
	max-width: 1440px;
	position: absolute;
	width: 100%;
	z-index: 200
}

.first__page__wrap.remove {
	pointer-events: none
}

.first__page {
	height: 100%;
	position: relative
}

.first_page_content {
	align-items: center;
	bottom: 70px;
	display: flex;
	flex-direction: column;
	left: 50%;
	position: absolute;
	transform: translateX(-50%)
}

.swipe__wrap {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between
}

.first_page__text {
	color: #fff;
	font-size: 20px;
	margin-bottom: 30px;
	text-shadow: 0 3px 5px #000
}

.first_page__titile {
	font-size: 40px;
	margin-bottom: 10px
}

.first_page__titile,
.first_page_name {
	color: #fff;
	text-shadow: 0 3px 5px #000
}

.first_page_name {
	font-size: 36px;
	margin-bottom: 20px
}

.arrow_wrap {
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
	cursor: grab;
	display: flex;
	height: 60px;
	justify-content: center;
	left: 0;
	position: relative;
	touch-action: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	width: 60px;
	z-index: 2
}

.arrow_wrap img {
	height: 32px;
	pointer-events: none;
	width: 32px
}

.border-line {
	background: radial-gradient(circle, #fff 50%, transparent 51%) repeat-x;
	background-size: 10px 10px;
	height: 10px;
	width: 200px
}

.open_wrap {
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
	height: 80px;
	overflow: hidden;
	position: relative;
	width: 80px;
	z-index: 1
}

video {
	height: 100%;
	width: 100%;
}

.video_wrap {
	height: 100%;
	position: relative
}

.video_wrap:before {
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}

.first__section {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-bottom: 120px;
	opacity: 0;
	padding: 50px 0 0
}

.first__section h1 {
	font-family: Great Vibes, cursive;
	font-size: clamp(38px, 38px + 40 * (100vw - 375px)/1065, 78px);
	max-width: 499px;
	padding: 0 0 10px;
	position: relative;
	text-align: center;
	width: 100%
}

.first__section h1:before {
	background: #000;
	bottom: 0;
	content: "";
	display: inline-block;
	height: 1px;
	left: 50%;
	max-width: 280px;
	position: absolute;
	transform: translateX(-50%);
	width: 100%
}

.first__text_wrap {
	display: flex;
	flex-direction: column;
	gap: 30px;
	max-width: 730px;
	width: 100%
}

.first__text_wrap p {
	color: #000;
	font-size: clamp(20px, 20px + 10 * (100vw - 375px)/1065, 30px);
	text-align: center
}

.first__img {
	aspect-ratio: 6/8;
	border-radius: 50% 50% 0 0;
	max-width: 410px;
	overflow: hidden
}

.first__img,
.first__img img {
	height: 100%;
	max-height: 478px;
	width: 100%
}

.first__img img {
	max-width: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.countdown__wrap {
    /* margin-top: 93px; */
}
.time__wrap {
    display: flex;
    gap: 50px;
    justify-content: center;
}
.time__item {
    align-items: center;
    display: flex;
    flex-direction: column;
}
.day, .hour, .minut, .second {
    font-size: 98px;
}
.time__item span:nth-child(2) {
    font-size: 38px;
}

.section_date {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 80px
}

.section_date_title {
	margin-bottom: 18px
}

.section_date_title:after,
.section_date_title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.section_date_title:before {
	left: 0
}

.section_date_title:after {
	right: 0
}

.month_wrap {
	align-items: flex-end;
	display: flex;
	gap: 15px;
	margin-bottom: 50px
}

.month_wrap span:first-child {
	color: #acc799;
	font-family: Prosto One, sans-serif;
	font-size: 114px;
	line-height: 75%
}

.month_wrap span:nth-child(2) {
	font-family: Inter, sans-serif;
	font-size: 26px
}

.calendar__wrap {
	margin-bottom: 50px;
	max-height: 222px;
	max-width: 328px
}

.calendar__wrap,
.calendar__wrap img {
	height: 100%;
	width: 100%
}

.date_wrap {
	color: #2c2c2c;
	font-family: Great Vibes, cursive;
	font-size: clamp(38px, 38px + 40 * (100vw - 375px)/1065, 78px);
	position: relative;
	text-align: center;
	width: 100%
}

.date_wrap:after,
.date_wrap:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 300px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.date_wrap:before {
	left: 0
}

.date_wrap:after {
	right: 0
}

.section__location {
	background: #acc799;
	margin-bottom: 120px
}

.location_wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 40px 0
}

.location__title {
	margin-bottom: 40px
}

.location__title:after,
.location__title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.location__title:before {
	left: 0
}

.location__title:after {
	right: 0
}

.location_contant_wrap {
	color: #000;
	display: flex;
	flex-direction: column;
	font-size: 30px;
	margin-bottom: 40px;
	max-width: 827px;
	text-align: center;
	width: 100%
}

.location__img {
	height: 316px;
	margin-bottom: 20px;
	max-width: 562px;
	width: 100%
}

.location__img img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.location_timing {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
	max-width: 562px;
	width: 100%
}

.location_timing span {
	font-size: 30px
}

.location_timing ._time {
	border-right: 1px solid #000;
	padding: 10px 20px 4px 0
}

.location__btn {
	align-items: center;
	border: 1px solid #000;
	border-radius: 30px;
	color: #000;
	display: flex;
	font-family: Playfair, serif;
	font-size: 28px;
	font-weight: 500;
	height: 60px;
	justify-content: center;
	max-width: 421px;
	width: 100%
}

.section__timing {
	margin-bottom: 120px
}

.timing_title {
	margin-bottom: 50px
}

.timing_title:after,
.timing_title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.timing_title:before {
	left: 0
}

.timing_title:after {
	right: 0
}

.timing__item {
	align-items: center;
	display: flex;
	gap: 144px
}

.timing__item ._item__img {
	height: 76px;
	max-width: 76px;
	width: 100%
}

.timing__item ._item__img img {
	height: 100%;
	width: 100%
}

.timing__list {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-left: auto;
	margin-right: clamp(10px, calc(-214px + 29.16667vw), 206px);
	max-width: 647px;
	position: relative;
	width: 100%
}

.timing__list:before {
	background: #000;
	content: "";
	display: inline-block;
	height: 100%;
	left: 20%;
	position: absolute;
	top: 0;
	width: 2px
}

.__item_text_wrap {
	display: flex;
	flex-direction: column;
	gap: 20px
}

.__item_text_wrap p {
	color: #000;
	font-size: 30px;
	white-space: pre-wrap
}

.__item_text_wrap p:first-child {
	font-size: 48px
}

.section__dres_code {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 120px
}

.dres_code_title {
	margin-bottom: 40px
}

.dres_code_title:after,
.dres_code_title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.dres_code_title:before {
	left: 0
}

.dres_code_title:after {
	right: 0
}

.dres_code_text {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 40px
}

.dres_code_text span {
	font-size: 30px;
	text-align: center
}

.dress_code_list {
	display: flex;
	gap: 50px
}

.dress_code_item_wrap {
	align-items: center;
	border: 1px solid #000;
	border-radius: 50%;
	display: flex;
	height: 112px;
	padding: 6px;
	width: 112px
}

.dress_code_item {
	border-radius: 50%;
	height: 100px;
	overflow: hidden;
	width: 100px
}

.dress_code_item img {
	height: 100%;
	width: 100%
}

.section__wish {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 120px
}

.wish__title {
	margin-bottom: 40px
}

.wish__title:after,
.wish__title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.wish__title:before {
	left: 0
}

.wish__title:after {
	right: 0
}

.wish__text_list {
	display: flex;
	flex-direction: column;
	gap: 60px;
	max-width: 890px;
	width: 100%
}

.wish__text_list p {
	font-size: 30px
}

.section__form_block {
	background: #acc799;
	margin-bottom: 120px;
	padding: 40px 0
}

.form_block_wrap {
	align-items: center;
	display: flex;
	flex-direction: column
}

.form_block_title {
	margin-bottom: 40px
}

.form_block_title:after,
.form_block_title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.form_block_title:before {
	left: 0
}

.form_block_title:after {
	right: 0
}

.form_block_text {
	font-size: 30px;
	margin-bottom: 50px
}

.btn__style {
	border: 1px solid #000;
	color: #000
}

.section__organizer {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 120px
}

.organizer__title {
	margin-bottom: 40px
}

.organizer__title:after,
.organizer__title:before {
	background: #000;
	content: "";
	height: 1px;
	max-width: 100px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%
}

.organizer__title:before {
	left: 0
}

.organizer__title:after {
	right: 0
}

.contakt__wrap {
	display: inline-flex;
	flex-direction: column;
	gap: 30px;
	min-width: 380px
}

.user__item {
	align-items: center;
	display: flex;
	gap: 48px
}

.user__item span {
	color: #000;
	font-family: GardensC;
	font-size: 28px
}

.user__item a {
	color: #000;
	flex-grow: 1;
	font-family: Lato, sans-serif;
	font-size: 28px;
	text-align: right;
	white-space: nowrap
}

.organizer__text {
	font-size: 30px;
	margin-bottom: 40px;
	max-width: 855px;
	width: 100%
}

.last_section {
	margin-bottom: 115px
}

.last_title {
	margin-bottom: 30px
}

.last_subtitle {
	color: #2c2c2c;
	font-family: Great Vibes, cursive;
	font-size: clamp(38px, 38px + 30 * (100vw - 375px)/1065, 68px);
	position: relative;
	text-align: center;
	width: 100%
}

.content {
	box-sizing: border-box;
	width: 100%
}

.slider {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-bottom: 30px
}

.wishes__btn_wrap {
	display: none;
	gap: 30px;
	justify-content: center;
	text-align: center
}

.wishes__btn_back,
.wishes__btn_next {
	cursor: pointer;
	height: 20px;
	max-width: 10px;
	width: 100%
}

.wishes__btn_back img,
.wishes__btn_next img {
	height: 20px;
	width: 10px
}

.wishes_pagination {
	font-family: CraftworkGrotesk;
	font-size: 20px
}

@media screen and (max-width:1024px) {

	.date_wrap:after,
	.date_wrap:before {
		max-width: 170px
	}
}

@media screen and (max-width:768px) {
	.first__section {
		margin-bottom: 120px
	}

	.time__wrap {
        gap: 20px;
    }
	.day, .hour, .minut, .second {
		font-size: 40px;
    }
	.time__item span:nth-child(2) {
    	font-size: 18px;
	}

	.date_wrap:after,
	.date_wrap:before,
	.dres_code_title:after,
	.dres_code_title:before,
	.form_block_title:after,
	.form_block_title:before,
	.location__title:after,
	.location__title:before,
	.organizer__title:after,
	.organizer__title:before,
	.section_date_title:after,
	.section_date_title:before,
	.timing_title:after,
	.timing_title:before,
	.wish__title:after,
	.wish__title:before {
		max-width: 50px
	}

	.dres_code_title:before,
	.form_block_title:before,
	.location__title:before,
	.organizer__title:before,
	.section_date_title:before,
	.timing_title:before,
	.wish__title:before {
		left: -20px
	}

	.dres_code_title:after,
	.form_block_title:after,
	.location__title:after,
	.organizer__title:after,
	.section_date_title:after,
	.timing_title:after,
	.wish__title:after {
		right: -20px
	}

	.month_wrap span:first-child {
		font-size: 96px
	}

	.month_wrap span:nth-child(2) {
		font-size: 22px
	}

	.month_wrap {
		justify-content: space-between;
		margin-bottom: 23px
	}

	.calendar__wrap {
		margin-bottom: 44px
	}

	.section_date {
		margin-bottom: 100px
	}

	.location_wrap {
		padding: 50px 0 40px
	}

	.location__title {
		margin-bottom: 30px
	}

	.location_contant_wrap {
		font-size: 20px
	}

	.location__img {
		margin-bottom: 25px;
		max-width: 100vw;
		width: 100vw
	}

	.location_timing span {
		font-size: 20px
	}

	.location_timing ._time {
		padding: 5px 20px 1px 0
	}

	.location__btn {
		font-size: 18px;
		height: 40px;
		max-width: 250px
	}

	.section__location {
		margin-bottom: 100px
	}

	.timing_title {
		margin-bottom: 40px
	}

	.timing__list {
		margin-right: 0
	}

	.timing__item ._item__img {
		height: 56px;
		max-width: 56px
	}

	.__item_text_wrap p:first-child {
		font-size: 38px
	}

	.__item_text_wrap p {
		font-size: 18px
	}

	.__item_text_wrap {
		gap: 10px
	}

	.timing__item {
		gap: 60px
	}

	.timing__list:before {
		left: 13%
	}

	.timing__list {
		gap: 80px
	}

	.section__timing {
		margin-bottom: 100px
	}

	.dres_code_text span {
		font-size: 20px
	}

	.dres_code_text {
		margin-bottom: 50px
	}

	.dress_code_list {
		flex-wrap: wrap;
		justify-content: center
	}

	.section__dres_code {
		margin-bottom: 100px
	}

	.content {
		max-width: 600px
	}

	.wishes__btn_wrap {
		display: flex
	}

	.section__wish {
		margin-bottom: 100px
	}

	.section__form_block {
		background: #fff;
		margin-bottom: 100px;
		padding: 0
	}

	.form_block_title {
		margin-bottom: 30px
	}

	.form_block_text {
		font-size: 20px;
		padding: 0 10px
	}

	.form_block_title span {
		display: inline-block;
		width: 53%
	}

	.organizer__title {
		margin-bottom: 30px
	}

	.organizer__text,
	.user__item a,
	.user__item span {
		font-size: 20px
	}

	.contakt__wrap {
		min-width: 287px
	}

	.section__organizer {
		margin-bottom: 90px
	}

	.last_section {
		margin-bottom: 100px
	}

	.wish__text_list p {
		font-size: 20px
	}

	.first_page__titile {
		font-size: 24px
	}

	.first_page_name {
		font-size: 28px
	}

	.first_page__text {
		font-size: 18px
	}
}

@media screen and (max-width:540px) {

	.first__img,
	.first__img img {
		max-height: 391px
	}

	.timing__list:before {
		left: 16%
	}
}

@media screen and (max-width:512px) {
	video {
		object-fit: cover;
	}
}

@media screen and (max-width:480px) {
	.timing__list:before {
		left: 22%
	}

	.contakt__wrap {
		min-width: 100%
	}
}