/* USER VARIABLES SECTION */

:root {
	--accent: #6ec1e4;
	--text: #7a7a7a;
	--inverted-color: #fff;
	--regular-text: 16px;
	--lineheight: 1.2;
	--userfont: proxima-st, sans-serif;
	--systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}

/* FONTS LOAD SECTION */

@font-face { src: url("../fonts/ProximaNova-Regular.woff2") format("woff2"); font-family: "proxima-st"; font-weight: 400; font-style: normal; }
@font-face { src: url("../fonts/ProximaNova-Bold.woff2") format("woff2"); font-family: "proxima-st"; font-weight: 700; font-style: normal; }
@font-face { src: url("../fonts/ProximaNova-Extrabld.woff2") format("woff2"); font-family: "proxima-st"; font-weight: 800; font-style: normal; }
@font-face { src: url("../fonts/DomainDisplay.woff2") format("woff2"); font-family: "domaine-st"; font-weight: 400; font-style: normal; }

/* GENERAL CSS SETTINGS */

::placeholder { color: #666; }
::selection { background-color: var(--accent); color: #fff; }
input, textarea { outline: none; }
input:focus:required:invalid, textarea:focus:required:invalid { border-color: red; }
input:required:valid, textarea:required:valid { border-color: green; }

body {
	font-family: var(--userfont);
	font-size: var(--regular-text);
	line-height: var(--lineheight);
	color: var(--text);
	min-width: 320px;
	position: relative;
	overflow-x: hidden;
}

/* USER STYLES */

.container {
	max-width: 1140px;
	padding: 0 16px;
	margin: 0 auto;
}

.container--center {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.header	{
	position: relative;
	min-height: 100vh;
	background: no-repeat center/cover;
	background-attachment: fixed;
	isolation: isolate;
	display: flex;
	align-items: center;
}

.header::after {
	position: absolute;
	content: "";
	inset: 0;
	background: rgba(0, 0, 0, 0.25);
	z-index: -1;
}

.header-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 64px;
	color: var(--inverted-color);
	text-align: center;
}

.info-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

.info-header__logo {
	position: relative;
}

.info-header__logo a {
	max-width: 400px;
}

.info-header__logo .logo-clarify {
	position: absolute;
	top: -80px;
	right: -180px;
}

.logo-clarify {
	width: 150px;
	height: 150px;
	padding-top: 35px;
	font-size: 32px;
	font-weight: 700;
	text-transform: uppercase;
	background-color: var(--accent);
	border-radius: 50%;

}

.sublogotype {
	font-family: "domaine-st", sans-serif;
	font-size: 48px;
	font-weight: 400;
}

.info-header__description {
	font-size: 26px;
	line-height: 1.2;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 5px;
}

.info-header__date {
	font-size: 20px;
	letter-spacing: 3px;
}

.button-arrow-down {
	padding: 12px;
}

.button-arrow-down svg {
	fill: var(--inverted-color);
	width: 50px;
}

.button-arrow-down:hover svg {
	animation: bounce 2.5s cubic-bezier(0.280, 0.840, 0.420, 1) infinite;
}

@keyframes bounce {
	0%   { transform: scale(1,1)    translateY(0); }
  10%  { transform: scale(1,1) translateY(0); }
  30%  { transform: scale(1.1,.9) translateY(30px); }
  50%  { transform: scale(1,1)    translateY(0); }
  57%  { transform: scale(1,1)    translateY(3px); }
  64%  { transform: scale(1,1)    translateY(0); }
  100% { transform: scale(1,1)    translateY(0); }
}

.section {
	padding: 64px 0;
}

.section--intro {
	background: no-repeat center/cover;
	padding: 128px 0;
}

.intro-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	text-align: center;
	color: var(--inverted-color);
}

.intro-content__text {
	font-size: 24px;
}

.intro-content__header {
	font-size: 48px;
	max-width: 720px;
	margin-bottom: 32px;
}

.button-main {
	display: inline-block;
	font-size: 20px;
	line-height: 1;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--inverted-color);
	background-color: var(--accent);
	padding: 16px 32px;
}

.button-main:hover {
	animation: bounce-button 1s ease 1;
}

@keyframes bounce-button {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(10px); }
	100% { transform: translateY(0); }
}

.section--venue {
	background: no-repeat center/cover;
	min-height: 100vh;
	/* padding: 128px 0; */
}

.info-venue {
	background-color: rgba(0, 0, 0, 0.5);
	color: var(--inverted-color);
	padding: 64px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	
}

.info-venue__venue {
	font-family: "domain-st";
	font-size: 42px;
	text-align: center;
}

.info-venue__dates {
	font-size: 24px;
	letter-spacing: 1px;
	text-align: center;
}

.info-venue__subheader{
	font-size: 24px;
	text-transform: uppercase;
	text-align: center;
}

.divider {
	content: "";
	margin: 0 auto;
	width: 100%;
	height: 1px;
	background-color: var(--inverted-color);
}

.divider--20 {
	width: 20%;
}

.divider--textcolor {
	background-color: var(--text);
}

.info-venue__partners {
	padding: 24px 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
}

.main-header {
	color: var(--accent);
	font-family: "domain-st";
	font-size: 48px;
	font-weight: 400;
	text-align: center;
	margin-bottom: 16px;
}

.main-header--left {
	text-align: left;
}

.swiper {
	width: 100%;
	height: 100%;
}

.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.swiper-pagination {
	position: relative;
	margin-top: 32px;
}

.swiper-pagination-bullet-active {
	background-color: var(--accent);
}

.swiper-button-next, .swiper-button-prev {
	color: var(--inverted-color);
	transform: translateY(-50%);
}

.swiper-button-next::after, .swiper-button-prev::after {
	font-size: 24px;
}

.program-subheader {
	font-size: 20px;
	text-align: center;
	margin-bottom: 32px;
}

.program-day-head {
	font-size: 24px;
	text-align: center;
	margin-bottom: 24px;
}

.program-day-subhead {
	font-size: 16px;
	font-weight: 800;
	text-align: center;
	margin-bottom: 48px;
}

.program-day-data {
	line-height: 1.5;
	margin-bottom: 32px;
}

.program-day-data-container {
	margin-bottom: 64px;
}

.program-day-data-container--row {
	display: flex;
	align-items: center;
	gap: 32px;
}

.program-day-data-container--inverted {
	flex-direction: row-reverse;
}

.program-day-data-container--row .program-day-data {
	flex: 1 0 50%;
}

.section--purpose {
	position: relative;
	min-height: 100vh;
	background: no-repeat center/cover;
	isolation: isolate;
	display: flex;
	align-items: center;
}

.section--purpose::after {
	position: absolute;
	content: "";
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: -1;
}

.purpose__header {
	color: var(--inverted-color);
}

.purpose-items {
	padding: 32px 64px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 32px;
}

.purpose-item {
	width: 250px;
	background-color: var(--inverted-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	padding: 32px 16px;
}

.purpose-item__icon {
	max-width: 128px;
}

.purpose-item__icon path {
	fill: var(--accent);
}

.purpose-item__info {
	text-align: center;
	line-height: 1.2;
}

.participants-container {
	display: flex;
	flex-direction: row-reverse;
	gap: 32px;
}

.participants-data {
	flex: 1 0 50%;
}

.participants-data__text {
	font-size: 20px;
	margin-bottom: 16px;
}

.participants-data__list {
	font-size: 20px;
	padding-left: 32px;
}

.participants-data__list > li {
	position: relative;
	margin-bottom: 4px;
}

.participants-data__list > li::before {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	background-color: var(--text);
	border-radius: 50%;
	top: 8px;
	left: -16px;
}

.section--visitors {
	background: no-repeat center/cover;
}

.visitors-content {
	display: flex;
	align-items: center;
	gap: 64px;
}

.visitors-content__text {
	color: var(--inverted-color);
	font-size: 20px;
	line-height: 1.5;
}

.visitors-content__image-wrapper {
	flex: 1 0 40%;
}

.visitors-content__image-title {
	color: var(--inverted-color);
	text-align: center;
	font-size: 24px;
	margin-bottom: 32px;
}

.fee-wrapper {
	padding: 64px;
	background-color: rgba(255,255,255,.9);
}

.fee__price {
	width: 200px;
	height: 200px;
	background-color: var(--accent);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	margin-top: 36px;
	margin-bottom: 32px;
}

/* .point-burst {
	background-color: var(--accent);
  width: 200px;
  height: 200px;
  position: relative;
  text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	margin-top: 36px;
	margin-bottom: 32px;
}
.point-burst::before,
.point-burst::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 200px;
  width: 200px;
	background-color: var(--accent);
}
.point-burst::before {
  transform: rotate(30deg);
}
.point-burst::after {
  transform: rotate(60deg);
} */

.fee__price > p {
	font-size: 36px;
	line-height: 1;
	font-weight: 700;
	color: var(--inverted-color);
	z-index: 10;
}

.fee__include {
	margin: 0 auto;
	text-align: center;
	font-size: 32px;
	line-height: 1;
	font-weight: 400;
	margin-bottom: 32px;
}

.fee-items{
	margin: 0 auto;
	column-count: 2;
	column-gap: 64px;
	column-rule: 1px solid var(--text);
	max-width: 860px;
}

.fee-item {
	font-size: 18px;
	line-height: 1.1;
	font-weight: 400;
	margin-bottom: 16px;
	position: relative;
	padding-left: 24px;
}

.fee-item::before {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: 2px;
	left: 0;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3e%3cpath d='M3.72792 8.75736L7.48528 12.5147L15 5' stroke='%236EC1E4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
}

.section--gallery {
	padding-bottom: 0;
}

.main-subheader {
	text-align: center;
	font-size: 24px;
	line-height: 1;
	font-weight: 400;
}

.gallery__subheader {
	margin-bottom: 32px;
}

.gallery-wrapper {
	margin-bottom: 64px;
}

.section--reviews {
	background: no-repeat center/cover;
}

.reviews__header {
	margin-bottom: 64px;
	color: var(--inverted-color);
}

.slider__item {
	height: auto;
}

.testimonial {
	height: 100%;
	padding: 16px;
	background-color: var(--accent);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	color: var(--inverted-color);
}

.testimonial--grey {
	background-color: var(--text)
}

.testimonial__top-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.testimonial__person {
	font-size: 20px;
}

.testimonial__person span {
	display: block;
	font-weight: 700;
}

.testimonial__image {
	width: 150px !important;
	height: 150px !important;
	border-radius: 50%;
}

.organizers__header {
	margin-bottom: 48px;
}

.organizers-info {
	display: flex;
	align-items: center;
	gap: 32px;
}

.organizers-info__photo {
	flex: 460px 1 1;
}

.org-photo {
	position: relative;
}

.org-photo__signature {
	color: var(--inverted-color);
	font-size: 14px;
	line-height: 1;
	position: absolute;
	bottom: 24px;
}

.org-photo__signature--left {
	left: 24px;
}

.org-photo__signature--right {
	right: 24px;
}

.organizers-info__text {
	flex: auto 1 10;
}

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

.organizers-text__text {
	margin-bottom: 16px;
}

.organizers-text__text--signature {
	margin-bottom: 64px;
	text-align: right;
	align-self: flex-end;
	font-weight: 700;
}

.organizers-text__button {
	margin: 0 auto;
}

.section--fairs {
	padding-top: 128px;
	position: relative;
	background: no-repeat center/cover;
	isolation: isolate;
}

.section--fairs::after {
	position: absolute;
	content: "";
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: -1;
}

.main-subheader--fairs {
	margin: 0 auto;
	max-width: 720px;
	color: var(--inverted-color);
	margin-bottom: 64px;
}

.fair-cards {
	display: flex;
	flex-flow: wrap;
	gap: 32px;
	justify-content: center;
	padding: 0 16px;
}

.fair-card {
	max-width: 300px;
	padding: 16px;
	padding-bottom: 24px;
	background-color: #fff;
	text-align: center;
}

.fair-card__image {
	margin-bottom: 16px;
}

.fair-card__country {
	font-size: 24px;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 12px;
}

.fair-card__town {
	font-size: 18px;
	line-height: 1;
	font-weight: 500;
	margin-bottom: 20px;
}

.fair-card__date {
	font-size: 16px;
	line-height: 1;
	font-weight: 400;
}

.fair-buttons {
	padding: 64px 16px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 64px;
}

.fair-button {
	min-width: 275px;
}

.footer {
	background-color: #303030;
	padding: 32px 16px;
}

.footer-wrapper {
	margin: 0 auto;
	max-width: 960px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.footer__logo img {
	padding: 16px;
	width: 150px;
}

.footer__row {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	color: var(--inverted-color);
	padding: 8px;
}

.footer__icon svg {
	fill: var(--inverted-color);
	width: 24px;
	height: 24px;
}

.footer__link a {
	color: var(--inverted-color);
	padding-right: 8px;
}

.footer__link__mail a {
	display: block;
}
