/*Organise this from general to specific,
    with GLOBAL/BASE/LAYOUT/COMPONENT/UTILITY sections */


main {
    padding: 40px 24px;
}

header {
    display: flex;
    align-items: center;
    gap: 30px;
    background-color: #F2F2F2;
    padding: 12px 24px;
    border-radius: 0 0 16px 16px;
    margin: 0;          /* â† removes any outer gap */
    width: 100%;        /* â† stretches full width */
    box-sizing: border-box;  /* â† prevents padding from adding extra width */
    font-weight: bold;
}

.info-box:hover {
    border: 2px solid #067144;
    cursor: pointer;
}

.info-box:hover p, .info-box:hover h2 {
    text-decoration: underline;
}

.highlight {
    color: #CD430E;
    font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
    color: #067144;
    margin-bottom: 12px
}

a.info-box, a.info-box:visited, a.info-box:hover {
    color: inherit;
    text-decoration: none;
}

button[type="submit"] {
    background-color: #F2F2F2;
    border-radius: 8px;
    padding: 10px 20px;
    margin-top: 12px;
    border: 2px solid transparent;
    transition: border 0.2s ease;
    cursor: pointer;
    color: #067144;
    font-family: inherit;
    font-size: 0.9rem;
}

button[type="submit"]:hover {
    border: 2px solid #067144;
}

input[type="text"],
input[type="password"] {
    font-family: inherit;
    font-size: 0.9rem;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
    margin-bottom: 8px;
}

.info-box {
    background-color: #F2F2F2;
    border-radius: 8px;
    padding: 24px;
    margin-top: 24px;
    border: 2px solid transparent;
    transition: border 0.2s ease;
    display: block;
    text-decoration: none;
    color: inherit;
}

label {
    color: #067144;
    font-weight: bold;
}

a.info-box {
    display: block;
    text-decoration: none;
    color: inherit;
}

p {
    line-height: 1.6;
    margin-bottom: 16px;
}

header img {
    width: 80px;
    height: auto;
}

/* flex lays things out horizontally,
    gap is spacing between 'flex' children,
    border-radius is set clockwise,
    therefore here it rounds the bottom LHS and RHS */

footer {
    color: #666666;
}

header a {
    color: #067144;
    text-decoration: none;  /* removes the default underline while we're here */
}

nav {
    display: flex;
    gap: 20px;
}

/* CSS selectors work by narrowing down: a targets all links,
    but header limits this to descendants of the header element
    'descendant selectors' being a general concept */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif
}

/* the * operator applies to every element */
/* the font bit is a 'font-stack' and browser tries each in order */