:root {
    --ff-default:"Open Sans", sans-serif;

    /* Font Wights */
    --fw-regular:400;
    --fw-semibold:600;
    --fw-bold:700;

    /* Font Sizes */
    --fs-base:16px;

    /* Line Heights */
    --lh-regular:1.6;

    /* Colours */    
    --clr-neutral-100:#fff;
    --clr-neutral-700:#414042;
    --clr-neutral-900:#000;

    --clr-primary-100:#f8fafd;
    --clr-primary-200:#eef5fc;
    --clr-primary-400:#45a6de;
    --clr-primary-500:#d7eafc;
    --clr-primary-700:#092b52;
    --clr-primary-900:#001a34;

    --clr-secondary-400:#458236;

    /* Header offset */
    --header-offset:138px;
}

/* -------------------------
  Layout
------------------------- */
.container {width:min(100%, 980px); margin:0 auto; padding:0 20px;}
.container-fluid {padding:0 1.5rem;}
section {padding:55px 0;}
.offset-header {padding-top:calc(74px + var(--header-height));}



/* -------------------------
  Backgrounds
------------------------- */
[data-background='neutral-100'] {background-color:var(--clr-neutral-100);}
[data-background='primary-100'] {background-color:var(--clr-primary-100);}
[data-background='primary-200'] {background-color:var(--clr-primary-200);}
[data-background='primary-700'] {background-color:var(--clr-primary-700);}



/* -------------------------
  Text and Links
------------------------- */
.level-1-title {font-weight:var(--fw-bold); font-size:24px; color:var(--clr-primary-700); line-height:1.2;}
.level-1-title span {color:var(--clr-primary-400);}
.level-2-title-lg {font-weight:var(--fw-semibold); font-size:22px; color:var(--clr-primary-700); line-height:1.2; margin-bottom:40px;}
.level-2-title {font-weight:var(--fw-regular); font-size:20px; color:var(--clr-primary-700); line-height:1.2; margin-bottom:40px;}
.level-3-title {font-weight:var(--fw-semibold); font-size:18px; color:var(--clr-primary-700); line-height:1.2; margin-bottom:20px;}
.level-3-title span {font-weight:var(--fw-regular);}
.text-center {text-align:center;}
.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;}

@media (min-width:440px) {
  .level-1-title {font-size:32px;}
  .level-2-title-lg {font-size:28px;}
  .level-2-title {font-size:24px;}
}

@media (min-width:600px) {
  .level-1-title {font-size:42px;}
  .level-2-title-lg {font-size:32px;}
  .level-2-title {font-size:26px;}
}

@media (min-width:768px) {
  .level-1-title {font-size:52px;}
  .level-2-title-lg {font-size:40px;}
  .level-2-title {font-size:28px;}
}



/* -------------------------
  Images
------------------------- */
.img-fit {object-fit:cover; width:100%; height:auto;}



/* -------------------------
  Buttons
------------------------- */
.btn {border-radius:6px; border:0; white-space:nowrap; background-color:var(--clr-secondary-400); color:var(--clr-neutral-100); padding:8px 20px; transition:background-color .3s ease-out, color .3s ease-out;} 
.btn:hover {background-color:var(--clr-primary-700); color:var(--clr-neutral-100);}



/* -------------------------
  Padding & Margins
------------------------- */
.pt-0 {padding-top:0 !important;}
.pt-1 {padding-top:1rem !important;}
.pt-2 {padding-top:2rem !important;}
.pt-3 {padding-top:3rem !important;}
.pt-4 {padding-top:4rem !important;}
.pt-5 {padding-top:5rem !important;}

.pb-0 {padding-bottom:0 !important;}
.pb-1 {padding-bottom:1rem !important;}
.pb-2 {padding-bottom:2rem !important;}
.pb-3 {padding-bottom:3rem !important;}
.pb-4 {padding-bottom:4rem !important;}
.pb-5 {padding-bottom:5rem !important;}

.mt-0 {margin-top:0 !important;}
.mt-1 {margin-top:1rem !important;}
.mt-2 {margin-top:2rem !important;}
.mt-3 {margin-top:3rem !important;}
.mt-4 {margin-top:4rem !important;}
.mt-5 {margin-top:5rem !important;}

.mb-0 {margin-bottom:0 !important;}
.mb-1 {margin-bottom:1rem !important;}
.mb-2 {margin-bottom:2rem !important;}
.mb-3 {margin-bottom:3rem !important;}
.mb-4 {margin-bottom:4rem !important;}
.mb-5 {margin-bottom:5rem !important;}

.h-100 {height:100%;}



/* -------------------------
  Breadcrumbs
------------------------- */
.breadcrumbs ul {list-style:none; margin-left:0; display:flex; font-size:.75rem; color:var(--clr-primary-700);}
.breadcrumbs ul li + li::before {content:">"; margin:0 0.5rem; color:var(--clr-primary-700);}
.breadcrumbs ul a {color:var(--clr-primary-700); font-weight:var(--fw-regular);}
.breadcrumbs ul a:hover {color:var(--clr-primary-400);}



/* -------------------------
  Error Page
------------------------- */
.section-error {min-height:600px;}
.section-error img {max-width:140px;}