:root {
    --primary: #4a90e0;
    --secondary: #0A0D14;
    --white: #F5F5FF;
    --black: #05070C;
    --padding: 20%;
}

@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-Thin.woff2') format('woff2'),
         url('../font/Poppins-Thin.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-Light.woff2') format('woff2'),
         url('../font/Poppins-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-Regular.woff2') format('woff2'),
         url('../font/Poppins-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-Medium.woff2') format('woff2'),
         url('../font/Poppins-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-Bold.woff2') format('woff2'),
         url('../font/Poppins-Bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-ExtraBold.woff2') format('woff2'),
         url('../font/Poppins-ExtraBold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-ThinItalic.woff2') format('woff2'),
         url('../font/Poppins-ThinItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-LightItalic.woff2') format('woff2'),
         url('../font/Poppins-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-RegularItalic.woff2') format('woff2'),
         url('../font/Poppins-RegularItalic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-MediumItalic.woff2') format('woff2'),
         url('../font/Poppins-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Marianne-BoldItalic.woff2') format('woff2'),
         url('../font/Marianne-BoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
    src: url('../font/Poppins-ExtraBoldItalic.woff2') format('woff2'),
         url('../font/Poppins-ExtraBoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}

body {
    margin: 0;
    display: flex;
    overflow: hidden;
    height: 100%;
    width: 100%;
    text-size-adjust: 100%;
    font-family: 'Poppins';
    background-color: var(--secondary);
    color: var(--white);
}

* {
    box-sizing: border-box;
}

br, a {
    user-select: none;
}

button, a, input, textarea {
    font-family: 'Poppins';
}

.screen {
    overflow-y: auto;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.wallpaper {
    height: 80%;
    min-height: 80%;
    position: relative;
    background-color: var(--secondary);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.wallpaper > .bg {
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url('../img/assets/2.jpg');
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    filter: brightness(0.65);
}
.wallpaper > .bg2 {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(to top, var(--secondary), transparent);
}

.wallpaper > .navbar {
    backdrop-filter: blur(10px);
    background-color: color-mix(in srgb, var(--secondary) 75%, transparent);
}

.navbar {
    z-index: 100;
    display: flex;
    padding: 20px var(--padding);
    gap: 10px;
    width: 100%;
    background-color: var(--black);
}
.navbar > .void {
    width: 100%;
}
.navbar > * {
    z-index: inherit;
    margin: auto 0;
}
.navbar > a {
    color: var(--white);
    text-decoration: none;
    cursor: pointer;
    font-weight: 300;
    position: relative;
    padding: 7.5px 25px;
    overflow: hidden;
    min-width: max-content;
    border-radius: 50px;
    font-weight: 400;
    transition-duration: 0.3s;
}
.navbar > a:hover {
    background-color: color-mix(in srgb, var(--white) 15%, transparent);
}
.navbar > a[selected] {
    background-color: var(--white);
    color: var(--secondary);
    font-weight: 500;
}
.navbar > a.name::after {
    content: none;
}
.navbar > a.name {
    display: flex;
    gap: 10px;
    font-weight: 500;
}
.navbar > a > span {
    margin: auto;
    font-size: 18px;
}

.wallpaper > .content {
    z-index: 100;
    height: max-content;
    width: 100%;
    padding: 0 var(--padding);
    display: flex;
    flex-direction: column;
    margin: auto;
    gap: 15px;
}
.wallpaper > .content * {
    z-index: inherit;
}
.wallpaper > .content > .title {
    font-size: 40px;
    line-height: 40px;
    font-weight: 600;
    color: var(--white);
}
.wallpaper > .content > .description {
    font-size: 18px;
    width: 55%;
    color: var(--white);
    font-weight: 300;
    white-space: pre-line;
}
.wallpaper > .content > .buttons {
    display: flex;
    gap: 15px;
}
.wallpaper > .content a {
    background-color: var(--white);
    display: flex;
    width: max-content;
    padding: 10px 35px;
    border-radius: 50px;
    text-decoration: none;
    gap: 10px;
    cursor: pointer;
    transition-duration: 0.3s;
}
.wallpaper > .content a > * {
    margin: auto 0;
    transition-duration: 0.3s;
}
.wallpaper > .content a > svg {
    height: 13px;
    width: 13px;
    fill: var(--secondary);
}
.wallpaper > .content a > span {
    font-size: 16px;
    font-weight: 600;
    color: var(--secondary);
}
.wallpaper > .content a:hover > svg {
    transform: translateX(15px);
}

.container {
    padding: 150px var(--padding);
    display: grid;
    grid-auto-rows: max-content;
    gap: 15px;
}
.container:nth-child(2n+1) {
    background-color: var(--black);
}

.container .title .primary, .container .title .description {
    color: var(--primary);
    filter: drop-shadow(0 0 30px var(--primary));
}

.container .title {
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
}
.container .object {
    font-size: 18px;
    line-height: 18px;
    font-weight: 500;
}

.container .content {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 75px;
}

.container .content > * {
    margin: auto 0;
}

.container .column {
    gap: 15px;
    display: flex;
    flex-direction: column;
    width: 50%;
    max-width: 50%;
}

.container .center {
    margin: auto;
    gap: 25px;
    display: flex;
    flex-direction: column;
    padding: 50px 0;
}
.container .center > * {
    margin: 0 auto;
}

.container .photos {
    display: flex;
    position: relative;
    width: max-content;
    min-width: max-content;
}

.container .photos > .photo {
    background-size: cover;
    background-repeat: no-repeat;
    height: 300px;
    width: 100%;
    width: 175px;
    border-radius: 8px;
}

.container .photos > .self {
    height: 300px;
    width: 100%;
    transform: scale(1.2);
    width: 225px;
    min-width: 225px;
    display: flex;
    position: relative;
}
.container .photos .photo.primary {
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%;
    width: 100%;
    border-radius: 8px;
}
.container .photos .backdrop {
    background-size: cover;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 8px;
    filter: blur(25px);
    position: absolute;
    z-index: -1
}

.container .description {
    white-space: pre-wrap;
    font-size: 16px;
    font-weight: 300;
    opacity: 0.95;
}
.container .description .bold {
    font-weight: 500;
}

.proposals {
    display: flex;
    flex-direction: column;
    gap: 35px;
}
.proposals > .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 35px;
    grid-auto-rows: 275px;
}
.proposal {
    background-color: color-mix(in srgb, color-mix(in srgb, var(--secondary) 92.5%, var(--white)) 98.5%, blue);
    border-radius: 8px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 275px;
    width: 100%;
}

.proposal > .name {
    font-size: 24px;
    font-weight: 500;
}
.proposal > .description {
    font-size: 16px;
    font-weight: 300;
    height: 100%;
    padding-bottom: 30px;
}
.proposal > .description .italic {
    font-style: italic;
}

.container a {
    background-color: var(--white);
    display: flex;
    width: max-content;
    padding: 10px 35px;
    border-radius: 50px;
    text-decoration: none;
    gap: 10px;
    cursor: pointer;
    transition-duration: 0.3s;
}
.container a > * {
    margin: auto 0;
    transition-duration: 0.3s;
}
.container a > svg {
    height: 13px;
    width: 13px;
    fill: var(--secondary);
}
.container a > span {
    font-size: 16px;
    font-weight: 600;
    color: var(--secondary);
}
.container a:hover > svg {
    transform: translateX(15px);
}
.images {
    display: grid;
    grid-auto-rows: 300px;
    gap: 35px;
}
.images > .row {
    display: flex;
    gap: 35px;
}
.images > .row > .img {
    border-radius: 8px;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.form {
    background-color: color-mix(in srgb, color-mix(in srgb, var(--secondary) 92.5%, var(--white)) 98.5%, blue);
    border-radius: 8px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 50%;
    min-width: 50%;
}
.form > .input {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.form > .input > .name {
    font-size: 18px;
    line-height: 18px;
}
.form > .input > input {
    border: none;
    color: var(--white);
    font-size: 16px;
    padding: 10px;
    border-radius: 4px;
    background-color: color-mix(in srgb, color-mix(in srgb, var(--secondary) 85%, var(--white)) 97.5%, blue);
    outline: solid 0 #D33941;
}
.form > .input > input[error] {
    outline: solid 2px #D33941;
}

.form > .input > textarea {
    border: none;
    color: var(--white);
    font-size: 16px;
    padding: 10px;
    border-radius: 4px;
    background-color: color-mix(in srgb, color-mix(in srgb, var(--secondary) 85%, var(--white)) 97.5%, blue);
    resize: none;
    outline: solid 0 #D33941;
}
.form > .input > textarea[error] {
    outline: solid 2px #D33941;
}

.form > .input > textarea::-webkit-scrollbar {
    width: 5px;
}
.form > .input > textarea::-webkit-scrollbar-thumb {
    background-color: var(--secondary);
    border-radius: 5px;
}
.form > button {
    border: none;
    outline: none;
    color: var(--black);
    font-weight: 600;
    font-size: 16px;
    padding: 10px;
    border-radius: 4px;
    background-color: var(--white);
    cursor: pointer;
}

.footer {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    padding: 100px var(--padding);
    gap: 100px;
    background-color: var(--black);
    margin-top: auto;
}

.footer > .section {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer > .section > .title {
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    white-space: pre-wrap;
}
.footer > .section > .name {
    font-size: 22px;
    line-height: 22px;
    font-weight: 500;
}
.footer > .section > a {
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
    color: var(--primary);
    text-decoration: none;
}

.footer > .section > .networks {
    display: flex;
    gap: 15px;
}
.footer > .section > .networks > a {
    display: flex;
    height: 25px;
    width: 25px;
}
.footer > .section > .networks > a > svg {
    margin: auto;
    height: 100%;
    width: 100%;
    fill: var(--white);
}


@media screen and (max-width: 1700px) {
    .navbar {
        padding: 20px 150px;
    }
    .wallpaper > .content {
        padding: 0 150px;
    }
    .container {
        padding: 150px;
    }
    .footer {
        padding: 100px 150px;
    }
}