/********************************************** GLOBAL *******************************************/
/********************************************** STRUCTURE ****************************************/
/********************************************** HEADER *******************************************/
/********************************************** FOOTER *******************************************/
/********************************************** MODAL ********************************************/
/********************************************** COOKIES ******************************************/

:root {
  --color-main-blue: #0069AA;
  --color-main-red: #E0081C;
  --color-main-black: #363636;
  --color-main-white: #ffffff;
  
  --color-green1: #089F6F;
  --color-green2: #6CBC7D;
  --color-green3: #A3DFAE;
  --color-blue1: #00aec5;
  --color-blue2: #6CC7E2;
  --color-blue-button: #2e71f2;
  --color-red1: #ED6572;
  --color-red2: #EE908A;
  --color-grey1: #111;
  --color-grey2: #222;
  --color-grey3: #333;
  --color-grey4: #444;
  --color-grey5: #555;
  --color-grey6: #666;
  --color-grey7: #777;
  --color-grey8: #888;
  --color-grey9: #999;

  --bp-sm-min-width: 576px;
  --bp-md-min-width: 768px;
  --bp-lg-min-width: 992px;
  --bp-xl-min-width: 1200px;
  --bp-xxl-min-width: 1400px;

  --size-header-height: 110px;

  --border-radius: 0.5rem;

  --font-family: 'Proxima Nova', sans-serif;
}

html {
  font-size: 14px;
}
body {
  min-height: 100%;

  overflow-x: hidden;
    overflow-y: auto;

  font-family: var(--font-family);
}

.region-content
{
  padding: 0;
}

#toolbar-administration
{
  z-index: 100000;
}

.bg-main-blue
{
  background-color: var(--color-main-blue);
  color: white;
}

.bg-main-red
{
  background-color: var(--color-main-red);
  color: white;
}

.bg-green1
{
  background-color: var(--color-green1);
  color: white;
}

.bg-green2
{
  background-color: var(--color-green2);
  color: white;
}
.bg-green3
{
  background-color: var(--color-green3);
  color: black;
}

/********************************************** GLOBAL *******************************************/
h1 {
  color: var(--color-main-white);
  font-size: 3rem;
  font-weight: bold;
}
h2 {
  margin-bottom: 2rem;

  font-size: 3.5rem;
  font-weight: bold;
}
h3 {
  margin-bottom: 2rem;

  font-size: 2rem;
  font-weight: bold;
} 

p {
  font-size: 1.2rem;
  font-weight: normal;
}
p.strong {
  font-size: 1.5rem;
  font-weight: normal;
}

@media (max-width: 426px) {
  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.7rem;
  }

}


.etiquette {
  display: flex;
  justify-content: center;
}
.etiquette p {
  padding: .2rem 1rem;
  margin: 0;

  text-align: center;
  color: var(--color-main-white);
  text-transform: uppercase;
  font-weight: bold;
}
.etiquette.blue p {
  background-color: var(--color-blue1);
}
.etiquette.red p {
  background-color: var(--color-red1);
}

.btn:first-child
{
  margin: 0 0.5rem;
}

/*.btn {
  font-size: 1.2rem;
  padding: 0.5rem 3rem;
  border-radius: 3rem;
}*/
.btn-primary{
  background-color: var(--color-main-blue);
  color: var(--color-main-white);
}

.btn-primary:hover {
  background-color: var(--color-blue-button);
}

.btn-primary-inverted{
  background-color: var(--color-main-white);
  color: var(--color-main-blue);
}

.btn-primary-inverted:hover {
/*  background-color: var(--color-blue-button);*/
}

.btn-default {
  border-color: var(--color-grey9);
  background-color: var(--color-main-white);
  color: var(--color-main-black);
}
.btn-default:hover{
  background-color: var(--color-grey9);
}

.btn-success {
  border-color: var(--color-green1);
  background-color: var(--color-green1);
  color: var(--color-main-white);
}
.btn-success:hover{
  background-color: var(--color-green2);
}

.btn-danger {
  border-color: var(--color-red1);
  background-color: var(--color-red1);
  color: var(--color-main-black);
}
.btn-danger:hover{
  background-color: var(--color-red2);
}

.btn a {
  color: inherit;
  text-decoration: none;
  font-size: inherit;
}



svg.loader {
  display: none;
  width: 2rem;
  transform-origin: center;
  animation: rotate4 2s linear infinite;
}
svg.loader.visible {
  display: block;
}
svg.loader circle {
  fill: none;
  stroke: var(--color-purple);
  stroke-width: 4;
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: dash4 1.5s ease-in-out infinite;
}   
@keyframes rotate4 {
  100%  { transform: rotate(360deg);  }
}   
@keyframes dash4 {
  0%    { stroke-dasharray: 1, 200; stroke-dashoffset: 0;   }   
  50%   { stroke-dasharray: 90, 200;  stroke-dashoffset: -35px; }
  100%  { stroke-dashoffset: -125px;  }
}


.error-text {
  color: var(--color-red1);
}

a.admin-edit-link
{
  color: #4bad2b !important;
}

a.admin-edit-link.blue
{
  color: #2B4AAD !important;
}

form span.label-counter
{
  margin-top: -25px;
  margin-right: 7px;
}


/********************************************** STRUCTURE ****************************************/
body {
  position: absolute;
    width: 100%;
    min-height: 100%;

  display: flex;
  flex-direction: column;
}
header {
  flex: 0 0 auto;
}
.content-wrapper {
  flex: 1 1 auto;
}
footer {
  flex: 0 0 auto;
}

body.downsize-container .container {
  max-width: 960px;
}


a.a-mailto
{
  word-wrap: break-word;
}



/********************************************** HEADER *******************************************/
header {
  position: sticky;
  top: 0;

  background: white;
  transition: box-shadow 0.3s ease-in-out;
  z-index: 1000;
}

body.toolbar-tray-open header
{
  top: 80px;
}

header .first-row-header {
  max-height: var(--size-header-height);

  display: flex;
  align-items: center;
}
header .first-row-header .logo-wrapper {
  flex: 0 0 300px;
  max-width: 300px;
  height: 100%;

  display: flex;
  justify-content: center;
  align-items: center;
}
header .first-row-header .logo-wrapper a  {
  height: 100%;
  width: 100%;
}
header .first-row-header .logo-wrapper a img {
  height: 100%;
}

header .first-row-header .nav-desktop {
  flex: 1 1 auto;
}
header .first-row-header .nav-rs {
  flex: 0 0 300px;
}

header .first-row-header .nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
}
header .first-row-header .nav-rs .nav {
  justify-content: flex-end;
}

header .first-row-header .nav a,
.nav-mobile-wrapper .nav a {
  padding: .5rem;

  font-size: 1.5rem;
  font-weight: bold;
  color: var(--color-main-black);
  text-decoration: none;
  line-height: 2rem;

  border: 2px solid transparent
}
header .first-row-header .nav-desktop .nav a:hover,
header .first-row-header .nav-desktop .nav a.active,
.nav-mobile-wrapper .nav a:hover,
.nav-mobile-wrapper .nav a.active {
  border-bottom-color: var(--color-main-black);
}

@media (max-width: 1200px) {
  header .first-row-header .nav-rs {
    flex: 0 1 auto;
  }
}
@media (max-width: 992px) {
  header .first-row-header .nav a {
    font-size: 1.2rem;
  }
}


header .first-row-header .nav-burger {
  flex: 1 1 auto;

  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header .first-row-header .nav-burger .burger-menu-button {
  padding: .5rem;

  font-size: 2rem;
  font-weight: bold;
  color: var(--color-main-black);
  text-decoration: none;
  line-height: 2rem;
}

.nav-mobile-wrapper {
  position: fixed;
  width: 100%;  height: 100%;

  transition: transform 0.5s ease;
  z-index: 1000;
}
.nav-mobile-wrapper.hidden {
    transform: translate3d(100vw, 0, 0);
}
.nav-mobile-wrapper .nav {
  position: absolute;
  right: 0; top: 0;
  height: 100%;
  margin-top: var(--size-header-height);
  padding: 1rem;

  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;

  background: var(--color-main-white);
  -webkit-box-shadow: 0rem 0.8rem 15px 0.8rem #00000033; 
  box-shadow: 0rem 0.8rem 15px 0.8rem #00000336;
}


.scrolled header {
  -webkit-box-shadow: 0rem 0.8rem 15px 0.8rem #00000033; 
  box-shadow: 0rem 0.8rem 15px 0.8rem #00000336;
}



/********************************************** FOOTER *******************************************/
footer {
  padding: 5rem 0;

  background: var(--color-main-white);
  color: var(--color-main-black);
}
footer p {
  margin: 0.5rem 0;
}
footer p a {
  color: var(--color-main-black) !important;
  text-decoration: none;
}
footer p a:hover {
  color: var(--color-main-black);
  text-decoration: underline;
}

footer p.links {

}

footer .logo-wrapper {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .logo-wrapper img {
  max-width: 100%;
}
footer .logo-wrapper a {

}
footer .links-rs {
  display: flex;
  gap: 1rem;
}

footer .navbar-nav .nav-link
{
  font-size: 17px;
  padding: 0;
}

/********************************************** MODAL ********************************************/

.toolbar-fixed .modal-fullscreen {
  margin-top: 80px;
}

.modal .btn-close {
  background: none;
}

.modal .popup-award .modal-header {
  height: 100px;
  background-position: center;
  background-size: cover;
}

.modal .btn-modal-close {
  text-transform: uppercase;
  font-size: 1.5rem;
}

.modal h3 {
  font-size: 1.7rem;
}

/*
@media (min-width: 992px) {
    .modal-dialog {
        width: 970px;
    }
}

@media (max-width: 480px) {
    .modal-dialog h3 {
        font-size: 22px;
    }
}
*/

/********************************************** COOKIES ******************************************/
#cookie-backdrop
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: hsl(0deg 0% 13% / 80%);
    z-index: 2147483642;
    overflow: auto;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    align-items: flex-start;
    display: none;
}

#cookie-notice {
    /*display: none;
    position: fixed;
    bottom: 0;
    min-width: 100%;
    height: auto;
    z-index: 10000;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    padding: 10px;*/
    margin: auto;
}

#cookie-notice .btn
{
  border-radius: 0;
}

#cookie-notice .cookie-notice-container
{
    color: black;
    background: white;
    padding: 30px;
    border: 1px solid #0066AA;
    max-width: 730px;
}

#cookie-notice .cookie-notice-container .row.header
{
    margin-bottom: 15px;
}

#cookie-notice .cookie-notice-container .title
{
    font-size: 26px;
    font-weight: bold;
}

#cookie-notice .cookie-notice-container .cookie-btn-group
{
    margin-top: 15px;
}

#cookie-notice .cookie-notice-container .cookie-btn-group .btn
{
    display: block;
    white-space: normal;
}


#cookie-notice .cookie-notice-container .cookies-settings,
#cookie-notice .cookie-notice-container .cookie-btn-group #btn-save-settings-cookies
{
    display: none;
}

#cookie-notice .cookie-notice-container .cookies-settings .cookie-name
{
    color: #0066AA;
    font-weight: bold;
}

#btn-dismiss-cookies
{
    color: black;
}

#btn-open-cookies-settings
{
    position: fixed;
    bottom: 0;
    right: 5px;
    padding: 5px;
    background: #0066AA;
    color: white;
    cursor: pointer;
    display: none;
    z-index: 1000;
}

.cookie-settings-line
{
    border: 1px solid #AAAAAA;
    padding: 5px;
}

#cookie-notice .language
{
    float:  none;
    display: inline-block;
}

@media (max-width: 425px) {
    #cookie-notice .cookie-notice-container
    {
        max-width: 350px;
    }
}

@media (max-width: 320px) {
    #cookie-notice .cookie-notice-container
    {
        max-width: 300px;
    }
}