@font-face {
  font-family: "Roboto";
  src: url("fonts/Roboto-Regular.woff2") format("woff2"),
       url("fonts/Roboto-Regular.ttf") format("truetype"); /* Fallback for legacy devices */
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "RobotoB";
  src: url("fonts/Roboto-Bold.woff2") format("woff2"),
       url("fonts/Roboto-Bold.ttf") format("truetype"); /* Fallback for legacy devices */
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}


/* Global Settings */
:root {
  --site-bg-color: #181b20;
  --content-bg-color: #ffffff;
  --content-text-color: #333333;
  --content-text-hover-color: #dca423;
  --wrap-bg-color: #ffffff;
  --h1-color: #001a4a;
  --h2-color: #001a4a;
  --h3-color: #001a4a;
  --footer-bg-color: #eceaea;
  --footer2-bg-color: #001947;
  --footer-top-border: #001a4a;
  --footer-text-color: #001947;
  --footer-text-hover-color: #ecb943;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html, body {
  width: 100%;
  height: 100%;
}

* { margin: 0; padding: 0; }

body {
background-color: var(--site-bg-color);
font-family: Roboto, sans-serif;
font-size: 20px;
color: var(--content-text-color);
text-decoration: none;
font-weight: 400;
text-align: left;
}

.hidden {
     opacity:0;
}
.visible {
     opacity:1;
}

.wrapper {
display: block;
clear: both;
overflow: hidden;
box-sizing: border-box;
max-width: 1920px;
width: 100%;
height: auto;
margin: 0 auto;
background-color: var(--wrap-bg-color);
}

/* CONSTANTS */
h1 {
display: inline-block;
font-family: "Roboto", sans-serif;
font-size: 1em;
color: #001947;
text-decoration: none;
font-weight: 600;
}
h2 {
font-family: "RobotoB", sans-serif;
font-size: 1.1em;
color: var(--h2-color);
text-decoration: none;
font-weight: 700;
margin: 0 0 10px 0;
}
a:link, a:visited {
font-family: "Roboto", sans-serif;
font-size: 1em;
color: var(--content-text-color);
text-decoration: underline;
font-weight: 700;
}
a:active, a:hover {
font-family: "Roboto", sans-serif;
font-size: 1em;
color: var(--content-text-hover-color);
text-decoration: underline;
font-weight: 700;
transition: all 0.75s;
}
b {
font-family: "RobotoB", sans-serif;
font-size: 1em;
color: var(--content-text-color);
text-decoration: none;
font-weight: 400;
}

textarea { resize: none; }
iframe { width: 100%; height: auto; }


/* TOP BAR */
.topBar {
display: flex;
flex-flow: row wrap;
box-sizing: border-box;
clear: both;
overflow: hidden;
width: 100%;
height: auto;
background-color: #001847;
font-family: "Roboto", sans-serif;
font-size: .8em;
color: #ffffff;
text-decoration: none;
font-weight: 400;
padding: 14px 25px;
}
  .topBar a:link, .topBar a:visited {
  font-family: "RobotoB", sans-serif;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  }
  .topBar a:active, .topBar a:hover {
  color: #ecb943;
  transition: all 0.5s;
  }
  .topBarleft {
  display: block;
  box-sizing: border-box;
  float: left;
  width: 75%;
  height: auto;
  }
  .topBarleft span.pipe {
  color: #596387;
  margin: 0 14px;
  }
  .topBarleft i.fa-solid {
  font-size: 1em;
  color: #ecb943;
  }
  span.topBnextline1, span.topBnextline2 {
  display: inline-block;
  }

  .topBarright {
  display: block;
  box-sizing: border-box;
  float: right;
  text-align: right;
  width: 25%;
  height: auto;
  }
    .topBarright i.fa-brands {
    font-size: 1.3em;
    color: #ecb943;
    }
    .topBarright i.fa-brands:hover {
    color: #ffffff;
    transition: all 0.75s;
    cursor: pointer;
    }




/* HEADER */

.headerArea {
position: relative;
display: block;
box-sizing: border-box;
clear: both;
width: 100%;
height: auto;
background-color: white;
z-index: 100;
}

.logo {
position: absolute;
display: block;
clear: both;
overflow: hidden;
box-sizing: border-box;
width: 450px;
height: auto;
top: 0;
left: 40px;
z-index: 1500;
}
  .logo img {
  display: block;
  width: 100%;
  height: auto;
  }
  .logo a:hover { cursor: pointer; opacity: .6; transition:all 0.5s; }

.smallButtons {
display: none;
}
  .smallButtons a:link, .smallButtons a:visited {
  text-decoration: none;
  }
.slogan {
position: absolute;
display: block;
clear: both;
overflow: hidden;
box-sizing: border-box;
width: auto;
height: auto;
top: 250px;
left: 40px;
z-index: 1500;
}
  .slogan a:link, .slogan a:visited {
  text-decoration: none;
  }
  span.sloganBig {
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  clear: both;
  width: 100%;
  height: auto;
  font-family: "RobotoB", sans-serif;
  font-size: 2.2em;
  color: #001947;
  text-decoration: none;
  font-weight: 600;
  text-align: left;
  text-transform: uppercase;
  transform: scaleY(1.2);
  transform-origin: bottom;
  margin-bottom: 3px;
  }
  span.sloganBig2 {
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  clear: both;
  width: 100%;
  height: auto;
  font-family: "RobotoB", sans-serif;
  font-size: 2.2em;
  color: #c68f36;
  text-decoration: none;
  font-weight: 600;
  text-align: left;
  text-transform: uppercase;
  transform: scaleY(1.2);
  transform-origin: bottom;
  margin-bottom: 15px;
  }
  span.sloganSmall {
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  clear: both;
  width: 30%;
  height: auto;
  font-family: "Roboto", sans-serif;
  font-size: .9em;
  color: #001947;
  text-decoration: none;
  font-weight: 500;
  text-align: left;
  margin-bottom: 15px;
  }
  #sloganButton1 {
  width: auto;
  height: 48px;
  background: #001846;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
  border: #001846 1px solid;
  border-radius: 5px;
  padding: 10px 17px;
  transition: all 0.3s ease;
  cursor: pointer;
  display: inline-block;
  user-select: auto;
  position: relative;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  line-height: 1;
  }
  #sloganButton1:hover {
    transform: translateY(-3px);
    background: #c98e2e;
    border: #c98e2e 1px solid;
    color: #ffffff;
  }
  #sloganButton1:active {
    transform: scale(0.96);
  }
  #sloganButton2 {
  width: auto;
  height: 48px;
  background: #ffffff;
  color: #001846;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
  border: #c98e2e 2px solid;
  border-radius: 5px;
  padding: 10px 17px;
  transition: all 0.3s ease;
  cursor: pointer;
  display: inline-block;
  user-select: auto;
  position: relative;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0 0 0 10px;
  }
  #sloganButton2 a:link, #sloganButton2 a:visited {
  color: #001846;
  text-decoration: none;
  font-weight: 500;
  }
  #sloganButton2:hover {
    transform: translateY(-3px);
    border: #0b2045 2px solid;
    color: #c98e2e;
  }
  #sloganButton2:active {
    transform: scale(0.96);
  }

    #sloganButton1b {
    display: inline-block;
    box-sizing: border-box;
    width: auto;
    height: auto;
    background: #001846;
    color: #ffffff;
    font-family: "Roboto", sans-serif;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    border: #001846 1px solid;
    border-radius: 5px;
    padding: 10px 17px;
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-block;
    user-select: auto;
    position: relative;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    line-height: 1;
    }
    #sloganButton1b:hover {
      transform: translateY(-3px);
      background: #c98e2e;
      border: #c98e2e 1px solid;
      color: #ffffff;
    }
    #sloganButton1b:active {
      transform: scale(0.96);
    }
    #sloganButton2b {
    display: inline-block;
    box-sizing: border-box;
    width: auto;
    height: auto;
    background: #ffffff;
    color: #001846;
    font-family: "Roboto", sans-serif;
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    border: #c98e2e 2px solid;
    border-radius: 5px;
    padding: 10px 17px;
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-block;
    user-select: auto;
    position: relative;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin: 0 0 0 10px;
    }
    #sloganButton2b a:link, #sloganButton2b a:visited {
    color: #001846;
    text-decoration: none;
    font-weight: 500;
    }
    #sloganButton2b:hover {
      transform: translateY(-3px);
      border: #0b2045 2px solid;
      color: #c98e2e;
    }
    #sloganButton2b:active {
      transform: scale(0.96);
    }

.headRow2 {
position: relative;
display: block;
box-sizing: border-box;
overflow: hidden;
clear: both;
width: 100%;
min-height: 585px;
height: auto;
z-index: 200;
background-color: #ffffff;
background: linear-gradient(90deg,rgba(255, 255, 255, .9) 20%, rgba(255, 255, 255, 0) 60%), url('images/bg_topHome-slope.webp');
/*background-image: url('images/bg_topHome-slope.webp');*/
background-position: right bottom;
background-repeat: no-repeat;
background-size: 100% 100%;
border-bottom: #e1e2e5 3px solid;
}


/* FOOTER AREA */
.footerArea {
display: block;
box-sizing: border-box;
overflow: hidden;
clear: both;
width: 100%;
height: auto;
padding: 15px 0 15px 0;
margin-top: 10px;
background-color: var(--footer-bg-color);
background-image: url('images/bg-trees2.jpg');
background-position: right center;
background-repeat: no-repeat;
background-size: auto 100%;
border-top: #001a4a 5px solid;
}
.foot1 {
display: block;
box-sizing: border-box;
overflow: hidden;
float: left;
width: auto;
height: auto;
text-align: left;
padding: 0 10px 10px 20px;
}
  .foot1 img {
  display: block;
  width: 100%;
  height: auto;
  }
  .foot1 img:hover {
  opacity: 0.5;
  transition: all 0.5s;
  }

.foot2 {
display: block;
box-sizing: border-box;
overflow: hidden;
float: left;
width: 28.33%;
height: auto;
text-align: left;
padding: 0 0 15px 25px;
font-family: "Roboto", sans-serif;
font-size: .75em;
color: var(--footer-text-color);
text-decoration: none;
font-weight: 400;
line-height: 24px;
}
  span.footColTitle {
  display: block;
  width: 100%;
  text-align: left;
  font-family: "RobotoB", sans-serif;
  font-size: 1.2em;
  color: #c68f36;
  text-decoration: none;
  font-weight: 400;
  }
  .foot2 a:link, .foot2 a:visited {
  font-family: "RobotoB", sans-serif;
  font-weight: 600;
  color: var(--footer-text-color);
  text-decoration: none;
  }
  .foot2 a:active, .foot2 a:hover {
  color: var(--footer-text-hover-color);
  transition: all 0.5s;
  }

.foot3 {
display: block;
box-sizing: border-box;
overflow: hidden;
float: left;
width: 28.33%;
height: auto;
text-align: left;
font-family: "Roboto", sans-serif;
font-size: .75em;
color: var(--footer-text-color);
text-decoration: none;
font-weight: 400;
line-height: 24px;
}
.foot3 i.fa {
font-size: .85em;
}
.foot3  a:link, .foot3  a:visited {
font-family: "Roboto", sans-serif;
font-size: .8em;
color: var(--footer-text-color);
text-decoration: none;
font-weight: 400;
}
.foot3  a:active, .foot3  a:hover {
color: var(--footer-text-hover-color);
transition: all 0.5s;
}

.foot4 {
display: block;
box-sizing: border-box;
overflow: hidden;
float: right;
width: 28.33%;
height: auto;
text-align: left;
font-family: "Roboto", sans-serif;
font-size: .75em;
color: var(--footer-text-color);
text-decoration: none;
font-weight: 400;
line-height: 24px;
}
.foot4 i.fa {
font-size: .85em;
}
.foot4  a:link, .foot4  a:visited {
font-family: "Roboto", sans-serif;
font-size: .8em;
color: var(--footer-text-color);
text-decoration: none;
font-weight: 400;
}
.foot4  a:active, .foot4  a:hover {
color: var(--footer-text-hover-color);
transition: all 0.5s;
}

.footerArea2 {
display: block;
box-sizing: border-box;
overflow: hidden;
clear: both;
width: 100%;
height: auto;
padding: 10px 30px 10px 30px;
background-color: var(--footer2-bg-color);
border-bottom: var(--footer-top-border) 2px solid;
}
  .fA1 {
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  float: left;
  width: 50%;
  height: auto;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: .7em;
  color: #ffffff;
  text-decoration: none;
  font-weight: 400;
  }
  .fA2 {
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  float: left;
  width: 50%;
  height: auto;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: .7em;
  color: #ffffff;
  text-decoration: none;
  font-weight: 400;
  }
    .fA2  a:link, .fA2  a:visited {
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    color: #ffffff;
    text-decoration: none;
    font-weight: 400;
    }
    .fA2  a:active, .fA2  a:hover {
    color: #ecb943;
    transition: all 0.5s;
    }

/* BACK TO TOP */
#back-top {
  position: fixed;
  bottom: 30px;
  margin-left: 85%;
  z-index: 1000;
}
#back-top a {
  width: 100px;
  height: auto;
  display: block;
  padding: 3px;
  text-align: center;
  color: #ecb943;
  font-family: "RobotoB", sans-serif;
  font-size: 1.75em;
  font-weight: 400;
  background-color: transparent;
  transition: all 0.75s;
}
#back-top a:link, #back-top a:visited {
  color: #ecb943;
}
#back-top a:hover {
  color: #0c0487;
  transition: all 0.75s;
}



/* MEDIA QUERIES */
@media screen and (max-width: 1380px) {
  .logo {
  width: 325px;
  left: 25px;
  }
  .slogan {
  top: 185px;
  left: 25px;
  }
    span.sloganBig, span.sloganBig2 {
    font-size: 1.8em;
    }
    span.sloganSmall {
    font-size: .85em;
    }
    #sloganButton1, #sloganButton2 {
      height: 35px;
      font-size: 15px;
      padding: 6px 13px;
    }
  .headRow2 {
  min-height: 425px;
  }
}
@media screen and (max-width: 1260px) {
  .topBarleft {
  order: 2;
  width: 100%;
  text-align: center;
  margin-top: 5px;
  }
  .topBarright {
  order: 1;
  width: 100%;
  }
}
@media screen and (max-width: 1216px) {
  body {
  font-size: 20px;
  }
  .footerArea {
  background-size: auto 65%;
  background-position: right bottom;
  }
  .foot1 {
  float: none;
  clear: both;
  width: 100%;
  padding: 0 10px 2px 10px;
  }
    .foot1 img {
    width: 125px;
    margin: 0 auto;
    }
  .foot2 {
  width: 33.33%;
  }
  .foot3, .foot4 {
  padding-left: 9%;
  width: 33.33%;
  }
}
@media screen and (max-width: 1178px) {
  .logo {
  width: 275px;
  left: 15px;
  }
  .slogan {
  top: 150px;
  left: 15px;
  }
    span.sloganBig, span.sloganBig2 {
    font-size: 1.5em;
    }
    span.sloganSmall {
    font-size: .75em;
    }
    #sloganButton1, #sloganButton2 {
      height: 35px;
      font-size: 14px;
      padding: 5px;
    }
  .headRow2 {
  min-height: 350px;
  }
}
@media screen and (max-width: 1105px) {
  .headerArea {
  position: static;
  }
  .logo {
  position: static;
  width: 325px;
  margin: 0 auto;
  }
  .slogan {
  top: 350px;
  left: 15px;
  }
    #sloganButton1, #sloganButton2 {
      display: block;
      box-sizing: border-box;
      clear: both;
      overflow: hidden;
      position: static;
      height: auto;
      font-size: 15px;
      padding: 4px;
      margin: 0 0 5px 0;
    }
  .headRow2 {
  background: linear-gradient(90deg,rgba(255, 255, 255, .9) 30%, rgba(255, 255, 255, 0) 60%), url('images/bg_topHome-slope.webp');
  background-size: cover;
  background-position: right bottom;
  }
}
@media screen and (max-width: 950px) {
  span.pipe:nth-child(5) {
  display: none;
  }
  span.topBnextline2 {
  display: block;
  margin-top: 5px;
  }
}
@media screen and (max-width: 850px) {
  .gen-nav {
  border-bottom: #001a49 2px solid;
  background-color: #eceaea;
  }
}
@media screen and (max-width: 800px) {
  .smallButtons {
  display: block;
  clear: both;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  text-align: center;
  }
  #sloganButton1, #sloganButton2 {
  display: none;
  }
  #sloganButton1b, #sloganButton2b {
  display: inline-block;
  font-size: 15px;
  padding: 6px;
  margin: 4px 0 5px 0;
  }
    #sloganButton2b {
    margin-left: 15px;
    }

.slogan {
width: 50%;
top: 395px;
left: 10px;
padding: 10px;
background-color: rgb(255 255 255 / 90%);
border-radius: 5px;
}
  span.sloganBig, span.sloganBig2 {
  font-size: 1.2em;
  }
  span.sloganBig2 {
  margin-bottom: 8px;
  }

  span.sloganSmall {
  width: 100%;
  margin: 0;
  }
  .headRow2 {
  padding: 10px 5px 10px 5px;
  min-height: 300px;
  background-image: url('images/bg_topHome-small2.webp');
  border-bottom: #e1e2e5 3px solid;
  border-top: #e1e2e5 3px solid;
  }
}
@media screen and (max-width: 675px) {
  body {
  font-size: 18px;
  }
  .footerArea {
  padding: 10px 0 10px 0;
  }
  .foot2 {
  float: none;
  clear: both;
  width: 100%;
  padding: 0 0 10px 0;
  text-align: center;
  line-height: normal;
  }
  .foot2 span.footColTitle {
  text-align: center;
  }
  .foot3 {
  width: 50%;
  line-height: normal;
  }
  .foot4 {
  width: 50%;
  padding-left: 10%;
  line-height: normal;
  }
}
@media screen and (max-width: 610px) {
  .slogan {
  width: 62%;
  }
  .headRow2 {
  background-size: constrain;
  background-position: right;
  }
}
@media screen and (max-width: 603px) {
  .foot1 img {
  width: 72px;
  margin: 0 auto;
  }
  .footerArea2 {
  display: flex;
  flex-direction: column;
  }
  .fA1 {
  order: 2;
  float: none;
  clear: both;
  width: 100%;
  text-align: center;
  padding-top: 8px;
  }
  .fA2 {
  order: 1;
  float: none;
  clear: both;
  width: 100%;
  text-align: center;
  }
}
@media screen and (max-width: 560px) {
  span.pipe:nth-child(3) {
  display: none;
  }
  span.topBnextline1 {
  display: block;
  margin-top: 5px;
  }
}