@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

:root {
	--content-primary: #FFFFFF;
	--content-inverted: #111111;
	--background-content-primary: #689DD1;
	--background-content-secondary: #FFFFFF;
	--background-content-secondary-inverted: #111111;
	--background-content-tertiary: #023568;

	--border-radius-1: 8px;
	--border-radius-2: 16px;
	--border-radius-3: 24px;
	--border-radius-4: 32px;
	--border-radius-5: 40px;
	--border-radius-full: 100px;

	--fs-base: 1rem;
	--fs-1: 1.5rem;
	--fs-2: 2rem;
	--fs-3: 2.5rem;
	--fs-4: 3rem;
	--fs-5: 3.5rem;
	--fs-6: 4rem;
	--fs-7: 4.5rem;
	--fs-8: 5rem;
}

.open-sans {
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
		"wdth" 100;
}

.lato {
	font-family: "Lato", sans-serif;
	font-style: normal;
}

.primary-button {
	display: inline-block;
	gap: 8px;
	padding: 8px 24px;
	border-radius: var(--border-radius-full);
	background-color: var(--background-content-primary);
	color: var(--content-primary);
	text-decoration: none;
	cursor: pointer;
	width: fit-content;
	font-weight: 400;
	
	transition: opacity 0.4s;
}

.primary-button:hover {
	opacity: 0.6;
}

.secondary-button {
	display: inline-block;
	gap: 8px;
	padding: 8px 24px;
	border-radius: var(--border-radius-full);
	background-color: var(--background-content-secondary);
	color: var(--content-inverted);
	cursor: pointer;
	width: fit-content;
	font-weight: 400;

	transition: opacity 0.4s;
}

.secondary-button:hover {
	opacity: 0.6;
}

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

body {
	background-color: var(--background-content-secondary-inverted);
}

.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: transparent;
	padding: 40px;
}

.header__menu-mobile {
	display: flex;
}

.header__menu-mobile__icon {
    width: 40px;
    cursor: pointer;

	transition: all 0.4s ease;
}

.header__menu-mobile__icon:hover {
	opacity: 0.6;
}

.header__menu-logo {
	display: flex;
}

.header__menu-logo__link {
	display: flex;
}

.header__menu-logo__link__logo {
	width: 40px;

	transition: all 0.4s ease;
}

.header__menu-logo__link__logo:hover {
	opacity: 0.6;
}

.header__menu-desktop {
    display: none;
}

.header__menu-desktop__list {
    list-style-type: none;
	display: flex;
	gap: 32px;
}

.header__menu-desktop__list__item__link {
    color: var(--content-primary);
    text-decoration: none;

    transition: all 0.4s ease;
}

.header__menu-desktop__list__item__link:hover {
    opacity: 0.6;
}

.mobile-menu-panel {
	display: none;
	position: absolute;
	top: 125px;
	left: 0;
	border-top: 2px solid white;
	width: 100%;
	height: calc(100dvh - 125px);
	background-color: var(--background-content-secondary-inverted);
	flex-direction: column;
	z-index: 1;
}

.mobile-menu-panel.active {
	display: flex;
}

.mobile-menu-panel__item {
	display: block;
}

.mobile-menu-panel__item__link {
	display: block;
	padding: 24px;
	border-bottom: 1px solid var(--background-content-primary);
	color: var(--content-primary);
	font-weight: 300;
	text-decoration: none;
	text-align: center;
	font-size: var(--fs-1);

	transition: all 0.4s ease;
}

.mobile-menu-panel__item__link:hover {
	background-color: var(--background-content-primary);
}

.footer {
	padding: 40px;
	display: flex;
	flex-direction: column;
	gap: 64px;
	background-color: var(--background-content-tertiary);
}

.footer__menu-logo {
    display: flex;

	transition: all 0.4s ease;
}

.footer__menu-logo__link {
	display: flex;
}

.footer__menu-logo__link__logo {
    width: 40px;

	transition: all 0.4s ease;
}

.footer__menu-logo__link__logo:hover {
    opacity: 0.6;
}

.footer__menu {
    display: flex;
	flex-direction: column;
	gap: 16px;
}

.footer__menu__list {
    display: flex;
	flex-direction: column;
	gap: 16px;
	list-style-type: none;
}

.footer__menu__list__item {
	display: flex;
}

.footer__menu__list__item__link {
    color: var(--content-primary);
    text-decoration: none;
	font-size: var(--fs-base);

    transition: all 0.4s ease;
}

.footer__menu__list__item__link:hover {
    opacity: 0.6;
}

@media (min-width: 768px) {
	.primary-button {
		font-size: var(--fs-1);
	}

	.secondary-button {
		font-size: var(--fs-1);
	}

	.header {
		padding: 40px 80px;
	}

	.footer {
		padding: 40px 80px;
	}
}

@media (min-width: 1024px) {
	.header__menu-mobile {
		display: none;
	}

	.header__menu-desktop {
		display: flex;
	}
}