/* === Margins === */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
    margin: 0 0 10px 0;
}

/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
    margin-top: 10px;
}

/* ========================================================================
   Component: Width
 ========================================================================== */
[class*='uk-child-width'] > * {
    box-sizing: border-box;
    width: 100%;
}

.uk-child-width-1-2 > * {
    width: 50%;
}

.uk-child-width-1-3 > * {
    width: calc(100% * 1 / 3.001);
}

.uk-child-width-1-4 > * {
    width: 25%;
}

.uk-child-width-1-5 > * {
    width: 20%;
}

.uk-child-width-1-6 > * {
    width: calc(100% * 1 / 6.001);
}

.uk-child-width-auto > * {
    width: auto;
}

.uk-child-width-expand > :not([class*='uk-width']) {
    flex: 1;
    /* 1 */
    min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-child-width-1-1\@s > * {
        width: 100%;
    }

    .uk-child-width-1-2\@s > * {
        width: 50%;
    }

    .uk-child-width-1-3\@s > * {
        width: calc(100% * 1 / 3.001);
    }

    .uk-child-width-1-4\@s > * {
        width: 25%;
    }

    .uk-child-width-1-5\@s > * {
        width: 20%;
    }

    .uk-child-width-1-6\@s > * {
        width: calc(100% * 1 / 6.001);
    }

    .uk-child-width-auto\@s > * {
        width: auto;
    }

    .uk-child-width-expand\@s > :not([class*='uk-width']) {
        flex: 1;
        min-width: 1px;
    }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-child-width-1-1\@m > * {
        width: 100%;
    }

    .uk-child-width-1-2\@m > * {
        width: 50%;
    }

    .uk-child-width-1-3\@m > * {
        width: calc(100% * 1 / 3.001);
    }

    .uk-child-width-1-4\@m > * {
        width: 25%;
    }

    .uk-child-width-1-5\@m > * {
        width: 20%;
    }

    .uk-child-width-1-6\@m > * {
        width: calc(100% * 1 / 6.001);
    }

    .uk-child-width-auto\@m > * {
        width: auto;
    }

    .uk-child-width-expand\@m > :not([class*='uk-width']) {
        flex: 1;
        min-width: 1px;
    }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-child-width-1-1\@l > * {
        width: 100%;
    }

    .uk-child-width-1-2\@l > * {
        width: 50%;
    }

    .uk-child-width-1-3\@l > * {
        width: calc(100% * 1 / 3.001);
    }

    .uk-child-width-1-4\@l > * {
        width: 25%;
    }

    .uk-child-width-1-5\@l > * {
        width: 20%;
    }

    .uk-child-width-1-6\@l > * {
        width: calc(100% * 1 / 6.001);
    }

    .uk-child-width-auto\@l > * {
        width: auto;
    }

    .uk-child-width-expand\@l > :not([class*='uk-width']) {
        flex: 1;
        min-width: 1px;
    }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-child-width-1-1\@xl > * {
        width: 100%;
    }

    .uk-child-width-1-2\@xl > * {
        width: 50%;
    }

    .uk-child-width-1-3\@xl > * {
        width: calc(100% * 1 / 3.001);
    }

    .uk-child-width-1-4\@xl > * {
        width: 25%;
    }

    .uk-child-width-1-5\@xl > * {
        width: 20%;
    }

    .uk-child-width-1-6\@xl > * {
        width: calc(100% * 1 / 6.001);
    }

    .uk-child-width-auto\@xl > * {
        width: auto;
    }

    .uk-child-width-expand\@xl > :not([class*='uk-width']) {
        flex: 1;
        min-width: 1px;
    }
}

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*='uk-width'] {
    box-sizing: border-box;
    width: 100%;
    /* 1 */
    max-width: 100%;
}

/* Halves */
.uk-width-1-2 {
    width: 50%;
}

/* Thirds */
.uk-width-1-3 {
    width: calc(100% * 1 / 3.001);
}

.uk-width-2-3 {
    width: calc(100% * 2 / 3.001);
}

/* Quarters */
.uk-width-1-4 {
    width: 25%;
}

.uk-width-3-4 {
    width: 75%;
}

/* Fifths */
.uk-width-1-5 {
    width: 20%;
}

.uk-width-2-5 {
    width: 40%;
}

.uk-width-3-5 {
    width: 60%;
}

.uk-width-4-5 {
    width: 80%;
}

/* Sixths */
.uk-width-1-6 {
    width: calc(100% * 1 / 6.001);
}

.uk-width-5-6 {
    width: calc(100% * 5 / 6.001);
}

/* Pixel */
.uk-width-small {
    width: 150px;
}

.uk-width-medium {
    width: 300px;
}

.uk-width-large {
    width: 450px;
}

.uk-width-xlarge {
    width: 600px;
}

.uk-width-xxlarge {
    width: 750px;
}

/* Auto */
.uk-width-auto {
    width: auto;
    min-width: 145px;
}

/* Expand */
.uk-width-expand {
    flex: 1;
    min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {

    /* Whole */
    .uk-width-1-1\@s {
        width: 100%;
    }

    /* Halves */
    .uk-width-1-2\@s {
        width: 50%;
    }

    /* Thirds */
    .uk-width-1-3\@s {
        width: calc(100% * 1 / 3.001);
    }

    .uk-width-2-3\@s {
        width: calc(100% * 2 / 3.001);
    }

    /* Quarters */
    .uk-width-1-4\@s {
        width: 25%;
    }

    .uk-width-3-4\@s {
        width: 75%;
    }

    /* Fifths */
    .uk-width-1-5\@s {
        width: 20%;
    }

    .uk-width-2-5\@s {
        width: 40%;
    }

    .uk-width-3-5\@s {
        width: 60%;
    }

    .uk-width-4-5\@s {
        width: 80%;
    }

    /* Sixths */
    .uk-width-1-6\@s {
        width: calc(100% * 1 / 6.001);
    }

    .uk-width-5-6\@s {
        width: calc(100% * 5 / 6.001);
    }

    /* Pixel */
    .uk-width-small\@s {
        width: 150px;
    }

    .uk-width-medium\@s {
        width: 300px;
    }

    .uk-width-large\@s {
        width: 450px;
    }

    .uk-width-xlarge\@s {
        width: 600px;
    }

    .uk-width-xxlarge\@s {
        width: 750px;
    }

    /* Auto */
    .uk-width-auto\@s {
        width: auto;
    }

    /* Expand */
    .uk-width-expand\@s {
        flex: 1;
        min-width: 1px;
    }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {

    /* Whole */
    .uk-width-1-1\@m {
        width: 100%;
    }

    /* Halves */
    .uk-width-1-2\@m {
        width: 50%;
    }

    /* Thirds */
    .uk-width-1-3\@m {
        width: calc(100% * 1 / 3.001);
    }

    .uk-width-2-3\@m {
        width: calc(100% * 2 / 3.001);
    }

    /* Quarters */
    .uk-width-1-4\@m {
        width: 25%;
    }

    .uk-width-3-4\@m {
        width: 75%;
    }

    /* Fifths */
    .uk-width-1-5\@m {
        width: 20%;
    }

    .uk-width-2-5\@m {
        width: 40%;
    }

    .uk-width-3-5\@m {
        width: 60%;
    }

    .uk-width-4-5\@m {
        width: 80%;
    }

    /* Sixths */
    .uk-width-1-6\@m {
        width: calc(100% * 1 / 6.001);
    }

    .uk-width-5-6\@m {
        width: calc(100% * 5 / 6.001);
    }

    /* Pixel */
    .uk-width-small\@m {
        width: 150px;
    }

    .uk-width-medium\@m {
        width: 300px;
    }

    .uk-width-large\@m {
        width: 450px;
    }

    .uk-width-xlarge\@m {
        width: 600px;
    }

    .uk-width-xxlarge\@m {
        width: 750px;
    }

    /* Auto */
    .uk-width-auto\@m {
        width: auto;
    }

    /* Expand */
    .uk-width-expand\@m {
        flex: 1;
        min-width: 1px;
    }
}

/* Desktop and bigger */
@media (min-width: 1200px) {

    /* Whole */
    .uk-width-1-1\@l {
        width: 100%;
    }

    /* Halves */
    .uk-width-1-2\@l {
        width: 50%;
    }

    /* Thirds */
    .uk-width-1-3\@l {
        width: calc(100% * 1 / 3.001);
    }

    .uk-width-2-3\@l {
        width: calc(100% * 2 / 3.001);
    }

    /* Quarters */
    .uk-width-1-4\@l {
        width: 25%;
    }

    .uk-width-3-4\@l {
        width: 75%;
    }

    /* Fifths */
    .uk-width-1-5\@l {
        width: 20%;
    }

    .uk-width-2-5\@l {
        width: 40%;
    }

    .uk-width-3-5\@l {
        width: 60%;
    }

    .uk-width-4-5\@l {
        width: 80%;
    }

    /* Sixths */
    .uk-width-1-6\@l {
        width: calc(100% * 1 / 6.001);
    }

    .uk-width-5-6\@l {
        width: calc(100% * 5 / 6.001);
    }

    /* Pixel */
    .uk-width-small\@l {
        width: 150px;
    }

    .uk-width-medium\@l {
        width: 300px;
    }

    .uk-width-large\@l {
        width: 450px;
    }

    .uk-width-xlarge\@l {
        width: 600px;
    }

    .uk-width-xxlarge\@l {
        width: 750px;
    }

    /* Auto */
    .uk-width-auto\@l {
        width: auto;
    }

    /* Expand */
    .uk-width-expand\@l {
        flex: 1;
        min-width: 1px;
    }
}

/* Large screen and bigger */
@media (min-width: 1600px) {

    /* Whole */
    .uk-width-1-1\@xl {
        width: 100%;
    }

    /* Halves */
    .uk-width-1-2\@xl {
        width: 50%;
    }

    /* Thirds */
    .uk-width-1-3\@xl {
        width: calc(100% * 1 / 3.001);
    }

    .uk-width-2-3\@xl {
        width: calc(100% * 2 / 3.001);
    }

    /* Quarters */
    .uk-width-1-4\@xl {
        width: 25%;
    }

    .uk-width-3-4\@xl {
        width: 75%;
    }

    /* Fifths */
    .uk-width-1-5\@xl {
        width: 20%;
    }

    .uk-width-2-5\@xl {
        width: 40%;
    }

    .uk-width-3-5\@xl {
        width: 60%;
    }

    .uk-width-4-5\@xl {
        width: 80%;
    }

    /* Sixths */
    .uk-width-1-6\@xl {
        width: calc(100% * 1 / 6.001);
    }

    .uk-width-5-6\@xl {
        width: calc(100% * 5 / 6.001);
    }

    /* Pixel */
    .uk-width-small\@xl {
        width: 150px;
    }

    .uk-width-medium\@xl {
        width: 300px;
    }

    .uk-width-large\@xl {
        width: 450px;
    }

    .uk-width-xlarge\@xl {
        width: 600px;
    }

    .uk-width-xxlarge\@xl {
        width: 750px;
    }

    /* Auto */
    .uk-width-auto\@xl {
        width: auto;
    }

    /* Expand */
    .uk-width-expand\@xl {
        flex: 1;
        min-width: 1px;
    }
}

/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
    margin-bottom: 40px;
}

* + .uk-margin {
    margin-top: 40px !important;
}

.uk-margin-top {
    margin-top: 40px !important;
}

.uk-margin-bottom {
    margin-bottom: 40px !important;
}

.uk-margin-left {
    margin-left: 40px !important;
}

.uk-margin-right {
    margin-right: 40px !important;
}

/* Small
 ========================================================================== */
.uk-margin-small {
    margin-bottom: 20px;
}

* + .uk-margin-small {
    margin-top: 20px !important;
}

.uk-margin-small-top {
    margin-top: 20px !important;
}

.uk-margin-small-bottom {
    margin-bottom: 20px !important;
}

.uk-margin-small-left {
    margin-left: 20px !important;
}

.uk-margin-small-right {
    margin-right: 20px !important;
}

/* Large
 ========================================================================== */
.uk-margin-large {
    margin-bottom: 60px;
}

* + .uk-margin-large {
    margin-top: 60px !important;
}

.uk-margin-large-top {
    margin-top: 60px !important;
}

.uk-margin-large-bottom {
    margin-bottom: 60px !important;
}

.uk-margin-large-left {
    margin-left: 60px !important;
}

.uk-margin-large-right {
    margin-right: 60px !important;
}

/* ========================================================================
   Component: Grid
 ========================================================================== */

.uk-grid {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
}

.uk-grid > * {
    margin: 0;
}

/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
    margin-bottom: 0;
}

/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
    margin-left: -30px;
}

.uk-grid > * {
    padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
    margin-top: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {

    /* Horizontal */
    .uk-grid {
        margin-left: -40px;
    }

    .uk-grid > * {
        padding-left: 40px;
    }

    /* Vertical */
    .uk-grid + .uk-grid,
    .uk-grid > .uk-grid-margin,
    * + .uk-grid-margin {
        margin-top: 40px;
    }
}

/*
 * Small
 */
/* Horizontal */
.uk-grid-small,
.uk-grid-column-small {
    margin-left: -15px;
}

.uk-grid-small > *,
.uk-grid-column-small > * {
    padding-left: 15px;
}

/* Vertical */
.uk-grid + .uk-grid-small,
.uk-grid + .uk-grid-row-small,
.uk-grid-small > .uk-grid-margin,
.uk-grid-row-small > .uk-grid-margin,
* + .uk-grid-margin-small {
    margin-top: 15px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium,
.uk-grid-column-medium {
    margin-left: -30px;
}

.uk-grid-medium > *,
.uk-grid-column-medium > * {
    padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid-medium,
.uk-grid + .uk-grid-row-medium,
.uk-grid-medium > .uk-grid-margin,
.uk-grid-row-medium > .uk-grid-margin,
* + .uk-grid-margin-medium {
    margin-top: 30px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-large,
.uk-grid-column-large {
    margin-left: -40px;
}

.uk-grid-large > *,
.uk-grid-column-large > * {
    padding-left: 40px;
}

/* Vertical */
.uk-grid + .uk-grid-large,
.uk-grid + .uk-grid-row-large,
.uk-grid-large > .uk-grid-margin,
.uk-grid-row-large > .uk-grid-margin,
* + .uk-grid-margin-large {
    margin-top: 40px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {

    /* Horizontal */
    .uk-grid-large,
    .uk-grid-column-large {
        margin-left: -70px;
    }

    .uk-grid-large > *,
    .uk-grid-column-large > * {
        padding-left: 70px;
    }

    /* Vertical */
    .uk-grid + .uk-grid-large,
    .uk-grid + .uk-grid-row-large,
    .uk-grid-large > .uk-grid-margin,
    .uk-grid-row-large > .uk-grid-margin,
    * + .uk-grid-margin-large {
        margin-top: 70px;
    }
}

/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse,
.uk-grid-column-collapse {
    margin-left: 0;
}

.uk-grid-collapse > *,
.uk-grid-column-collapse > * {
    padding-left: 0;
}

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid + .uk-grid-row-collapse,
.uk-grid-collapse > .uk-grid-margin,
.uk-grid-row-collapse > .uk-grid-margin {
    margin-top: 0;
}

/*
 * Panel
 */
.uk-panel::before,
.uk-panel::after {
    content: "";
    display: table;
}

.uk-panel::after {
    clear: both;
}

.uk-panel {
    text-align: center;
}

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
    margin-bottom: 0;
}

/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
    text-align: left !important;
}

.uk-text-right {
    text-align: right !important;
}

.uk-text-center {
    text-align: center !important;
}

.uk-text-justify {
    text-align: justify !important;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-text-left\@s {
        text-align: left !important;
    }

    .uk-text-right\@s {
        text-align: right !important;
    }

    .uk-text-center\@s {
        text-align: center !important;
    }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-text-left\@m {
        text-align: left !important;
    }

    .uk-text-right\@m {
        text-align: right !important;
    }

    .uk-text-center\@m {
        text-align: center !important;
    }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-text-left\@l {
        text-align: left !important;
    }

    .uk-text-right\@l {
        text-align: right !important;
    }

    .uk-text-center\@l {
        text-align: center !important;
    }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-text-left\@xl {
        text-align: left !important;
    }

    .uk-text-right\@xl {
        text-align: right !important;
    }

    .uk-text-center\@xl {
        text-align: center !important;
    }
}

/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
    position: absolute !important;
}

/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is 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.
 */
.uk-position-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* 1 */
    width: max-content;
    max-width: 100%;
    box-sizing: border-box;
}

/* Vertical */
[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
    top: 50%;
    transform: translateY(-50%);
}

.uk-position-center-left {
    left: 0;
}

.uk-position-center-right {
    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 {
    left: 50%;
    transform: translateX(-50%);
    /* 1 */
    width: max-content;
    max-width: 100%;
    box-sizing: border-box;
}

.uk-position-top-center {
    top: 0;
}

.uk-position-bottom-center {
    bottom: 0;
}

/* Cover
 ========================================================================== */
.uk-position-cover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

/* Utility
 ========================================================================== */
.uk-position-relative {
    position: relative !important;
}

.uk-position-absolute {
    position: absolute !important;
}

.uk-position-fixed {
    position: fixed !important;
}

.uk-position-z-index {
    z-index: 1;
}

/* ========================================================================
   Component: Slideshow
 ========================================================================== */
.uk-slideshow {
    /* 1 */
    -webkit-tap-highlight-color: transparent;
}

/* Items
 ========================================================================== */
.uk-slideshow-items {
    /* 1 */
    position: relative;
    z-index: 0;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 3 */
    overflow: hidden;
    /* 4 */
    -webkit-touch-callout: none;
}

/* Item
 ========================================================================== */
.uk-slideshow-items > * {
    /* 1 */
    position: absolute;
    top: 0;
    left: 0;
    /* 2 */
    right: 0;
    bottom: 0;
    /* 3 */
    overflow: hidden;
    /* 4 */
    will-change: transform, opacity;
    /* 5 */
    touch-action: pan-y;
}

/* 6 */
.uk-slideshow-items > :focus {
    outline: none;
}

/*
 * Hide not active items
 */
.uk-slideshow-items > :not(.uk-active) {
    display: none;
}

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*='uk-animation-'] {
    animation-duration: 0.5s;
    animation-timing-function: ease-out;
    animation-fill-mode: both;
}

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
    animation-name: uk-fade;
    animation-duration: 0.8s;
    animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
    animation-name: uk-fade-scale-02;
}

.uk-animation-scale-down {
    animation-name: uk-fade-scale-18;
}

/*
 * Slide
 */
.uk-animation-slide-top {
    animation-name: uk-fade-top;
}

.uk-animation-slide-bottom {
    animation-name: uk-fade-bottom;
}

.uk-animation-slide-left {
    animation-name: uk-fade-left;
}

.uk-animation-slide-right {
    animation-name: uk-fade-right;
}

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
    animation-name: uk-fade-top-small;
}

.uk-animation-slide-bottom-small {
    animation-name: uk-fade-bottom-small;
}

.uk-animation-slide-left-small {
    animation-name: uk-fade-left-small;
}

.uk-animation-slide-right-small {
    animation-name: uk-fade-right-small;
}

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
    animation-name: uk-fade-top-medium;
}

.uk-animation-slide-bottom-medium {
    animation-name: uk-fade-bottom-medium;
}

.uk-animation-slide-left-medium {
    animation-name: uk-fade-left-medium;
}

.uk-animation-slide-right-medium {
    animation-name: uk-fade-right-medium;
}

/*
 * Kenburns
 */
.uk-animation-kenburns {
    animation-name: uk-scale-kenburns;
    animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-shake {
    animation-name: uk-shake;
}

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
    animation-direction: reverse;
    animation-timing-function: ease-in;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
    animation-duration: 0.1s;
}

/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*='uk-animation-'] {
    animation-name: none;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
    /* 1 */
    -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
    outline: none;
}

/* ========================================================================
   Component: Thumbnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-thumbnav {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 3 */
    margin-left: -15px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-thumbnav > * {
    /* 1 */
    padding-left: 15px;
}

/* Items
 ========================================================================== */
/*
 * Items
 */
.uk-thumbnav > * > * {
    display: inline-block;
    position: relative;
}

.uk-thumbnav > * > *::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.4);
    transition: background-color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
    outline: none;
}

.uk-thumbnav > * > :hover::after,
.uk-thumbnav > * > :focus::after {
    background-color: transparent;
}

/* Active */
.uk-thumbnav > .uk-active > *::after {
    background-color: transparent;
}

/* Modifier: 'uk-thumbnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-thumbnav-vertical {
    /* 1 */
    flex-direction: column;
    /* 2 */
    margin-left: 0;
    margin-top: -15px;
}

/* 2 */
.uk-thumbnav-vertical > * {
    padding-left: 0;
    padding-top: 15px;
}

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
    display: flex;
}

.uk-flex-inline {
    display: inline-flex;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
    display: none;
}

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
    justify-content: flex-start;
}

.uk-flex-center {
    justify-content: center;
}

.uk-flex-right {
    justify-content: flex-end;
}

.uk-flex-between {
    justify-content: space-between;
}

.uk-flex-around {
    justify-content: space-around;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-flex-left\@s {
        justify-content: flex-start;
    }

    .uk-flex-center\@s {
        justify-content: center;
    }

    .uk-flex-right\@s {
        justify-content: flex-end;
    }

    .uk-flex-between\@s {
        justify-content: space-between;
    }

    .uk-flex-around\@s {
        justify-content: space-around;
    }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-flex-left\@m {
        justify-content: flex-start;
    }

    .uk-flex-center\@m {
        justify-content: center;
    }

    .uk-flex-right\@m {
        justify-content: flex-end;
    }

    .uk-flex-between\@m {
        justify-content: space-between;
    }

    .uk-flex-around\@m {
        justify-content: space-around;
    }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-flex-left\@l {
        justify-content: flex-start;
    }

    .uk-flex-center\@l {
        justify-content: center;
    }

    .uk-flex-right\@l {
        justify-content: flex-end;
    }

    .uk-flex-between\@l {
        justify-content: space-between;
    }

    .uk-flex-around\@l {
        justify-content: space-around;
    }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-flex-left\@xl {
        justify-content: flex-start;
    }

    .uk-flex-center\@xl {
        justify-content: center;
    }

    .uk-flex-right\@xl {
        justify-content: flex-end;
    }

    .uk-flex-between\@xl {
        justify-content: space-between;
    }

    .uk-flex-around\@xl {
        justify-content: space-around;
    }
}

.uk-flex-stretch {
    align-items: stretch;
}

.uk-flex-top {
    align-items: flex-start;
}

.uk-flex-middle {
    align-items: center;
}

.uk-flex-bottom {
    align-items: flex-end;
}

/* Direction
 ========================================================================== */
.uk-flex-row {
    flex-direction: row;
}

.uk-flex-row-reverse {
    flex-direction: row-reverse;
}

.uk-flex-column {
    flex-direction: column;
}

.uk-flex-column-reverse {
    flex-direction: column-reverse;
}

/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
    flex-wrap: nowrap;
}

.uk-flex-wrap {
    flex-wrap: wrap;
}

.uk-flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
    align-content: stretch;
}

.uk-flex-wrap-top {
    align-content: flex-start;
}

.uk-flex-wrap-middle {
    align-content: center;
}

.uk-flex-wrap-bottom {
    align-content: flex-end;
}

.uk-flex-wrap-between {
    align-content: space-between;
}

.uk-flex-wrap-around {
    align-content: space-around;
}

/* Item ordering
 ========================================================================== */

.uk-flex-first {
    order: -1;
}

.uk-flex-last {
    order: 99;
}

/* Phone landscape and bigger */
@media (min-width: 640px) {
    .uk-flex-first\@s {
        order: -1;
    }

    .uk-flex-last\@s {
        order: 99;
    }
}

/* Tablet landscape and bigger */
@media (min-width: 960px) {
    .uk-flex-first\@m {
        order: -1;
    }

    .uk-flex-last\@m {
        order: 99;
    }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
    .uk-flex-first\@l {
        order: -1;
    }

    .uk-flex-last\@l {
        order: 99;
    }
}

/* Large screen and bigger */
@media (min-width: 1600px) {
    .uk-flex-first\@xl {
        order: -1;
    }

    .uk-flex-last\@xl {
        order: 99;
    }
}

/* Item dimensions
 ========================================================================== */

.uk-flex-none {
    flex: none;
}

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
    flex: auto;
}

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
    flex: 1;
}

/* ======== Equipments ========= */
/* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 250px;
    font-size: 12px;
    line-height: 16px;
    background-color: #666;
    color: #fff;
    text-align: left;
    padding: 8px 10px;
    border-radius: 6px;
    position: absolute;
    z-index: 100;
    bottom: 110%;
    left: 50%;
    margin-left: -100px;
    box-shadow: 0 1em 2em -.5em rgba(0, 0, 0, 0.25);
    opacity: 0;
    transition: opacity 0.5s;
}

@media screen and (max-width: 1280px) {
    .tooltiptext.tooltip-align-right {
        right: 30%;
        left: -20px;
    }

    .tooltiptext.tooltip-align-left {
        left: 100%;
    }

    .tooltip .tooltiptext-align-center {
        left: 50%;
        margin-left: -100px;
    }
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}

.equipment--control-system-wrap {
    text-align: center;
    font-size: 14px;
}

.equipment-single__property {
    color: #820125;
    text-align: center;
    flex: 0 0 33%;
}

.equipment--control-system-title {
    color: #b4b3b2;
    font-size: 16px;
    padding: 30px 0 15px 0;
}

span.equipment--control-subtitle {
    font-size: 12px;
}

@media screen and (min-width: 1280px) {
    .equipment-single__properties {
        margin-top: 5px;
        /*display: inline-flex;*/
    }
    h4.footer__contact-title.mobile-hidden {
        margin-bottom: 0;
    }
    .footer__logo-text {
        margin-top: 64px;
    }
}

@media screen and (max-width: 991px) {
    .equipment--control-system-column-title {
        font-size: 11px;
    }

    span.equipment--control-subtitle {
        font-size: 10px;
    }
}

.equipment--control-system-column.active .equipment--control-system-column-title {
    color: #820125;
    font-weight: 600;
}

.equipment--control-system-column {
    color: #d0d0d0;
}

.equipment-single__property-title {
    font-weight: 600;
}

.equipment--control-system-wrap.uk-grid > * {
    padding-left: 15px !important;
}

.equipment-single-desc__text {
    padding-left: 25px;
}

.equipment-single__row--space-between {
    margin-top: 40px;
}

.equipment-single__additional_description {
    margin-top: 30px;
}
.equipment-filters {
    font-size: 14px;
}
.equipment--control-system-info, .equipment--property-info {
    margin-bottom: 40px;
    padding: 30px 40px;
    background: #f5f5f5;
    border: 1px dashed #d2d2d2;
    font-size: 13px;
    line-height: 16px;
    color: #9c9c9c;
}
.uk-grid.equipment--control-system-info-single, .uk-grid.equipment--property-info-single {
    margin-top: 15px;
}
.uk-grid.equipment--property-info-single .uk-width-auto {
    min-width: 180px;
}
.equipment--property-info-single-img img {
    height: 50px;
}
@media screen and (max-width: 640px) {
    .uk-grid.equipment--control-system-info-single, .equipment--property-info-single {
        flex-direction: column;
    }
    .uk-width-auto {
        padding-bottom: 5px;
    }
}
.equipment--control-system-info-single-title {
    font-weight: 600;
}
.equipment--control-system-info-title, .equipment--property-info-title {
    font-size: 15px;
    font-weight: 600;
    padding-bottom: 10px;
}
.equipment--property-info-single-img, .equipment--property-info-single-text {
    text-align: center;
    font-weight: 600;
}
.equipment--property-info-single-img img {
    height: 40px;
    width: auto;
}

/* ======== Company page ========= */
@media screen and (min-width: 768px) {
    .company--about {
        background-image: url(../img/elephant-company-about.jpg);
    }
}

.company__content.current {
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2px;
}

.quotes {
    padding: 40px 0;
    margin-left: 25%;
    font-weight: bold;
}

h3.heading-big {
    font-size: 38px;
    font-weight: 800;
    color: #9c9c9c;
    margin: 20px 0;
}

h4.heading-small {
    margin-left: 40px;
    padding-top: 20px;
}

.push {
    list-style: none;
    margin-left: 20px;
}

.push li {
    position: relative;
    padding: 14px 0 8px 40px;
    cursor: pointer;
}

ul.push a {
    text-decoration: none;
    color: #820125;
}

.push li:before {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4F5151;
    content: "";
    left: 0;
    transition: .3s ease-in-out;
    top: 24px;
}

.push li:after {
    position: absolute;
    border-left: 1px dotted #4F5151;
    width: 1px;
    bottom: -15px;
    content: "";
    left: 3px;
    top: 40px;
}

.push li:hover:before {
    box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1)
}

.push li:last-child:after {
    content: none;
}

img.icon {
    margin-bottom: 15px;
    opacity: 0.6;
}

img.icon:hover {
    opacity: 1;
    transition: .3s ease-in-out;
}

.medals {
    margin: 40px 0;
}

/*========= Solutions ==========*/
.solution-bottom-text {
    margin-top: 40px;
}

@media screen and (min-width: 768px) {
    .proven-solutions__item--img {
        padding: 80px;
    }
}

.use li {
    list-style: disc;
}

/*========= Slider Projects ==========*/
.mobile-hidden p {
    font-size: 13px;
    letter-spacing: 0.5px;
    line-height: 16px;
}

.project-slider__big-text .line-1 {
    font-size: 14px;
    padding-left: 60px;
}

.project-slider__big-text .line-2 {
    font-size: 16px;
    font-weight: 600;
    margin-top: 5px;
}

.arrow-link {
    margin-bottom: 20px;
}

/*========= Scope ==========*/
.scope h4 {
    font-size: 18px;
    padding-top: 5px;
    padding-bottom: 10px;
}

.scope li {
    list-style: disc;
    margin-left: 20px;
}

.scope ul {
    margin-bottom: 5px;
}

.scope-image img {
    -webkit-filter: grayscale(80%);
    filter: grayscale(80%);
    transition: 1s;
}

.scope-image img:hover {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}
.company__popup-btns .popup-btn {
    color: rgba(113, 23, 38, 0,4);
}
/*========= Progress ==========*/

.tree,
.tree ul {
    margin: 0 0 0 40px;
    padding: 0;
    list-style: none;
    position: relative;
}

.tree ul {
    margin-left: .5em;
    margin-bottom: 10px;
}

.tree:after,
.tree ul:after {
    content: "";
    display: block;
    width: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    border-left: 1px dotted #4F5151;
}

.tree li {
    margin: 0;
    padding: 0 8.5em;
    line-height: 2.5em;
    position: relative;
}

.tree li:before {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4F5151;
    content: "";
    left: -3px;
    transition: .3s ease-in-out;
    top: 14px;
}

.tree li:after {
    content: "";
    display: block;
    width: 100px;
    height: 0;
    border-top: 1px dotted #4F5151;
    margin-top: -1px;
    position: absolute;
    top: 1.2em;
    left: 0;
}

.tree li:last-child:after {
    height: auto;
    top: 1.2em;
    bottom: 0;
}

@media screen and (min-width: 768px) {
    .company__results-word {
        font-size: 14px;
        line-height: 14px;
        letter-spacing: 0.2px;
    }
}

@media screen and (max-width: 1279px) and (min-width: 768px) {
    .project-slider__desc {
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    .project-slider__desc {
        padding: 10px;
    }
}

@media screen and (max-width: 767px) {
    .header {
        position: fixed;
        left: 0;
        right: 0;
    }
}

@media screen and (min-width: 768px) {
    .blog__article .left {
        margin-right: 30px;
        margin-bottom: 20px;
    }
}

/*========= Timeline ==========*/

div.container-tml {
    display: flex;
    flex: auto;
    flex-direction: column;
    max-height: 100%;
    height: 400px;
    overflow: hidden;
    padding: 20px 0;
    margin: 30px 0;
}

#timeline section.year section ul li {
    cursor: pointer;
}

div.container-tml::-webkit-scrollbar {
    width: 0 !important
}

div.container-tml {
    -ms-overflow-style: none;
}

div.container-tml {
    overflow: -moz-scrollbars-none;
}

div.item-tml {
    display: flex;
    flex: auto;
    overflow-y: auto;
    padding: 0 1rem 0 1rem;
}

#timeline {
    position: relative;
    display: table;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}

#timeline div:after {
    content: '';
    width: 2px;
    position: absolute;
    top: .5rem;
    bottom: 0;
    left: 60px;
    z-index: 1;
    background: #C5C5C5;
}

#timeline h3 {
    position: -webkit-sticky;
    position: sticky;
    top: 5rem;
    color: #711726;
    margin: 0;
    font-size: 1em;
    font-weight: 400;
}

@media (min-width: 62em) {
    #timeline h3 {
        font-size: 1.1em;
    }
}

#timeline section.year {
    position: relative;
}

#timeline section.year:first-child section {
    margin-top: -1.3em;
    padding-bottom: 0;
}

#timeline section.year section {
    position: relative;
    padding-bottom: 1.25em;
    margin-bottom: 2.2em;
}

#timeline section.year section h4 {
    position: absolute;
    bottom: 0;
    font-size: .9em;
    font-weight: 400;
    line-height: 1.2em;
    margin: 0;
    padding: 0 0 0 89px;
    color: #C5C5C5;
}

@media (min-width: 62em) {
    #timeline section.year section h4 {
        font-size: 1em;
    }
}

#timeline section.year section ul {
    list-style-type: none;
    padding: 0 0 0 75px;
    margin: -1.35rem 0 1em;
    max-width: 32rem;
    font-size: 1em;
}

@media (min-width: 62em) {
    #timeline section.year section ul {
        font-size: 1em;
        padding: 0 0 0 81px;
    }
}

#timeline section.year section ul:last-child {
    margin-bottom: 0;
}

#timeline section.year section ul:first-of-type:after {
    content: '';
    width: 10px;
    height: 10px;
    background: #C5C5C5;
    border: 2px solid #FFFFFF;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
    position: absolute;
    left: 54px;
    top: 3px;
    z-index: 2;
}

#timeline section.year section ul li {
    margin-left: .5rem;
}

#timeline section.year section ul li:before {
    content: '·';
    margin-left: -.5rem;
    padding-right: .3rem;
}

#timeline section.year section ul li:not(:first-child) {
    margin-top: .4rem;
}

#timeline section.year section ul li span.price {
    color: mediumturquoise;
    font-weight: 500;
}

/* width */
#progress ::-webkit-scrollbar {
    width: 8px;
}

/* Track */
#progress ::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 8px;
}

/* Handle */
#progress ::-webkit-scrollbar-thumb {
    background: #c5c5c5;
    border-radius: 8px;
}

/* Handle on hover */
#progress ::-webkit-scrollbar-thumb:hover {
    background: #b4b3b2;
}