/* Base - Normalize & Element Styles */

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', 'Open Sans', Helvetica, Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #000001;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5em;
    line-height: 1.4;
}

h1 {
    font-size: 2.25rem;
    font-weight: 200;
}

h2 {
    font-size: 1.8125rem;
    font-weight: 200;
}

h3 {
    font-size: 1.625rem;
    font-weight: 400;
}

h4 {
    font-size: 1.25rem;
    font-weight: 500;
}

p {
    margin-top: 0;
    margin-bottom: 1em;
}

a {
    color: #c73e3a;
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: #a03230;
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul, ol {
    margin-top: 0;
    padding-left: 1.5em;
}

table {
    border-collapse: collapse;
    width: 100%;
}

th, td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid #e5e5e5;
}

th {
    font-weight: 600;
}

blockquote {
    margin: 1em 0;
    padding: 0.5em 1em;
    border-left: 4px solid #c73e3a;
    background: #f9f9f9;
}

hr {
    border: none;
    border-top: 1px solid #e5e5e5;
    margin: 2em 0;
}

code, pre {
    font-family: monospace;
    font-size: 0.9em;
}

pre {
    background: #f5f5f5;
    padding: 1em;
    overflow-x: auto;
    border-radius: 4px;
}

::selection {
    background: #c73e3a;
    color: #fff;
}

/* Screen reader only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
