@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Open+Sans&display=swap');

/* GLOBAL STYLES, FONTS & COLORS */
/* Element Selector: Apply custom paragraph font and global text color */
body {
    font-family: 'Open Sans', sans-serif; /* Custom font 1 */
    color: #2f4f4f; /* Custom color: Dark Slate Gray */
    margin: 0;
    padding: 0;
    background: #f4f9f4 url('../images/subtle-pattern.png') repeat scroll top left;
}

/* Grouped Selector & Element Selector: Apply custom heading font and color */
h1, h2 {
    font-family: 'Montserrat', sans-serif; /* Custom font 2 */
    color: #2e8b57; /* Custom color: Sea Green */
}

/* ==========================================================================
   2. NAVIGATION & FOOTER (FLEXBOX LAYOUT)
   ========================================================================== */

nav {
    display: flex;             /* Defines this element as a flex container */
    justify-content: center;   /* Aligns flex items horizontally in the center */
    gap: 20px;                 /* Spacing between flex items */
    background-color: #2e8b57; /* Dark green background */
    padding: 15px;
}

/* Selecting navigation link items */
nav a {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
}

nav a:hover {
    text-decoration: underline;
}

/* ID Selector: Styling the Footer */
#page-footer {
    background-color: #2f4f4f;
    color: #ffffff;
    text-align: center;
    padding: 20px;
    margin-top: 40px;
}

/* ==========================================================================
   3. BOX MODEL & LAYOUT TECHNIQUES
   ========================================================================== */

/* Class Selector: Exploring the Box Model on the Hero section */
section {
    max-width: 800px;
    background-color: #ffffff;
    padding: 30px;              /* Space inside the white box */
    border: 2px solid #2e8b57;  /* Border surrounding the padding */
    margin: 40px auto;          /* 40px space top/bottom; centers the box horizontally */
    border-radius: 8px;         /* Gives soft rounded corners */
}

/* Example of Float/Clear Layout Technique */
.intro-text {
    float: left;               /* Forces the text box to float to the left */
    width: 100%;               /* Forces it to span full width */
    margin-bottom: 20px;
}

/* Header styling */
header {
    text-align: center;
    padding: 20px;
}