*,
*::before,
*::after{
  box-sizing:border-box }

[tabindex="-1"]:focus:not(:focus-visible){
  outline:0!important }

base,
DOCTYPE,
head,
link,
meta,
noscript,
style,
script,
title,
template{
  display:none }

html{
  scroll-behavior:smooth }

html,
body{
  padding:0!important }

body{
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  background:var(--body-background-color);
  overflow-x:hidden;
  color:var(--color);
  font-weight:400;
  font-size:var(--font-size);
  font-family:var(--font);
  line-height:var(--line-height) }

div{
  display:block }

header,
footer,
main{
  display:block;
  margin:0 auto }

main{
  background-color:transparent }

main header{
  background-color:transparent;
  padding-top:0 }

header{
  background-color:var(--header-background-color);
  text-align:var(--justify-important) }

address{
  display:flex;
  flex-wrap:wrap;
  justify-content:var(--justify-important);
  font-style:normal;
  line-height:inherit;
  background-color:var(--address-background-color);
  color:var(--address-color) }

address .street:empty,
address .postal-code:empty,
address .country-name:empty,
address .email:empty,
address .tel a:empty,
address .mobile a:empty{
  display:none }

footer{
  position:relative;
  margin:0;
  background-color:var(--footer-background-color);
  color:var(--footer-color) }

footer a{
  color:var(--footer-link-color);
  text-decoration:var(--footer-link-decoration) }

footer a:hover{
  color:var(--footer-link-color-hover);
  text-decoration:var(--footer-link-decoration-hover) }

section{
  display:flex;
  flex-wrap:wrap;
  justify-content:var(--justify-important) }

section article{
  position:relative;
  padding:1.25rem;
  width:var(--width-card);
  overflow:hidden }

section article,
section aside img{
  max-width:100% }

section header{
  background-color:transparent;
  padding-top:0;
  width:100% }

article header{
  background-color:transparent;
  padding-top:0 }

article footer{
  background-color:transparent;
  padding-top:0 }

nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0;
  background-color:var(--menu-background-color);
  font-weight:700 }

nav ul{
  padding:0;
  list-style:none }

nav ul li{
  display:inline-block;
  position:relative;
  margin:0 .5rem;
  text-align:left }

nav ul li:hover ul{
  display:block }

nav ul li ul{
  display:none;
  position:absolute;
  top:1.8rem;
  right:0;
  z-index:1040;
  box-shadow:var(--box-shadow-x) var(--box-shadow-y) var(--box-shadow-spread) var(--box-shadow-spread) var(--box-shadow-color);
  border:var(--border-width) var(--border-style) var(--menu-dropdown-border-color);
  border-radius:var(--border-radius);
  background-color:var(--menu-dropdown-background-color);
  padding:.1em 2.5em .1em .5em!important;
  white-space:nowrap }

nav ul li ul li,
nav ul li ul li a{
  display:block }

nav ul li ul li{
  width:auto!important }

nav ul li ul li img{
  width:32px;
  max-height:32px }

caption{
  padding-top:.5rem;
  padding-bottom:.5rem;
  caption-side:top;
  color:var(--color);
  text-align:left }

table{
  vertical-align:top;
  border-collapse:collapse;
  width:100%;
  caption-side:bottom;
  color:var(--table-color) }

tbody{
  vertical-align:inherit }

tr{
  border:0 }

td,
th{
  padding:.5rem }

.card.zebra:nth-child(even){
  background-color:var(--card-background-color-zebra)!important }

table.table-zebra tbody tr:nth-child(odd){
  background-color:var(--table-background-color-zebra)!important }

thead{
  margin:0;
  border-collapse:collapse;
  padding:0;
  color:var(--table-head-color) }

thead tr{
  background-color:var(--table-head-background-color);
  border:0;
  border-radius:0!important }

thead th{
  vertical-align:bottom;
  border:0;
  border-bottom-color:var(--table-border-color);
  text-align:inherit;
  text-align:-webkit-match-parent }

thead{
  border-top-left-radius:5px;
  border:0;
  border-top-right-radius:5px }

thead th:first-child,
tbody tr td:first-child{
  text-align:var(--justify-normal) }

details{
  display:block;
  margin:1rem 0 }

details summary{
  display:list-item;
  cursor:pointer;
  font-weight:700 }

details summary:focus{
  outline:0 }

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object{
  vertical-align:middle }

img{
  border-style:none }

img,
video{
  max-width:100%;
  height:auto }

@media print{
  .d-print-none{
    display:none!important }

  .d-print-inline{
    display:inline!important }

  .d-print-inline-block{
    display:inline-block!important }

  .d-print-block{
    display:block!important }

  .d-print-table{
    display:table!important }

  .d-print-table-row{
    display:table-row!important }

  .d-print-table-cell{
    display:table-cell!important }

  .d-print-flex{
    display:flex!important }

  .d-print-inline-flex{
    display:inline-flex!important }
}
