@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url('../fonts/nunito.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html { color:#0F6089; background:#E0E0E0; font-size:16px; }
body {
  color:#0F6089;
  font-size:1em;
  line-height: 1.4;
  font-family: 'Nunito', sans-serif;
  font-style: normal;
  font-weight: 400;
  background-color: #E0E0E0;
  background-image: url('../visuals/bg.gif');
}
h1, h2, h3 { color:#0F6089; line-height:1.2; font-weight: 800; margin-bottom:0.8375em; font-family: 'Nunito', sans-serif; font-size: 1.5em; }
h2, h3 { font-weight: 700; font-size: 1.25em; }
a { color:#17AFCD; }
a:hover { color:#0F6089; text-shadow:0 0 10px #D0ECFA, 0 0 4px #17AFCD; text-decoration:none; }
a.uk-active {  }
p a, li a { text-decoration:underline; }
a, a:active, a:focus { outline: none; }

.lead { font-weight: 600; font-size: 1.25em; }
ul { padding-left: 1em; }

header { padding: 15px 0; background: #fff; margin-bottom: 15px; }
header .logo img { height: 40px; }
header a { text-decoration:none; }
section { background: #fff; padding: 3em 0 2em 0; }
section.teaserarea { background:transparent; padding: 20px 0; }
footer { background: #fff; padding: 2em 0; text-transform: uppercase; }
footer a { text-decoration:none; }
footer strong { font-weight:800; letter-spacing: 1px; font-size: 1.5em; }

.teaserbox { background: #000; border-radius: 1em; overflow: hidden; text-decoration:none; }
.teaserbox:hover { text-decoration:none;  text-shadow: none; }
.teaserbox .uk-cover-container { width:25%; }
.teasertext { padding: 15px 10px 15px 15px; }
.teasertext h3 { margin: 0 0 0.5em 0; }
.teasertext p { margin: 0; }
.teaserbox.theme1:hover { box-shadow: 0px 0px 10px 2px #B3E61B; }
.teaserbox.theme1 p { color:#E9F8BC; }
.teaserbox.theme1 h3 { color:#B3E61B; }
.teaserbox.theme2:hover { box-shadow: 0px 0px 10px 2px #E833AB; }
.teaserbox.theme2 p { color:#FAD3ED; }
.teaserbox.theme2 h3 { color:#E833AB; }
.teaserbox.theme3:hover { box-shadow: 0px 0px 10px 2px #17AFCD; }
.teaserbox.theme3 p { color:#D0ECFA; }
.teaserbox.theme3 h3 { color:#17AFCD; }

.mrgn, .col2 { margin-top:3em; }
* + .uk-grid-margin-small, .uk-grid + .uk-grid-row-small, .uk-grid + .uk-grid-small, .uk-grid-row-small > .uk-grid-margin, .uk-grid-small > .uk-grid-margin { margin-top: 20px; }

.menu {
  display: flex;
  gap: 20px;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
  text-transform: uppercase;
  text-align: right;
  font-size: 1.5em;
  line-height: 1em;
  font-weight: 500;
}
.menu a { text-decoration: none; }
.menu strong { font-weight:800; letter-spacing: 1px; }
.menu .theme1 a { color:#65A112; }
.menu .theme1 a strong { color:#B3E61B; }
.menu .theme1 a:hover { text-shadow: 0 0 10px #E9F8BC, 0 0 4px #B3E61B; }
.menu .theme1 a:hover strong { color:#65A112; }
.menu .theme2 a { color:#A1125A; }
.menu .theme2 a strong { color:#E833AB; }
.menu .theme2 a:hover { text-shadow: 0 0 10px #FAD3ED, 0 0 4px #E833AB; }
.menu .theme2 a:hover strong { color:#A1125A; }
.menu .theme3 a { color:#0F6089; }
.menu .theme3 a strong { color:#17AFCD; }
.menu .theme3 a:hover { text-shadow: 0 0 10px #D0ECFA, 0 0 4px #17AFCD; }
.menu .theme3 a:hover strong { color:#0F6089; }

/* off-canvas */
.uk-offcanvas-bar { background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(15px); box-shadow: -5px 0 5px -4px #D0ECFA, -3px 0 3px -2px #17AFCD; padding: 15px 15px 0 0; text-align:right; }
.uk-offcanvas-bar ul { padding-left: 0; margin-top: 2em !important; }
.uk-offcanvas-bar ul li { margin-top: 1em; }
.uk-offcanvas-bar a { color:#17AFCD; text-decoration:none; }
.uk-offcanvas-bar > a:hover { color:#0F6089; }
.uk-offcanvas-close { position: initial; padding: 0; }
.offcanvas-contact { position:fixed; bottom:1.334em; right:15px; }


/* section slider */
.slider { margin:2em 0; }
.uk-dotnav > * > * {
  width: 20px;
  height: 20px;
  border-radius: 25%;
  border: 2px solid #17AFCD;
}
.uk-dotnav > .uk-active > * {
  background-color: #fff;
  border-color: #0F6089;
}
.uk-dotnav > * > :hover {
  background-color: #fff;
  border-color: #0F6089;
  box-shadow: 0 0 10px #D0ECFA, 0 0 4px #17AFCD;
}


@media (min-width: 640px) {
  header { padding: 22.5px 0; margin-bottom: 22.5px; }
  html { font-size:18px; }
  header .logo img { height: 60px; }
  section.teaserarea { padding: 30px 0; }
  .teasertext { padding: 20px 10px 20px 20px; }
  .uk-offcanvas-bar { padding: 22.5px 30px 0 0; }
  .offcanvas-contact { right:30px; }
}
@media (min-width: 960px) {
  header { padding: 30px 0; margin-bottom: 30px; }
  .col2 { column-count: 2; column-gap: 30px;}
  .uk-grid-column-small > *, .uk-grid-small > * { padding-left: 30px; }
  .uk-grid-column-small, .uk-grid-small { margin-left: -30px; }
  * + .uk-grid-margin-small, .uk-grid + .uk-grid-row-small, .uk-grid + .uk-grid-small, .uk-grid-row-small > .uk-grid-margin, .uk-grid-small > .uk-grid-margin { margin-top: 30px; }
}
@media (min-width: 1200px) {
  header .logo img { height: 80px; }
}