/* -------------------------------- FONTS -------------------------------- */

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/media/templates/site/cassiopeia/fonts/OpenSans-400.woff2") format("woff2");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: url("/media/templates/site/cassiopeia/fonts/OpenSans-600.woff2") format("woff2");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("/media/templates/site/cassiopeia/fonts/OpenSans-700.woff2") format('woff2');
}



body, 
body *,
.btn {
  font-family: "Open Sans" !important;
  color: #000000;
}

a {
  color: #009adf;
}

h6, strong, table th {
  font-weight: 600 !important;
}



/* 
  Settting the site content width:
  The calculation goes like this: (4 * column width[= 17.5rem]) + (3 * column gap[= 1rem]) = 73rem
*/
.site-grid {
  grid-template-columns: [full-start] minmax(0, 1fr) [main-start] repeat(4, minmax(0, 17.5rem)) [main-end] minmax(0, 1fr) [full-end];
}
.header .container-topbar,
.header .container-below-top ul.mod-menu,
.footer .grid-child {
  max-width: 73rem;
}



/* -------------------------------- COLORS -------------------------------- */
/*
LTS blue:  #009adf
LTS gray:  #707376
LTS black: #000000
*/
:root {
  --cassiopeia-color-primary: #009adf;
  --cassiopeia-color-hover: green;
  --link-color: #009adf;
}


/* -------------------------------- HEADER -------------------------------- */
.header {
  background-color: #009adf;
  background-image: none;
  /*position: fixed;*/
  width: 100%;
}

.header .container-topbar {
  padding: 0.25rem 0;
  padding-right: 1rem;
  margin: 0 auto;
  text-align: right;
}


.header .container-topbar > * {
  display: inline-block;
}





/* Login button */
.mod-login-logout .btn-primary {
  width: 100%;
}
#login-form-16 button.w-100 {
  background-color: #4caf50;
  border-color: #4caf50;
  color: white;
  font-weight: 600;
}
.sidebar-right .logout-button button,
.sidebar-right .logout-button button:active {
  background-color: #bdbdbd;
  border-color: #bdbdbd;
  color: white;
  font-weight: 600;
}
main .com-users-login {
  display: none;
}
.sidebar-right .icon-fw {
  font-family: "Font Awesome 6 Free" !important;
  color: #707376;
}
.icon-backward-2 {
  font-family: "Font Awesome 6 Free" !important;
}



/* MAIN MENU */  
  .header .container-below-top .nav-item a,
  .header .container-below-top .nav-item span,
  .header .container-below-top .nav-item button {
    font-size: 1.3675rem;
    font-weight: 600;
    color: #009adf;
    vertical-align: text-top;
  }
    .header .container-below-top .nav-item.default {
      width: 16rem;
    }
  
  .header .container-below-top {
    max-width: none;
    background-color: #fff;
    padding: 0.75rem 1rem;
  }

  .header * {
    user-select: none;
  }

.header .container-below-top > ul.mod-menu {
  margin: 0 auto;
}

.container-banner .custom {
  background-size: cover;
  height: 24rem;
  background-image: url(/images/banners/banner-partner.png);
}



/* -------------------------------- SIDEBAR RIGHT (search + login form) -------------------------------- */
.container-sidebar-right {
  padding-left: 0.5rem;
}
.container-sidebar-right .mod-login__options {
  margin-bottom: 0;
}
.container-sidebar-right .mod-login__options > li:last-child {
  display: none;
}
.container-sidebar-right .mod-login__submit {
  margin-top: 2.25rem;
}
/* Search field */
.container-sidebar-right .search-field-lts {
  margin-bottom: 0.5rem;
}
.header .container-topbar .awesomplete > input {
  padding: 0.25rem;
  width: 10rem;
  border: none;
}
.awesomplete {
  width: 100%;
}
.awesomplete > input {
  max-width: none;
}




/* -------------------------------- ARTICLES (MAIN CONTENT) -------------------------------- */
main {
  border-right: 1px solid #e0e0e0;
  padding-right: 1.5rem;
  margin-bottom: 1.5rem !important;
  min-height: 16rem;
}

.com-content-article {
  margin-bottom: 6rem;
  min-height: 35rem;
}

.com-content-article .com-content-article__body {
  /*margin: 3.5rem 0;*/
}
.com-content-article p {
  text-align: justify;
}
.com-content-article h1 {
  font-size: 24px;
  margin-bottom: 2.5rem;
}



/* -------------------------------- FOOTER -------------------------------- */
.footer {
  background-color: #e0e0e0;
  background-image: none;
  padding: 0 1rem;
}
.footer .grid-child {
  padding-left: 0;
  padding-right: 0;
}
.footer .mod-custom {
  width: 100%;
}
.footer #footer-container-links a {
  margin-right: 2.5rem;
  text-decoration: none;
  font-weight: 600;
  color: #707376;
}
.footer #footer-container-address {
  margin-top: 3rem;
  line-height: 1.75rem;
}
.footer #footer-container-address div {
  color: #707376;
}
.footer a:not(.btn):hover {
  color: inherit;
  text-decoration: underline !important;
}

.footer #footer-container-address a {
    color: #009adf;
    font-weight: 400;
}


/* -------------------------------- GDPR cookie plugin -------------------------------- */
.cc-color-override-523191266.cc-revoke,
.cc-color-override-523191266.cc-window {
    background-color: rgb(0, 154, 223) !important;
}





/* -------------------------------- RESPONSIVE DESIGN -------------------------------- */

@media (width >= 832px) {
  .container-header .container-below-top .mod-menu {
      text-align: center;
      /*display: block;*/
  }

  .header .container-below-top ul.mod-menu > li {
    display: flex;
    align-items: center;
  }
}

@media (width < 992px) {
  .container-sidebar-right {
    padding-left: 0;
  }
  main {
    border-right: none;
    padding-right: 0;
  }
}  

@media (width < 832px) {
    .container-banner .custom {
        height: 18rem;
    }
    .header .grid-child {
      padding-left: 1rem;
    }
    .header .container-below-top ul.mod-menu li.level-1 ul li {
      width: 100%;
    }
    .footer #footer-container-links a {
      display: block;
      margin-bottom: 1rem;
    }
  
}