/*----------------------------------------------
  Menu Style main Template
  Main menu mobile and header, navbar bottom
-----------------------------------------------*/
/* ------------------------------------------------
    Menu Style main Template
------------------------------------------------- */

.main_menu_header,
.uk-offcanvas-bar {
    background-color: #6a8a43;
}

.main_menu_header {
    border-bottom: 4px solid #e8b90b;
    box-shadow: 0 6px 10px -1px rgba(0, 0, 0, 0.3);
}

#main_menu,
#mobile_menu {
    font-family: 'Fira Sans', sans-serif;
    color: rgba(255,255,255,.7);
}

/* Kill godforsaken menu icons.*/
#main_menu .main_icons::before,
#mobile_menu .main_icons::before,
.menu-nav img {
    display: none;
    padding: 0;
    margin: 0;
}

header.main_menu_header .uk-navbar-nav > li > a {
    color: #E4E4E4;
    padding: 0 10px;
}

header.main_menu_header .uk-navbar-nav > li.uk-active > a {
    color: #e8b90b;
}

header.main_menu_header .uk-navbar-nav > li:hover > a,
header.main_menu_header .uk-navbar-nav > li > a.uk-open,
header.main_menu_header .uk-navbar-nav > li > a:focus {
    color: #fffafa;
}

#main_menu {
    margin: 0;
}

/*
 * 1. Reset list
 */
#main_menu .uk-navbar-nav {
    display: flex;
    /* 1 */
    margin: 0;
    padding: 0;
    list-style: none;
}

#main_menu .uk-navbar-nav  a,
mobile_user_menu .mobile_accordion a {
    color: #d9d8d8;
}
#main_menu .uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
    /* 1 */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 2 */
    column-gap: 0.25em;
    /* 3 */
    box-sizing: border-box;
    min-height: 70px;
/*    padding: 0 15px;*/
    /* 4 */
    font-size: 0.875rem;
    /* 5 */
    text-decoration: none;
}
/*
 * Nav items
 */
#main_menu .uk-navbar-nav > li > a {
    text-transform: uppercase;
    transition: 0.1s ease-in-out;
    transition-property: color, background-color;
}
/*
 * Hover
 * Apply hover style also if dropdown is opened
 */
#main_menu .uk-navbar-nav > li:hover > a,
#main_menu .uk-navbar-nav > li > a[aria-expanded="true"] {
    color: #E4E4E4;

}
/* OnClick */
#main_menu .uk-navbar-nav > li > a:active {
    color: #e8b90b;
    font-weight: normal;
}
/* Level 1 Active button. */
#main_menu .uk-navbar-nav > li > a.active  {
    color: #e8b90b;
    font-weight: normal;
}
/* Level 1 Hover button. */
#main_menu .uk-navbar-nav > li > a:hover {
    color: #fff;
    font-weight: normal;
}
/* Dropdown box */
#main_menu .uk-navbar-nav > li > ul > li > a {
    color:#999
}
#main_menu .uk-navbar-nav > li > ul > li > a:hover,
.uk-navbar-dropdown-nav>li>a:hover {
    color:#666
}
#main_menu .uk-navbar-nav > li > ul > li > a.active,
.uk-navbar-dropdown-nav>li.uk-active>a {
    color:#333
}
.uk-navbar-dropdown-nav .uk-nav-header {
    color:#333
}
.uk-navbar-dropdown-nav .uk-nav-divider {
    border-top:1px solid #e5e5e5
}
.uk-navbar-dropdown-nav .uk-nav-sub a {
    color:#999
}
.uk-navbar-dropdown-nav .uk-nav-sub a:hover {
    color:#666
}
.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active>a {
    color:#333
}

/* mobile_user_menu */

/*----------------------------------------------
   Slideout menu
------------------------------------------------*/

.tm-slideout-container {
    background: #f8f8f8;
    box-shadow: 0 0 4px rgba(0,0,0,0.3);
}
.uk-navbar-toggle {
    min-height: 55px;
}

.tm-button-nav .tm-icon-slideout-bar {
    padding: 0 15px;
}
@media (max-width:360px) {
    .tm-button-nav .tm-icon-slideout-bar {
        padding: 0 10px;
    }
}

@media (min-width:800px) {
    .tm-button-nav .tm-icon-slideout-bar {
        padding: 0 20px;
    }
}

#mobile_menu .uk-offcanvas-bar .uk-nav-default > li.uk-active > a,
#mobile_menu .tm-left-menu .uk-nav-default > li.uk-active > a
{
    border-left: #fffefe solid 2px;
    padding-left: 15px;
}

#mobile_menu .textmenu,
#mobile_menu .textmenu {
    text-transform: uppercase;
}
#mobile_menu .uk-offcanvas-bar .uk-nav-default > li > a {

    color: rgba(255,255,255,.5);
}

.uk-offcanvas-close,
.uk-offcanvas-close svg,
.uk-offcanvas-close button {
    color: rgba(255,255,255,.7);
    border: none;
}

#offcanvas-usage,
.uk-offcanvas-bar .uk-nav-default > li.uk-active > a,
.tm-left-menu .uk-nav-default > li.uk-active > a {
    border-left: #fffefe solid 2px;
    padding-left: 15px;
}
#offcanvas-usage a,
.uk-offcanvas-bar .uk-nav-default > li > a {
    color: rgba(255,255,255,.5);
}

/* OnClick */
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > li > a.active,
#mobile_menu .mobile_accordion > li > a:active {
    color: #e8b90b;
    font-weight: normal;
}
/* Level 1 Active button. */
#main_menu .mobile_accordion > li > a.active  {
    color: #e8b90b;
    font-weight: normal;
}
/* Level 1 Hover button. */
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > li > a:hover,
#main_menu .mobile_accordion > li > a:hover {
    color: #fff;
    font-weight: normal;
}

#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > li:hover > a,
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > li > a.uk-open,
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > li > a:focus {
    color: #fffafa;
}
/* uk-nav-sub */
#mobile_menu ul.uk-nav-sub a:hover,
#offcanvas-usage  li.uk-parent > ul > li > a:focus,
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > .uk-nav-sub > li:hover > a,
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > .uk-nav-sub > li > a.uk-open,
#offcanvas-usage .uk-offcanvas-bar .uk-nav-default > .uk-nav-sub > li > a:focus {
    color: #fffafa;
    cursor: pointer;
}
#mobile_menu ul.uk-nav-sub  {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}
dl.news-dl > dt {
    font-weight: normal;
}

dl.news-dl > dd {
    color: rgba(255, 255, 255, .5);
}

dl.news-dl > dt > a {
    color: rgba(255,255,255,.7);
    text-decoration: none;
}
.list-glossary > .uk-description-list dt  {
    font-weight: 600;
}
.list-glossary > .uk-description-list dd {
    padding-left: 20px;

}



/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
    display: none !important;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-hidden\@s {
        display: none !important;
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-hidden\@m {
        display: none !important;
    }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-hidden\@l {
        display: none !important;
    }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-hidden\@xl {
        display: none !important;
    }
}
/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 639px) {
    .uk-visible\@s {
        display: none !important;
    }
}
/* Phone landscape and smaller */
@media (max-width: 959px) {
    .uk-visible\@m {
        display: none !important;
    }
}
/* Tablet landscape and smaller */
@media (max-width: 1199px) {
    .uk-visible\@l {
        display: none !important;
    }
}
/* Desktop and smaller */
@media (max-width: 1599px) {
    .uk-visible\@xl {
        display: none !important;
    }
}
/* Visibility
 ========================================================================== */
.uk-invisible {
    visibility: hidden !important;
}
/* Based on the State of the Parent Element
 ========================================================================== */
/*
 * Mind that `display: none`, `visibility: hidden` and `opacity: 0`
 * remove the element from the accessibility tree and that
 * `display: none` and `visibility: hidden` are not focusable.
 *
 * The target stays visible if any element within receives focus through keyboard.
 */
/*
 * Remove space when hidden.
 * 1. Remove from document flow.
 * 2. Hide element and shrink its dimension. Current browsers and screen readers
 *    keep the element in the accessibility tree even with zero dimensions.
 *    Using `tabindex="-1"` will show the element on touch devices.
 *    Note: `clip-path` doesn't work with `tabindex` on touch devices.
 */
.uk-hidden-visually:not(:focus):not(:active):not(:focus-within),
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-visible):not(:has(:focus-visible)) {
    /* 1 */
    position: absolute !important;
    /* 2 */
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}
/*
 * Keep space when hidden.
 * Hide element without shrinking its dimension.
 * Note: `clip-path` doesn't work with hover for elements outside of the toggle box.
 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
    opacity: 0 !important;
}
/* Based on Hover Capability of the Pointing Device
 ========================================================================== */
/*
 * Hover
 */
/* Hide if primary pointing device doesn't support hover, e.g. touch screens. */
@media (hover: none) {
    .uk-hidden-touch {
        display: none !important;
    }
}
/* Hide if primary pointing device supports hover, e.g. mice. */
@media (hover) {
    .uk-hidden-notouch {
        display: none !important;
    }
}

/* Logo
 ========================================================================== */
/*
 * 1. Style
 * 2. Required for `a`
 * 3. Behave like image but can be overridden through flex utility classes
 */
.uk-logo {
    /* 1 */
    font-size: 1.5rem;
    color: #333;
    /* 2 */
    text-decoration: none;
}

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
    margin-bottom: 20px;
}
* + .uk-margin {
    margin-top: 20px !important;
}
.uk-margin-top {
    margin-top: 20px !important;
}
.uk-margin-bottom {
    margin-bottom: 20px !important;
}
.uk-margin-left {
    margin-left: 20px !important;
}
.uk-margin-right {
    margin-right: 20px !important;
}
/* Small
 ========================================================================== */
.uk-margin-small {
    margin-bottom: 10px;
}
* + .uk-margin-small {
    margin-top: 10px !important;
}
.uk-margin-small-top {
    margin-top: 10px !important;
}
.uk-margin-small-bottom {
    margin-bottom: 10px !important;
}
.uk-margin-small-left {
    margin-left: 10px !important;
}
.uk-margin-small-right {
    margin-right: 10px !important;
}
/* Medium
 ========================================================================== */
.uk-margin-medium {
    margin-bottom: 40px;
}
* + .uk-margin-medium {
    margin-top: 40px !important;
}
.uk-margin-medium-top {
    margin-top: 40px !important;
}
.uk-margin-medium-bottom {
    margin-bottom: 40px !important;
}
.uk-margin-medium-left {
    margin-left: 40px !important;
}
.uk-margin-medium-right {
    margin-right: 40px !important;
}
/* Large
 ========================================================================== */
.uk-margin-large {
    margin-bottom: 40px;
}
* + .uk-margin-large {
    margin-top: 40px !important;
}
.uk-margin-large-top {
    margin-top: 40px !important;
}
.uk-margin-large-bottom {
    margin-bottom: 40px !important;
}
.uk-margin-large-left {
    margin-left: 40px !important;
}
.uk-margin-large-right {
    margin-right: 40px !important;
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-margin-large {
        margin-bottom: 70px;
    }
    * + .uk-margin-large {
        margin-top: 70px !important;
    }
    .uk-margin-large-top {
        margin-top: 70px !important;
    }
    .uk-margin-large-bottom {
        margin-bottom: 70px !important;
    }
    .uk-margin-large-left {
        margin-left: 70px !important;
    }
    .uk-margin-large-right {
        margin-right: 70px !important;
    }
}
/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
    margin-bottom: 70px;
}
* + .uk-margin-xlarge {
    margin-top: 70px !important;
}
.uk-margin-xlarge-top {
    margin-top: 70px !important;
}
.uk-margin-xlarge-bottom {
    margin-bottom: 70px !important;
}
.uk-margin-xlarge-left {
    margin-left: 70px !important;
}
.uk-margin-xlarge-right {
    margin-right: 70px !important;
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-margin-xlarge {
        margin-bottom: 140px;
    }
    * + .uk-margin-xlarge {
        margin-top: 140px !important;
    }
    .uk-margin-xlarge-top {
        margin-top: 140px !important;
    }
    .uk-margin-xlarge-bottom {
        margin-bottom: 140px !important;
    }
    .uk-margin-xlarge-left {
        margin-left: 140px !important;
    }
    .uk-margin-xlarge-right {
        margin-right: 140px !important;
    }
}
/* Auto
 ========================================================================== */
.uk-margin-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}
.uk-margin-auto-top {
    margin-top: auto !important;
}
.uk-margin-auto-bottom {
    margin-bottom: auto !important;
}
.uk-margin-auto-left {
    margin-left: auto !important;
}
.uk-margin-auto-right {
    margin-right: auto !important;
}
.uk-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-margin-auto\@s {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .uk-margin-auto-left\@s {
        margin-left: auto !important;
    }
    .uk-margin-auto-right\@s {
        margin-right: auto !important;
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-margin-auto\@m {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .uk-margin-auto-left\@m {
        margin-left: auto !important;
    }
    .uk-margin-auto-right\@m {
        margin-right: auto !important;
    }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-margin-auto\@l {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .uk-margin-auto-left\@l {
        margin-left: auto !important;
    }
    .uk-margin-auto-right\@l {
        margin-right: auto !important;
    }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-margin-auto\@xl {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .uk-margin-auto-left\@xl {
        margin-left: auto !important;
    }
    .uk-margin-auto-right\@xl {
        margin-right: auto !important;
    }
}
/* Remove
 ========================================================================== */
.uk-margin-remove {
    margin: 0 !important;
}
.uk-margin-remove-top {
    margin-top: 0 !important;
}
.uk-margin-remove-bottom {
    margin-bottom: 0 !important;
}
.uk-margin-remove-left {
    margin-left: 0 !important;
}
.uk-margin-remove-right {
    margin-right: 0 !important;
}
.uk-margin-remove-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
    margin-top: 0 !important;
}
.uk-margin-remove-last-child > :last-child {
    margin-bottom: 0 !important;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-margin-remove-left\@s {
        margin-left: 0 !important;
    }
    .uk-margin-remove-right\@s {
        margin-right: 0 !important;
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-margin-remove-left\@m {
        margin-left: 0 !important;
    }
    .uk-margin-remove-right\@m {
        margin-right: 0 !important;
    }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-margin-remove-left\@l {
        margin-left: 0 !important;
    }
    .uk-margin-remove-right\@l {
        margin-right: 0 !important;
    }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-margin-remove-left\@xl {
        margin-left: 0 !important;
    }
    .uk-margin-remove-right\@xl {
        margin-right: 0 !important;
    }
}
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container {
    display: flow-root;
    /* 1 */
    box-sizing: content-box;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-container {
        padding-left: 30px;
        padding-right: 30px;
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-container {
        padding-left: 40px;
        padding-right: 40px;
    }
}
/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
    margin-bottom: 0;
}
/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
    padding-left: 0;
    padding-right: 0;
}
/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
    max-width: 750px;
}
.uk-container-small {
    max-width: 900px;
}
.uk-container-large {
    max-width: 1400px;
}
.uk-container-xlarge {
    max-width: 1600px;
}
.uk-container-expand {
    max-width: none;
}
/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
    margin-left: 0;
}
.uk-container-expand-right {
    margin-right: 0;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-container-expand-left.uk-container-xsmall,
    .uk-container-expand-right.uk-container-xsmall {
        max-width: calc(50% + (750px / 2) - 30px);
    }
    .uk-container-expand-left.uk-container-small,
    .uk-container-expand-right.uk-container-small {
        max-width: calc(50% + (900px / 2) - 30px);
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-container-expand-left,
    .uk-container-expand-right {
        max-width: calc(50% + (1200px / 2) - 40px);
    }
    .uk-container-expand-left.uk-container-xsmall,
    .uk-container-expand-right.uk-container-xsmall {
        max-width: calc(50% + (750px / 2) - 40px);
    }
    .uk-container-expand-left.uk-container-small,
    .uk-container-expand-right.uk-container-small {
        max-width: calc(50% + (900px / 2) - 40px);
    }
    .uk-container-expand-left.uk-container-large,
    .uk-container-expand-right.uk-container-large {
        max-width: calc(50% + (1400px / 2) - 40px);
    }
    .uk-container-expand-left.uk-container-xlarge,
    .uk-container-expand-right.uk-container-xlarge {
        max-width: calc(50% + (1600px / 2) - 40px);
    }
}
/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
    width: calc(100% + 15px);
}
.uk-container-item-padding-remove-left {
    margin-left: -15px;
}
.uk-container-item-padding-remove-right {
    margin-right: -15px;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-container-item-padding-remove-left,
    .uk-container-item-padding-remove-right {
        width: calc(100% + 30px);
    }
    .uk-container-item-padding-remove-left {
        margin-left: -30px;
    }
    .uk-container-item-padding-remove-right {
        margin-right: -30px;
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-container-item-padding-remove-left,
    .uk-container-item-padding-remove-right {
        width: calc(100% + 40px);
    }
    .uk-container-item-padding-remove-left {
        margin-left: -40px;
    }
    .uk-container-item-padding-remove-right {
        margin-right: -40px;
    }
}
/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Create position context so it's t the same like when fixed.
 * 2. Create stacking context already when not sticky to have the same context
*     for position set to `sticky` and `relative`
 * 2. More robust if padding and border are used and the sticky height is transitioned
 */
.uk-sticky {
    /* 1 */
/*    position: relative;*/
    /* 2 */
    z-index: 980;
    /* 3 */
    box-sizing: border-box;
}
.uk-sticky-fixed {
    margin: 0 !important;
}
/*
 * Faster animations
 */
.uk-sticky[class*="uk-animation-"] {
    animation-duration: 0.2s;
}
.uk-sticky.uk-animation-reverse {
    animation-duration: 0.2s;
}
/*
 * Placeholder
 * Make content clickable for sticky cover and reveal effects
 */
.uk-sticky-placeholder {
    pointer-events: none;
}
/* ========================================================================
   Component: Off-canvas
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 */
.uk-offcanvas {
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
}
/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas {
    right: 0;
    left: auto;
}
/* Bar
 ========================================================================== */
/*
 * 1. Set position
 * 2. Size and style
 * 3. Allow scrolling
 */
.uk-offcanvas-bar {
    --uk-inverse: light;
    /* 1 */
    position: absolute;
    top: 0;
    bottom: 0;
    left: -270px;
    /* 2 */
    box-sizing: border-box;
    width: 270px;
    padding: 20px 20px;
    /* 3 */
    overflow-y: auto;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-offcanvas-bar {
        left: -350px;
        width: 350px;
        padding: 30px 30px;
    }
}
/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
    left: auto;
    right: -270px;
}
/* Tablet landscape and bigger */
@media (min-width: 640px) {
    .uk-offcanvas-flip .uk-offcanvas-bar {
        right: -350px;
    }
}
/*
 * Open
 */
.uk-open > .uk-offcanvas-bar {
    left: 0;
}
.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar {
    left: auto;
    right: 0;
}
/*
 * Slide Animation (Used in slide and push mode)
 */
.uk-offcanvas-bar-animation {
    transition: left 0.3s ease-out;
}
.uk-offcanvas-flip .uk-offcanvas-bar-animation {
    transition-property: right;
}
/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset position
 */
.uk-offcanvas-reveal {
    /* 1 */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    /* 2 */
    width: 0;
    overflow: hidden;
    /* 3 */
    transition: width 0.3s ease-out;
}
.uk-offcanvas-reveal .uk-offcanvas-bar {
    /* 4 */
    left: 0;
}
.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar {
    /* 4 */
    left: auto;
    right: 0;
}
.uk-open > .uk-offcanvas-reveal {
    width: 270px;
}
/* Tablet landscape and bigger */
@media (min-width: 640px) {
    .uk-open > .uk-offcanvas-reveal {
        width: 350px;
    }
}
/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas-reveal {
    right: 0;
    left: auto;
}
/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-offcanvas-close {
    position: absolute;
    z-index: 1000;
    top: 5px;
    right: 5px;
    padding: 5px;
}
/* Tablet landscape and bigger */
@media (min-width: 640px) {
    .uk-offcanvas-close {
        top: 10px;
        right: 10px;
    }
}
/*
 * Remove margin from adjacent element
 */
.uk-offcanvas-close:first-child + * {
    margin-top: 0;
}
/* Overlay
 ========================================================================== */
/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */
.uk-offcanvas-overlay {
    /* 1 */
    width: 100vw;
    /* 2 */
    touch-action: none;
}
/*
 * 1. Mask the whole page
 * 2. Fade-in transition
 */
.uk-offcanvas-overlay::before {
    /* 1 */
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.1);
    /* 2 */
    opacity: 0;
    transition: opacity 0.15s linear;
}
.uk-offcanvas-overlay.uk-open::before {
    opacity: 1;
}
/* Prevent scrolling
 ========================================================================== */
/*
 * Prevent horizontal scrollbar when the content is slide-out
 * Has to be on the `html` element too to make it work on the `body`
 * 1. `clip` is needed for `position: sticky` elements to keep their position
 */
.uk-offcanvas-page,
.uk-offcanvas-container {
    overflow-x: hidden;
    /* 1 */
    overflow-x: clip;
}
/* Container
 ========================================================================== */
/*
 * Prepare slide-out animation (Used in reveal and push mode)
 * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
 * lose their fixed state and behaves like `absolute` within a transformed container
 * 1. Provide a fixed width and prevent shrinking
 */
.uk-offcanvas-container {
    position: relative;
    left: 0;
    transition: left 0.3s ease-out;
    /* 1 */
    box-sizing: border-box;
    width: 100%;
}
/*
 * Activate slide-out animation
 */
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
    left: 270px;
}
.uk-offcanvas-flip.uk-offcanvas-container-animation {
    left: -270px;
}
/* Tablet landscape and bigger */
@media (min-width: 640px) {
    :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
        left: 350px;
    }
    .uk-offcanvas-flip.uk-offcanvas-container-animation {
        left: -350px;
    }
}
/* ========================================================================
   Component: Navbar
 ========================================================================== */
/*
 * 1. Create position context to center navbar group
 */
.uk-navbar {
    display: flex;
    /* 1 */
    position: relative;
}

/* Groups
 ========================================================================== */
/*
 * 1. Align navs and items vertically if they have a different height
 */
.uk-navbar-left,
.uk-navbar-right,
[class*="uk-navbar-center"] {
    display: flex;
    gap: 15px;
    /* 1 */
    align-items: center;
}
/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Fix text wrapping if content is larger than 50% of the container.
 * 3. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 4. Align sub groups for centered navbar
 */
.uk-navbar-right {
    margin-left: auto;
}
.uk-navbar-center:only-child {
    margin-left: auto;
    margin-right: auto;
    /* 1 */
    position: relative;
}
.uk-navbar-center:not(:only-child) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* 2 */
    width: max-content;
    box-sizing: border-box;
    /* 3 */
    z-index: 990;
}
/* 4 */
.uk-navbar-center-left,
.uk-navbar-center-right {
    position: absolute;
    top: 0;
}
.uk-navbar-center-left {
    right: calc(100% + 15px);
}
.uk-navbar-center-right {
    left: calc(100% + 15px);
}
[class*="uk-navbar-center-"] {
    width: max-content;
    box-sizing: border-box;
}
/* Nav
 ========================================================================== */
/*
 * 1. Reset list
 */
.uk-navbar-nav {
    display: flex;
    gap: 15px;
    /* 1 */
    margin: 0;
    padding: 0;
    list-style: none;
}
/*
 * Allow items to wrap into the next line
 * Only not `absolute` positioned groups
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center:only-child {
    flex-wrap: wrap;
}
/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Imitate white space gap when using flexbox
 * 3. Dimensions
 * 4. Style
 * 5. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
    /* 1 */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 2 */
    column-gap: 0.25em;
    /* 3 */
    box-sizing: border-box;
    min-height: 50px;
    /* 4 */
    font-size: 0.875rem;
    /* 5 */
    text-decoration: none;
}
/*
 * Nav items
 */
.uk-navbar-nav > li > a {
    padding: 0 0;
    color: #999;
    text-transform: uppercase;
    transition: 0.1s ease-in-out;
    transition-property: color, background-color;
}
/*
 * Hover
 * Apply hover style also if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded="true"] {
    color: #666;
}
/* OnClick */
.uk-navbar-nav > li > a:active {
    color: #333;
}
/* Active */
.uk-navbar-nav > li.uk-active > a {
    color: #333;
}
/* Parent icon modifier
 ========================================================================== */
.uk-navbar-parent-icon {
    margin-left: 4px;
    transition: transform 0.3s ease-out;
}
.uk-navbar-nav > li > a[aria-expanded="true"] .uk-navbar-parent-icon {
    transform: rotateX(180deg);
}

/* Item
 ========================================================================== */
.uk-navbar-item {
    padding: 0 0;
    color: #666;
}
/*
 * Remove margin from the last-child
 */
.uk-navbar-item > :last-child {
    margin-bottom: 0;
}
/* Toggle
 ========================================================================== */
.uk-navbar-toggle {
    padding: 0 0;
    color: #999;
}
.uk-navbar-toggle:hover,
.uk-navbar-toggle[aria-expanded="true"] {
    color: #666;
    text-decoration: none;
}
/*
 * Icon
 * Adopts `uk-icon`
 */
.tm-button-nav .uk-icon a svg,
.uk-navbar-toggle-icon svg {
    color: #999;
}
/* Hover */
/* Subtitle
 ========================================================================== */
.uk-navbar-subtitle {
    font-size: 0.875rem;
}
/* Justify modifier
 ========================================================================== */
.uk-navbar-justify .uk-navbar-left,
.uk-navbar-justify .uk-navbar-right,
.uk-navbar-justify .uk-navbar-nav,
.uk-navbar-justify .uk-navbar-nav > li,
.uk-navbar-justify .uk-navbar-item,
.uk-navbar-justify .uk-navbar-toggle {
    flex-grow: 1;
}

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-drop`
 * 1. Set a default width
 * 2. Style
 */

.uk-navbar-dropdown {
    --uk-position-offset: 15px;
    --uk-position-shift-offset: 0;
    --uk-position-viewport-offset: 15px;
    --uk-inverse: dark;
    /* 1 */
    width: 200px;
    /* 2 */
    padding: 25px;
    background: #fff;
    color: #666;
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}
/*
 * Remove margin from the last-child
 */
.uk-navbar-dropdown > :last-child {
    margin-bottom: 0;
}
.uk-navbar-dropdown :focus-visible {
    outline-color: #333 !important;
}
/*
 * Grid
 * Adopts `uk-grid`
 */
/* Gutter Horizontal */
.uk-navbar-dropdown .uk-drop-grid {
    margin-left: -30px;
}
.uk-navbar-dropdown .uk-drop-grid > * {
    padding-left: 30px;
}
/* Gutter Vertical */
.uk-navbar-dropdown .uk-drop-grid > .uk-grid-margin {
    margin-top: 30px;
}
/*
 * Width modifier
 */
.uk-navbar-dropdown-width-2:not(.uk-drop-stack) {
    width: 400px;
}
.uk-navbar-dropdown-width-3:not(.uk-drop-stack) {
    width: 600px;
}
.uk-navbar-dropdown-width-4:not(.uk-drop-stack) {
    width: 800px;
}
.uk-navbar-dropdown-width-5:not(.uk-drop-stack) {
    width: 1000px;
}
/*
 * Size modifier
 */
.uk-navbar-dropdown-large {
    --uk-position-shift-offset: 0;
    padding: 40px;
}
/*
 * Dropbar modifier
 * 1. Reset dropdown width to prevent to early shifting
 * 2. Reset style
 * 3. Padding
 */
.uk-navbar-dropdown-dropbar {
    /* 1 */
    width: auto;
    /* 2 */
    background: transparent;
    /* 3 */
    padding: 25px 0 25px 0;
    --uk-position-offset: 0;
    --uk-position-shift-offset: 0;
    --uk-position-viewport-offset: 15px;
    box-shadow: none;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-navbar-dropdown-dropbar {
        --uk-position-viewport-offset: 30px;
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-navbar-dropdown-dropbar {
        --uk-position-viewport-offset: 40px;
    }
}
.uk-navbar-dropdown-dropbar-large {
    --uk-position-shift-offset: 0;
    padding-top: 40px;
    padding-bottom: 40px;
}
/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-navbar-dropdown-nav {
    font-size: 0.875rem;
}
/*
 * Items
 */
.uk-navbar-dropdown-nav > li > a {
    color: #999;
}
/* Hover */
.uk-navbar-dropdown-nav > li > a:hover {
    color: #666;
}
/* Active */
.uk-navbar-dropdown-nav > li.uk-active > a {
    color: #333;
}
/*
 * Subtitle
 */
.uk-navbar-dropdown-nav .uk-nav-subtitle {
    font-size: 12px;
}
/*
 * Header
 */
.uk-navbar-dropdown-nav .uk-nav-header {
    color: #333;
}
/*
 * Divider
 */
.uk-navbar-dropdown-nav .uk-nav-divider {
    border-top: 1px solid #e5e5e5;
}
/*
 * Sublists
 */
.uk-navbar-dropdown-nav .uk-nav-sub a {
    color: #999;
}
.uk-navbar-dropdown-nav .uk-nav-sub a:hover {
    color: #666;
}
.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a {
    color: #333;
}

/* Sublists
 ========================================================================== */
/*
 * Level 2
 * `ul` needed for higher specificity to override padding
 */
#mobile_menu ul.uk-nav-sub {
    padding: 5px 0 5px 15px;

}
/*
 * Level 3 and deeper
 */
#mobile_menu .uk-nav-sub ul {
    padding-left: 15px;
}
/*
 * Items
 */
#mobile_menu .uk-nav-sub a {
    padding: 2px 0;
}
/* Dropbar
 ========================================================================== */
/*
 * Adopts `uk-dropnav-dropbar`
 */
.uk-navbar-container {
    transition: 0.1s ease-in-out;
    transition-property: background-color;
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-navbar-left,
    .uk-navbar-right,
    [class*="uk-navbar-center"] {
        gap: 30px;
    }
    .uk-navbar-center-left {
        right: calc(100% + 30px);
    }
    .uk-navbar-center-right {
        left: calc(100% + 30px);
    }
}
/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-navbar-nav {
        gap: 30px;
    }
}
/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Center items vertically if they have a different height
 * 3. Gutter
 * 4. Reset list
 */
.uk-subnav {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    align-items: center;
    /* 3 */
    margin-left: -20px;
    /* 4 */
    padding: 0;
    list-style: none;
}
/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-subnav > * {
    /* 1 */
    flex: none;
    /* 2 */
    padding-left: 20px;
    /* 3 */
    position: relative;
}
/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Center content vertically, e.g. an icon
 * 2. Imitate white space gap when using flexbox
 * 3. Style
 */
.uk-subnav > * > :first-child {
    /* 1 */
    display: flex;
    align-items: center;
    /* 2 */
    column-gap: 0.25em;
    /* 3 */
    color: #999;
    font-size: 0.875rem;
    text-transform: uppercase;
    transition: 0.1s ease-in-out;
    transition-property: color, background-color;
}
/* Hover */
.uk-subnav > * > a:hover {
    color: #666;
    text-decoration: none;
}
/* Active */
.uk-subnav > .uk-active > a {
    color: #333;
}
/* Divider modifier
 ========================================================================== */
/*
 * Set gutter
 */
.uk-subnav-divider {
    margin-left: -41px;
}
/*
 * Align items and divider vertically
 */
.uk-subnav-divider > * {
    display: flex;
    align-items: center;
}
/*
 * Divider
 * 1. `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > ::before {
    content: "";
    height: 1.5em;
    margin-left: 0px;
    margin-right: 20px;
    border-left: 1px solid transparent;
}
/* 1 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
    border-left-color: #e5e5e5;
}
/* Pill modifier
 ========================================================================== */
.uk-subnav-pill > * > :first-child {
    padding: 5px 10px;
    background: transparent;
    color: #999;
}
/* Hover */
.uk-subnav-pill > * > a:hover {
    background-color: #f8f8f8;
    color: #666;
}
/* OnClick */
.uk-subnav-pill > * > a:active {
    background-color: #f8f8f8;
    color: #666;
}
/* Active */
.uk-subnav-pill > .uk-active > a {
    background-color: #1e87f0;
    color: #fff;
}
/* Disabled
 * The same for all style modifiers
 ========================================================================== */
.uk-subnav > .uk-disabled > a {
    color: #999;
}

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain,
.uk-background-width-1-1,
.uk-background-height-1-1 {
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
.uk-background-cover {
    background-size: cover;
}
.uk-background-contain {
    background-size: contain;
}
.uk-background-width-1-1 {
    background-size: 100%;
}
.uk-background-height-1-1 {
    background-size: auto 100%;
}
/* ========================================================================
   Component: Position
 ========================================================================== */
:root {
    --uk-position-margin-offset: 0px;
}
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow.
 */
[class*="uk-position-top"],
[class*="uk-position-bottom"],
[class*="uk-position-left"],
[class*="uk-position-right"],
[class*="uk-position-center"] {
    position: absolute !important;
    /* 1 */
    max-width: calc(100% - (var(--uk-position-margin-offset) * 2));
    box-sizing: border-box;
}
/*
 * Edges
 * Don't use `width: 100%` because it's wrong if the parent has padding.
 */
.uk-position-top {
    top: 0;
    left: 0;
    right: 0;
}
.uk-position-bottom {
    bottom: 0;
    left: 0;
    right: 0;
}
.uk-position-left {
    top: 0;
    bottom: 0;
    left: 0;
}
.uk-position-right {
    top: 0;
    bottom: 0;
    right: 0;
}
/*
 * Corners
 */
.uk-position-top-left {
    top: 0;
    left: 0;
}
.uk-position-top-right {
    top: 0;
    right: 0;
}
.uk-position-bottom-left {
    bottom: 0;
    left: 0;
}
.uk-position-bottom-right {
    bottom: 0;
    right: 0;
}
/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 *    Using `max-content` requires `max-width` of 100% which is set generally.
 */
.uk-position-center {
    top: calc(50% - var(--uk-position-margin-offset));
    left: calc(50% - var(--uk-position-margin-offset));
    --uk-position-translate-x: -50%;
    --uk-position-translate-y: -50%;
    transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
    /* 1 */
    width: max-content;
}
/* Vertical */
[class*="uk-position-center-left"],
[class*="uk-position-center-right"],
.uk-position-center-vertical {
    top: calc(50% - var(--uk-position-margin-offset));
    --uk-position-translate-y: -50%;
    transform: translate(0, var(--uk-position-translate-y));
}
.uk-position-center-left {
    left: 0;
}
.uk-position-center-right {
    right: 0;
}
.uk-position-center-vertical {
    left: 0;
    right: 0;
}
.uk-position-center-left-out {
    right: 100%;
    width: max-content;
}
.uk-position-center-right-out {
    left: 100%;
    width: max-content;
}
/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center,
.uk-position-center-horizontal {
    left: calc(50% - var(--uk-position-margin-offset));
    --uk-position-translate-x: -50%;
    transform: translate(var(--uk-position-translate-x), 0);
    /* 1 */
    width: max-content;
}
.uk-position-top-center {
    top: 0;
}
.uk-position-bottom-center {
    bottom: 0;
}
.uk-position-center-horizontal {
    top: 0;
    bottom: 0;
}
/*
 * Cover
 */
.uk-position-cover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
/* Margin
 ========================================================================== */
.uk-position-small {
    margin: 15px;
    --uk-position-margin-offset: 15px;
}
.uk-position-medium {
    margin: 30px;
    --uk-position-margin-offset: 30px;
}
.uk-position-large {
    margin: 30px;
    --uk-position-margin-offset: 30px;
}
/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-position-large {
        margin: 50px;
        --uk-position-margin-offset: 50px;
    }
}
/* Schemes
 ========================================================================== */
.uk-position-relative {
    position: relative  !important;
}
.uk-position-absolute {
    position: absolute  !important;
}
.uk-position-fixed {
    position: fixed  !important;
}
.uk-position-sticky {
    position: sticky  !important;
}
/* Layer
 ========================================================================== */
.uk-position-z-index {
    z-index: 1;
}
.uk-position-z-index-zero {
    z-index: 0;
}
.uk-position-z-index-negative {
    z-index: -1;
}
.uk-position-z-index-high {
    z-index: 990;
}