/* flex rules:
  - justify content = items along main axis
  - align items = items perpendicular main axis (single line)
  - cross axis = group perpendicular main axis (multi line)
        -- how rows spaced vertically, columns spaced horizontally
*/

/* grid rules:
  - justify items = how items sit horizontally in cells
  - align items = how items sit vertically in cells
  - justify content = moves entire grid horizontally
  - align content = moves entire grid vertically
  
  - can use both template columns and rows
*/


:root {
  --black: #1f1f1f;
  --white: #f7f7f7;
}
* {
  box-sizing: border-box;
  margin-top: 0;
}


/* ----- TYPOGRAPHY ----- */
html{
  /* font-size: 16pt;
  color: var(--black); */
  font-family: "Archivo Narrow", sans-serif;
  color: white;
}

span.italics {
    font-style: italic;
}
.center-text {
    text-align: center;
}

header h1 {
    font-size: 80px;
    line-height: 1;
    margin-bottom: 16px;
}
header h2 {
    font-size: 30px;
    line-height: 1;
}

h3#first-section {
    clear: both;
}

h3.section-header {
    font-size: 40px;
    line-height: 1;
}

p.main-text {
    font-size: 18px;
    line-height: 1.38;
}
p#section3-text {
    font-size: 25px;
    width: 710px;
    margin: auto;
    line-height: 1.45;
    word-spacing: 2.5px;
}

h4.grid-header {
    line-height: 1;
    font-size: 20px;
    margin-bottom: 10px; /* fix */
    margin-top: 4px;
}



/* ----- IMAGING ----- */
img#section-img {
    width: 400px;
    height: 300px;
    float: right;
    border: 1px solid white; /* fix */
    margin: 0px 0px 35px 45px; /* fix */
    object-fit: cover;
    object-position: center 30%;
}

img.grid-image {
    float: left;
    width: 200px;
    height: 150px;
    margin-right: 12px; /* fix */
    object-fit: cover;
    object-position: center;
}




/* ----- FORMATTING & Visuals ----- */
body {
    margin: 0;
}

.parent-container {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

div.center-container {
    width: 960px;
}

header#header {
    padding: 166px 0px 162px 0px;
    background-image: url("images/banner.jpg");
    background-position: center;
    background-size: cover;
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: multiply;
}

section.section {
    padding: 50px 40px; /* fix */
}
section#section1 {
    padding: 50px 0px 35px 0px;
    background-color: #183840;
}
section#section2 {
    padding-bottom: 60px;
    background-color: #f9e5d4;
    color: #183840;
}
section#section3 {
    padding-bottom: 100px;
    background-color: #b1686c;
}

div#grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 1fr 1fr;
    column-gap: 0px; /* fix */
    row-gap: 22px; /* fix */
    justify-items: flex-start;
    align-items: center;
    justify-content: center;
    align-content: flex-start;
}
div.grid-container {
    width: 450px; /* fix */
}

footer#footer {
    padding: 40px 40px 30px 192px;
    background-color: #190f0f;
}