@font-face {
	font-family: "EB Garamond12";
	src: url("../fonts/EBGaramond12-Regular.woff2") format("woff2");
}

@font-face {
	font-family: "EB Garamond12it";
	src: url("../fonts/EBGaramond12-Italic.woff2") format("woff2");
	font-style: italic;
	font-feature-settings: "cv04" off;
}

@font-face {
	font-family: "EB Garamond08";
	src: url("../fonts/EBGaramond08-Regular.woff2") format("woff2");
}

:root {
	--nav-color: #801010;
	--nav-text-color: #ffffff;
	--text-color: #333333;
	--background-color: #f4f4f4;


	--heading-font: 'EB Garamond12', serif;
	--body-font: 'EB Garamond12, serif';
	--base-font-size: 18px;

	--content-width: 800px;

	--nav-width: max(300px, 15vw);

	--header-height: 90px;
	--main-height: calc(100vh-var(--header-height));

	--nav-border-color: #ffffff;
	--lines-limit: 175px;
	--line-animation-time: 1.5s;
	--side-menu-animation-time: 0.35s;
	--logo-height: max(63px, 10dvh);
	--mobile-van-width: 70;;
	--logo-name-color: #fff;
	--logo-date-color: #000020;
	--circle-logo-name-color: #fff;
	--circle-logo-and-color: var(--logo-date-color);
	--circle-logo-date-color: #fff;
	--circle-line-color: #fff;
	--circle-line-color-top: #fff;
	--link-color: #9999ff;
	--font-family: "EB Garamond12", "Playfair Display";
	--font-size: 24px;
	--no-line-media-width: 500px;
	--side-menu-media-width: 918px;
	--side-menu-width: 350px;
	--side-menu-v-padding: 20px;
	--side-menu-h-padding: 20px;
}

* {
	padding: 0;
	box-sizing: border-box;
}

hr {
	border-top: 1px solid var(--nav-border-color);
	border-bottom: 1px solid var(--nav-border-color);
	border-left: 1px solid  var(--nav-border-color);
	border-right: 1px solid var(--nav-border-color);
}

body, html {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-family: var(--font-family);
	font-size: var(--base-font-size);
	line-height: 1.6;
	color: var(--text-color);
	font-style: normal;
	background-color: var(--background-color);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--heading-font);
	margin-bottom: 1rem;
	color: var(--nav-color);
}

h1 {font-size: 48px;}
h2 {font-size: 36px;}
h3 {font-size: 30px;}

a {
	text-decoration: none;
	color: #000000;
}

header {
}
header .logo-name {
	color: var(--logo-name-color);
	font-size: 28px;
	padding: 0 5px;
}

header .logo-and {
	font-family: "EB Garamond12it";
	font-size: 24px;
}

header .circle-and {
	font-family: "EB Garamond12it";
	font-size: 24px;
	color: var(--circle-logo-and-color);
}

header .logo-line {
	margin-bottom: 5px;
	padding-bottom: 0; --TODO
}

header .logo-date {
	color: var(--logo-date-color);
	font-size: 22px;
	padding: 10px 10px;
}

header nav ul li .logo {
	font-size: 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: var(--header-height);
	width: 100%;
}

header nav ul li .logo-line {
	width: 250px;
}


header nav {
	list-style-type: none;
	background-color: var(--nav-color);
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: var(--header-height);
	overflow-y: auto;
	margin-left: auto;
	margin-right: auto;
	border: 0px solid var(--nav-border-color);
	border-bottom-width: 2px;

	font-size: 25px;
	z-index: 100;
}

header nav ul {
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: var(--header-height);
	width: 100%;
}

header nav ul li .logo {
	box-sizing: border-box;
	background-color: var(--header-color);
}

header nav ul li {
	border: none;
	height: var(--header-height);
	display: flex;
	align-items: center;
	justify-content: center;
}

header nav ul li:hover {
	background-color: #902020;
	cursor: pointer;
}

nav ul li a {
	padding: 20px 10px 20px 20px;
	display: block;
	text-decoration: none;
	color: var(--nav-text-color);
	font-weight: bold;
}

nav .lang-switch {
	color: #fff;
	position: absolute;
	margin-left: 20px;
	margin-top: 20px;
}

main {
	font-size: var(--font-size);
	line-height: 1.25;
	flex: 1 0 auto;
	padding: 20px 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--header-height);
	width: 90vw;
	height: calc(100vh - var(--header-height))
}

main section {
	word-wrap: break-word;
	margin-bottom: 80px;
	background-color: #ffffff;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	padding: 2rem;
	border: 0px solid #111111;
	border-top-width: 2px;
}

main section .photos {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: nowrap;
}

main section li {
	margin-left: 50px;
}

.last-section {
	margin-bottom: 150px;
}

main section .quote {
	text-align: center;
	font-size: 30px;
	padding: 5px 0 20px 0;
	color: var(--text-color);
	padding: 30px;
	margin: 50px auto;
	border-radius: 10px;
	border-width: 10px 10px 10px 10px;
	box-shadow: 0 4px 6 px rgba(0, 0, 0, 0.1);
	line-height: 1.4;
	margin-bottom: 20px;
	font-style: italic;
}

main section h2 {
	padding: 10px 10px 5px 10px;
	text-align: center;
	font-family: "EB Garamond12";
	font-size: 30px;
}

main section h4 {
	font-size: 30px;
	padding: 10px 30px 10px 30px;
}

main p {
	width: 100%;
	padding: 5px 20px 20px 20px;
}

main iframe {
	display: block;
	margin: auto;
}

main .account-number {
	text-align: center;
	font-size: 26px;
}

main .copy-text {
	text-decoration: underline;
	text-decoration-color: grey;
	cursor: pointer;
}

footer {
	width: 100vw;
	left: 0;
	background: #333333;
	color: #ffffff;
	text-align: center;
	padding: 10px 0;
	margin-top: 20px;
	bottom: 0;
	position: fixed;
}

footer p {
	margin: 0;
}

footer a:link {
	color: var(--link-color)
}

footer a:visited {
	color: #cb9eff;
}

footer a:active {
	color: #ffffff;
}

.full-page {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: var(--nav-color);
	z-index: 1000;
}

@keyframes continuous-rotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

#circle-checkbox {
	display: none;
}

.circle {
	font-family: "EB Garamond08";
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -150px;
	margin-left: -150px;
	width: 300px;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.5s;
	cursor: pointer;
	font-size: 28px;
}

.rotate {
	height: 250px;
	position: absolute;
	animation: continuous-rotate 25s var(--d,0s) linear infinite;
}

.circle-name {
	color: var(--circle-logo-name-color);
	font-size: 28px;
	padding: 0 5px;
}

.circle-date {
	color: var(--circle-logo-date-color);
	top: 50%;
	left: 50%;
	font-variant-caps: small-caps;
}

.center-line {
	position: fixed;
	border-top: 1px solid var(--circle-line-color-top);
	border-bottom: 1px solid var(--circle-line-color);
	border-left: 1px solid var(--circle-line-color);
	border-right: 1px solid var(--circle-line-color);

	top: 50%;
	margin-top: -1px;
	width: calc(50vw - var(--lines-limit));
}

.left-line {
	left: 0;
}

.right-line {
	right: 0;
}

@keyframes div-animation {
	0% {height: 100dvh}
	50% {height: 50dvh}
	99% {height: 0;}
	100% {height: 0; visibility: hidden;}
}

@keyframes line-animation {
	0% {width: calc(50vw - var(--lines-limit)); top: 50dvh;}
	50% {width: 50vw; top: 50dvh;}
	99% {width: 50vw; top: 0;}
	100% {width: 50vw; top: 0;}
}

@keyframes line-animation-mobile {
	0% {width: 0vw; visibility: visible; top: 50dvh;}
	50% {width: 50vw; visibility: visible; top: 50dvh;}
	99% {width: 50vw; visibility: visible; top: 0;}
	100% {width: 50vw; visibility: hidden; top: 0;}
}

@keyframes circle-disappear {
	0% {opacity: 1}
	1% {opacity: 1; cursor: default; pointer-events: none;}
	99% {opacity: 0; cursor: default; pointer-events: none;}
	100% {opacity: 0; cursor: default; visibility: hidden;}
}

#circle-checkbox:checked + .full-page {
	animation: div-animation var(--line-animation-time) forwards;
}

#circle-checkbox:checked + div > .center-line {
	animation: line-animation var(--line-animation-time) forwards;
}

#circle-checkbox:checked + div > .circle {
	animation: circle-disappear 0.36s forwards;
}

@media (max-width: 500px) {
	.center-line {
		visibility: hidden;
	}

	#circle-checkbox:checked + div > .center-line {
		animation: line-animation-mobile var(--line-animation-time) forwards;
	}
}

#burger-menu-checkbox {
	display: none;
}

header label svg rect {
	
}

.burger-menu-svg {
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: var(--logo-height);
	height: var(--logo-height);
}

.burger-menu-line {
	fill: #808080;
}

.burger-menu-border {
	fill: none;
	stroke: #ffffff;
	stroke-width: 3;
}

@keyframes hide {
	0% {visibility: visible}
	100% {visibility: hidden}
}

@keyframes show {
	0% {visibility: hidden}
	100% {visibility: visible}
}

@keyframes open-sidebar {
	0% {visibility: hidden}
	100% {visibility: visible}
}

@keyframes open-sidebar-text {
	0% {visibility: hidden; padding: 0 0; margin: 0 0;}
	49% {visibility: hidden}
	50% {visibility: visible; opacity: 0}
	100% {visibility: visible; opacity: 1; padding: var(--side-menu-v-padding) var(--side-menu-h-padding); margin: calc(var(--side-menu-v-padding) * -1) calc(var(--side-menu-h-padding) * -1);}
}

@keyframes burger-rotate-top {
	0% {transform: rotate(0) translatex(0) translatey(0) scale(1);}
	100% {transform: rotate(-45deg) translatex(-73px) translatey(24px) scale(1.4142);}
}

@keyframes burger-rotate-bottom {
	0% {transform: rotate(0) translateX(0) translatey(0) scale(1);}
	100% {transform: rotate(45deg) translatex(0px) translatey(-96px) scale(1.4142);}
}

@keyframes burger-hide-middle {
	0% {transform: translateX(0) translatey(0) scale(1);}
	100% {transform: translatex(52px) translatey(52px) scale(0.001);}
}

@keyframes burger-return-top {
	0% {transform: rotate(-45deg) translatex(-73px) translatey(24px) scale(1.4142);}
	100% {transform: rotate(0) translatex(0) translatey(0) scale(1);}
}

@keyframes burger-return-bottom {
	0% {transform: rotate(45deg) translatex(0px) translatey(-96px) scale(1.4142);}
	100% {transform: rotate(0) translatex(0) translatey(0) scale(1);}
}

@keyframes burger-return-middle {
	0% {transform: translatex(52px) translatey(52px) scale(0.001);}
	100% {transform: translatex(0) translatey(0) scale(1);}
}


@media (max-width:700px) {
	main .photos {
		flex-direction: column;

	}

	main section .about-photo {
		width: 100%;
	}
}
