:root {
    --paragraph-font-family: "Roboto", sans-serif;
    --header-font-family: "Roboto", sans-serif;
    --primary-color-gray: #2d2d2d;
    --primary-color-gray-light: #f6f6eb;
    --white-header-text: #f9faf8;
    --background-color-blue: #1f2937;
    --background-color-gray: #e5e7eb;
    --accent-color-blue: #3882f6;
}

/*

Red Border for Visualizing Flex

* {
    border: 1px solid red;
}

*/

h1,
h2,
h3,
h4,
h5,
h6,
.button,
.quote-text,
.quote-source {
    color: var(--primary-color-gray);
    font-family: var(--header-font-family);
}

p,
ul,
ol {
    color: var(--primary-color-gray);
    font-family: var(--paragraph-font-family);
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
}

li {
    padding: 8px;
}

.hero,
.section-white,
.section-gray {
    align-content: center;
    padding: 4em 20%;
}

.hero {
    background-color: var(--background-color-blue);
}

.section-gray {
    background-color: var(--background-color-gray);
}

.header {
    display: flex;
    align-items: center;
    height: 85px;
    gap: 2em;
}

.header-logo {
    font-size: 24px;
    color: var(--white-header-text);
    font-weight: bold;
    font-family: var(--header-font-family);
}

.header-nav {
    color: var(--white-header-text);
}

.title-section {
    display: flex;
    align-items: center;
    gap: 2em;
    padding: 4em 0em;
}

.title-section h1 {
    font-size: 48px;
    font-weight: bolder;
    color: var(--white-header-text);
}

.title-section p {
    font-size: 18px;
    color: var(--white-header-text);
}

.header-column,
.title-column {
    flex: 1;
}

.section-white {
    display: flex;
    flex-direction: column;
}

.section-header,
.section-cards {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 2em;
}

.section-cards {
    padding: 1em 0em 2em 0em;
}

.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    text-align: center;
}

.card img {
    max-width: 85px;
}

.section-gray {
    background-color: var(--background-color-gray);
}

.blockquote {
    padding: 4em 1em;
}

.blockquote .quote-text {
    font-size: 36px;
    font-style: italic;
    font-weight: lighter;
    color: var(--background-color-blue);
}

.blockquote .quote-source {
    text-align: right;
    font-size: 1.25em;
    font-weight: bold;
    margin: 8px 0px;
}

.cta-box {
    background-color: var(--accent-color-blue);
    display: flex;
    padding: 2em 4em;
    border-radius: 8px;
}

.cta-column-left {
    flex: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cta-column-right {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.cta-box h3,
.cta-box p {
    color: white;
    margin: 8px;
}

.cta-box a {
    border: 2px solid white;
}

.footer {
    background-color: var(--background-color-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer p {
    color: white;
    font-size: 0.85em;
}

.button {
    background-color: var(--accent-color-blue);
    border: none;
    color: white;
    padding: 8px 16px;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
}

.hero-img {
    border-radius: 25% 10%;
}

.responsive-img {
    width: 100%;
    height: auto;
}

/* Mobile Styles */
@media only screen and (max-width: 680px) {
  .hero,
  .section-white,
  .section-gray {
    padding: 0em 1em;
  }

  .title-section,
  .section-cards,
  .cta-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      flex: 1;
      gap: 2em;
  }
}
