/* clear all default styling */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

a {
  color: inherit; /* Inherit color from parent element */
  text-decoration: none; /* Remove underline */
  cursor: pointer; /* Ensure the pointer cursor remains */
}

.flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; 
}

:root {
  --howick-green: #047235;
  --howick-blue: #0b6ec7;
}

/*
----------------------------------------------------------------------
Everything From here until the next section is just for the styling of MasterLayout, not body content
----------------------------------------------------------------------
*/

.blue {
  color: var(--howick-blue) !important;
}

.green {
  color: var(--howick-green) !important;;
}

.white {
  color: white !important;
}

.blue-background {
  background-color: var(--howick-blue) !important;
}

.green-background {
  background-color: var(--howick-green) !important;;
}

.hover-underline:hover {
  text-decoration: underline;
}

/* set the font style for the body */
body {
    margin: 0;
    font-family: proxima-nova,sans-serif,-apple-system,BlinkMacSystemFont,avenir next,avenir,Segoe UI,lucida grande,helvetica neue,helvetica,Fira Sans,roboto,noto,Droid Sans,cantarell,oxygen,ubuntu,franklin gothic medium,century gothic,Liberation Sans,sans-serif;
    font-weight: 400;
    font-size: 16px;    
}

/* set the font style for the body */
.image-header {
    margin: 0 !important;
    overflow: hidden;
    position: relative;
    width:100%;
    height:200px;
    background-position:center center!important;
    background-size:cover!important;
    order: 1;    
    z-index: -9;
    top: 0;
    left: 0;
    img {
        min-width: 0;
        top: 0;
        right: -200%;
        bottom: 0;
        left: -200%;
        height: auto;
        margin: auto;
    }
}

@media(min-width:600px) {
  .image-header {
    min-height:285px
  }
}
@media(min-width:992px) {
  .image-header {
    min-height:320px
  }
}
@media(min-width:1200px) {
  .image-header {
    min-height:380px
  }
}
@media(min-width:1500px) {
  .image-header {
    min-height:455px
  }
}
@media(min-width:1600px) {
  .image-header {
    min-height:500px
  }
}
@media(min-width:1800px) {
  .image-header {
    min-height:545px
  }
}

.image-header img {
  min-width:0;
  width:215%;
  position:absolute;
  top:0;
  bottom:0;
  height:auto;
  margin:auto
}

.image-header::before{
    content: "";
    width: 100%;
    height: 100%;
    max-height: 355px;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(to bottom,#000,transparent);
    opacity: .5;
    z-index: 1;
}

@media (min-width: 400px) {
  .image-header img {
    width: 172%;
  }
}


@media (min-width: 480px) {
  .image-header img {
    width: 142%;
  }
}


@media (min-width: 560px) {
  .image-header img {
    width: 120%;
  }
}

@media (min-width: 600px) {
  .image-header img {
    width: 162%;
  }
}
@media (min-width: 800px) {
  .image-header img {
    width: 120%;
  }
}

@media (min-width: 900px) {
  .image-header img {
    width: 107%;
  }
}
@media (min-width: 992px) {
  .image-header img {
    width: 109%;
  }
}

@media (min-width: 1200px) {
  .image-header img {
    width: 106%;
  }
}

#main {
    transform: translate(0,0);
    overflow: visible;
}

#main-content {
    font-family: Arial, Helvetica, sans-serif;
    max-width: 1350px;
    padding-top: 35px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    min-height: 400px;
    width: 97%;
    margin-bottom: 50px;
}

.main-body {
    width: 100%;
    padding-top: 40px;
}

.body-padding-ignore {
  margin-top: -40px;
}

#main-content {    
    p {
      margin: 15px 0px;
      line-height: 26px;
      font-weight: 400;
      font-size: 16px;
    }
    h1 {
            font-size: 38px;
            line-height: 1.3;
            margin: 0;
    }
    .main-header {
        border-bottom: 1px solid #e3e3e3;
    }
    .page-path {
        word-break: break-word;
        font-weight: 500;
        font-size: 14px;
        color: #707070 !important;
        margin-bottom: 18px;
    }
}

.divider {  
    border-bottom: 1px solid #e3e3e3;
    width: 100%;
    margin: 1em 0;
}

.main-body * {
  box-sizing: border-box;  
}


@media(min-width:992px) {
  #main {
    margin-top:-125px;
    padding-top:35px;
    padding-left:40px;
    padding-right:40px;
  }
}
@media(min-width:1200px) {
  #main {
    margin-top:-135px;
  }
}
@media(min-width:1400px) {
  #main {
    margin-top:-160px;
  }
}

/* 
----------------------------------------------------------------------
From this point on is widgets for the main body content
----------------------------------------------------------------------
*/
.note {
  border-radius: 3px;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-style: italic;
  line-height: 20pt;
  padding: 14px 19px;
  background-color: #0a6dc540;
  margin-bottom: 15px;
}

.standout-text {
  line-height: 16px;
  padding-left: 30px;
  margin-left: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-left: 4px solid green;
}

h2 {
  font-size: 2em;
  font-weight: 700;
  color: inherit;
  margin: 20px 0 15px;
}
h3 {  
  font-size: 1.875em;
  font-weight: 700;
  color: inherit;
  margin: 20px 0 15px;
  margin-top: 20px;
  padding: 0;
}

h4 {
  font-size: 1.5em;
  font-weight: 400;
  font-family: inherit;
}

h5 {
  font-size: 1.2em;  
  font-weight: 400;
  font-family: inherit;
}

iframe {
  aspect-ratio: 16 / 9;
}

.header {   
  font-size: 1.625em;
  align-items: end;
  justify-content: center;
  padding-top: 3em;
  width: 100%;
}

.center-text {
  text-align: center;
}

.no-center-text {
  text-align: unset !important;
  * {
      text-align: unset !important;
  }
}

.center-margin {
  margin-left: auto !important;
  margin-right: auto !important;
}

.card-container {
  flex-wrap: wrap;
  gap: 10px;
  .card-content {
    padding: 15px;
    border: 1px solid #ccc;
  }

  .card-title {
    flex-basis: 100%;
    text-align: center;    
    font-size: 1.4em !important;
    font-weight: 700;
    line-height: 1.65em;
  }
  img {
    width: 100%;
    height: auto;
  }
  p {
    text-align: center;
    margin: 15px 0;
    line-height: 26px;
  }
  
  .card-3 {
    box-sizing: border-box;  
    align-self: baseline;
    margin-bottom: 30px;
    flex-basis: 32%;
    justify-content: center;
    flex-direction: column;    
    background-color: white;
  }

  @media (max-width: 760px){
    .card-3 {
      box-sizing: border-box;  
      align-self: baseline;
      margin-bottom: 30px;
      flex-basis: 100%;
      justify-content: center;
      flex-direction: column;
    }
  }
}

.body-menu {
  max-width: none !important;  
  border-right: none !important;
}

.side-menu, .body-menu{    
    top: 100%;
    background-color: white;
    width: 100%;   
    border-right: 1px solid #e3e3e3;
    ul {
        list-style-type: none;
        margin-block-start: 0;
        margin-block-end: 0;
        padding-inline-start: 0;
    }
    li + li {        
        border-top: 1px solid #dedfe2;
    }
    li:hover {
        background-color: #d4d4d4;
    }
    a {
        width: 100%;
        display: inline-block;
        padding-top: 1em;
        padding-bottom: 1em;   
        padding-left: 1em;  
        height:max-content;
        font-size: 16px;
        font-weight: 500;
        color: black;
    }
}

.button-link {
    a {
        font-size: 1em;
        text-decoration: none;
        display: block;
        text-align: center;
        font-weight: 700;
        margin-top: 20px;
        padding: 10px 30px;
        max-width: 100%;
        width: fit-content;
        cursor: pointer;
        min-width: 20px;
        color: white;
        background-color: var(--howick-green);
    }
    a:hover {
        background-color: #035528;
    }

    .blue-background:hover {      
        background-color: #095699 !important;
    }
}
/* 
----------------------------------------------------------------------
From this point on is flex stuff for layout (Containers, Rows, Columns)
----------------------------------------------------------------------
*/

.flex-container {
  flex-direction: row;
}


.flex-container-col {
  flex-direction: column;
}

.flex-col {
  flex-wrap: wrap;
  flex-grow: 0;
  display: block;
}


.flex-row {
  width: 100%;
  flex-basis: 100%;
  flex-direction: row;  
}

.flex-center {
  justify-content: center;
}

.no-wrap {
  flex-wrap: nowrap !important;
}

.col-1 {
    flex-basis: calc(100% * (1/12)) ;
}

.col-2 {
    flex-basis: calc(100% * (2/12)) ;
}

.col-3 {
    flex-basis: calc(100% * (3/12)) ;
}

.col-4 {
    flex-basis: calc(100% * (4/12)) ;
}

.col-5 {
    flex-basis: calc(100% * (5/12)) ;
}


.col-6 {
    flex-basis: calc(100% * (6/12)) ;
}

.col-7 {    
    flex-basis: calc(100% * (7/12)) ;
}

.col-8 {    
    flex-basis: calc(100% * (8/12)) ;
}

.col-9 {
    flex-basis: calc(100% * (9/12)) ;
}

.col-10 {
    flex-basis: calc(100% * (10/12)) ;
}

.col-11 {
    flex-basis: calc(100% * (11/12)) ;
}

.col-12 {
    flex-basis: calc(100% * (12/12)) ;
}

.gap-1 {
  gap:1em;
}

.gap-2 {
  gap:2em;
}

.gap-3 {
  gap:3em;
}

.gap-4 {
  gap:4em;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom:1em !important;
}

.mb-2 {
  margin-bottom:2em !important;
}

.mb-3 {
  margin-bottom:3em !important;
}

.mb-4 {
  margin-bottom:4em !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top:1em !important;
}

.mt-2 {
  margin-top:2em !important;
}

.mt-3 {
  margin-top:3em !important;
}

.mt-4 {
  margin-top:4em !important;
}

.pt-0 {
  padding-top: 0;
}

.pt-1 {
  padding-top:1em;
}

.pt-2 {
  padding-top:2em;
}

.pt-3 {
  padding-top:3em;
}

.pt-4 {
  padding-top:4em;
}

.pb-0 {
  padding-bottom: 0;
}

.pb-1 {
  padding-bottom:1em;
}

.pb-2 {
  padding-bottom:2em;
}

.pb-3 {
  padding-bottom:3em;
}

.pb-4 {
  padding-bottom:4em;
}

.ml-0 {  
  margin-left:0em;
}

.ml-1 {  
  margin-left:1em;
}

.ml-2 {  
  margin-left:2em;
}

.ml-3 {  
  margin-left:3em;
}

.ml-4 {  
  margin-left:4em;
}

.pl-0 {  
  padding-left:0em;
}

.pl-1 {  
  padding-left:1em;
}

.pl-2 {  
  padding-left:2em;
}

.pl-3 {  
  padding-left:3em;
}

.pl-4 {  
  padding-left:4em;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}