@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --radius: 10px;
    --dark-background-color: #111f13;
    --dark-text-color: #F7F7FF;
    --green: #111f13;
    --white: #F7F7FF;
    --grey: #757780;
    --yellow: #F0F757;
    --purple: #5A0B4D;
    --hero-secondary-text-color: #E5E7Eb;
    --hero-main-text-color: #F9FAF8;
    --quote-section-background-color: #E5E7EB;
    --quote-section-text-color: #1F2937;
    --accent-color: #5A0B4D;
    --info-header-text: #1F2937;
    --white-background: #f0f3d8;
}

body {
    font-family: "Roboto";
    width: 93vw;
    background-color: var(--white-background);
}

button {
    font-size: 16px;
    box-sizing: border-box;
    box-shadow: none;
    border: none;
    background-color: var(--accent-color);
    color: var(--dark-text-color);
    padding: 10px 50px;
    border-radius: var(--radius);
    box-shadow: -5px 5px var(--dark-text-color);
}

button:hover, button:active {
    filter: brightness(110%);
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
}

.hero a, .header a, .footer a {
    color: var(--yellow);
}

.main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.section {
    padding: 50px;
    width: 100%;
    display: flex;
}
.header a {
    color: var(--hero-secondary-text-color);
}
.header {
    background-color: var(--dark-background-color);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 24px;
    color: var(--hero-main-text-color);
    font-weight: 900;
    align-self: stretch;
}
.hero {
    background-color: var(--dark-background-color);
    color: var(--dark-text-color);
    flex-direction: column;
    gap: 50px;
}
.hero-image {
    background-color: #6D747D;
    border-radius: var(--radius);
    border: 2px solid var(--yellow);
    box-shadow: -10px 10px var(--accent-color);
    flex-basis: 525px;
    flex-shrink: 1;
    max-width: 525px;
    max-height: 240px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.links {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 25px;
    font-weight: 300;
    color: var(--hero-secondary-text-color);
}
.hero-main {
    display: flex;
    flex-direction: row;
    gap: 100px;
    justify-content: center;
    align-items: center;
    flex-wrP: wrap;
}

.hero-left, .hero-right {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.hero-left {
    justify-content: flex-start;
    align-items: flex-start;
    flex-grow: 0;
    flex-basis: 500px;
}

.hero-left h1 {
    font-size: 48px;
    color: var(--dark-text-color);
    font-weight: 900;
}

.hero-left p {
    font-size: 18px;
}

.info {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    justify-content: center;
    align-items: center;
    gap: 50px;
}
.info h2 {
    font-size: 36px;
    color: var(--info-header-text);
    font-weight: 900;
}
.items {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 100px;
    flex-wrap: wrap;
}
.item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.item-text {
    width: 150px;
    flex-basis: 100px;
    flex-grow: 0;
    flex-shrink: 1;
}
.image {
    width: 150px;
    height: 150px;
    border-radius: var(--radius);
    border: 4px solid var(--accent-color);
    box-shadow: 10px 10px var(--accent-color);
    flex: 1;
    flex-basis: 150px;
}

.quote {
    background-color: var(--quote-section-background-color);
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.quote-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-basis: 1000px;
    flex-shrink: 1;
}

.quote-text {
    font-size: 36px;
    color: var(--quote-section-text-color);
    font-weight: 300;
    font-style: italic;
}

.quote-attribution {
    font-style: normal;
    font-weight: 900;
    font-size: 24px;
    align-self: flex-end;
}

.action {
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.banner {
    box-sizing: border-box;
    flex-basis: 60%;
    background-color: var(--accent-color);
    border-radius: var(--radius);
    padding: 30px 50px;
    color: var(--dark-text-color);
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    gap: 16px;
}

.action-text {
    flex-grow: 0;
    flex-basis: 50%;
}
.action-title {
    font-size: 24px;
    font-weight: bold;
}

.action-button {
    border: 2px solid white;
}

.footer {
    background-color: var(--dark-background-color);
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: var(--hero-secondary-text-color);
}

.modal {
    width: 92vw;
    height: 90vh;
    margin-left: 4vw;
    margin-top: 5vh;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    /* background-color: oklch(65.769% 0.06503 198.362 / 0.479); */
    backdrop-filter: blur(16px);
    position: absolute;
    top: 0px;
}

.modal dialog {
    border: 5px solid var(--accent-color);
    border-radius: var(--radius);
    flex-grow: 0;
    flex-shrink: 0;
    background-color: var(--grey);
    color: var(--yellow);
    width: 500px;
    height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.modal-buttons {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    gap: 50px;
}

.dialog-bg {
    max-width: 500px;
    max-height: 300px;
    margin: 0px auto;
}