/******************************************************************************/

/*
 * Form
 */
.form {
    margin: 0 auto;
    max-width: 100rem;
}
form .ibs {
    margin-bottom: 1rem;
}

/******************************************************************************/

/*
 * Input
 */
.input {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.5);
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    clear: both;
    display: inline-block;
    font-size: 2.4rem;
    line-height: 3.4rem;
    max-width: 100%;
    outline: none;
    padding: 0.9rem 1.9rem;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    vertical-align: middle;
    width: 22rem;
}
.input--short {
    text-align: center;
    width: 7rem;
}
.input--long {
    width: 35rem;
}
.input--full {
    max-width: none;
    width: 100%;
}
.input:hover {
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.33);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.33);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.33);
}
.input:focus {
    border-color: #000 !important;
}
.input:disabled,
.input[disabled],
.input[readonly] {
    opacity: 0.5;
    pointer-events: none;
}
.input--invalid {
    border-color: #d47171;
}
.input-input {
    margin-left: -100%;
    opacity: 0;
    position: absolute;
    width: 0;
    z-index: -1;
}
.input-txt {
    display: block;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.input-txt::before {
    content: '\0000a0';
}

/*
 * Input number
 */
.input--number {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    text-align: center;
    width: 5.5rem;
}
.input--number::-webkit-inner-spin-button,
.input--number::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*
 * Textarea
 */
.input--textarea {
    height: 9rem;
    line-height: 1.2em;
    vertical-align: top;
    width: 100%;
}
.input--textarea--medium {
    height: 20rem;
}
.input--textarea--large {
    height: 40rem;
}

/*
 * Select
 */
.input--select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-attachment: scroll;
    background-image: url('../images/select.svg');
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 3rem auto;
    min-width: 15rem;
    outline: medium none !important;
    padding: 0.9rem 4.4rem 0.9rem 1.9rem;
    text-overflow: '';
    z-index: 1;
}
select::-ms-expand {
    display: none;
}
.select--full {
    width: 98%;
}

/*
 * Input checkbox, Input radio
 */
.input--checkbox,
.input--radio {
    background: none;
    border-width: 0;
    cursor: pointer;
    display: inline-block;
    height: 1.8rem;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    top: 0;
    width: 1.8rem;
}
.input-i {
    background: #fff;
    border: inherit;
    border-width: 1px;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.input-input:checked + .input-i {
    background: #f5f5f5;
    border-color: #000;
}
.input-i::before {
    background: #000;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    bottom: -50%;
    content: '';
    display: block;
    left: -50%;
    position: absolute;
    right: -50%;
    top: -50%;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.input--checkbox .input-input:checked + .input-i::before {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}
.input--checkbox .input-i::after {
    background: none;
    border-bottom: 0.2rem solid rgba(255, 255, 255, 1);
    border-right: 0.2rem solid rgba(255, 255, 255, 1);
    bottom: 50%;
    content: '';
    height: 0;
    left: 15%;
    opacity: 0;
    position: absolute;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    -o-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transition: all 0.2s ease-out 0.1s, height 0.1s ease-in 0s;
    -moz-transition: all 0.2s ease-out 0.1s, height 0.1s ease-in 0s;
    -o-transition: all 0.2s ease-out 0.1s, height 0.1s ease-in 0s;
    transition: all 0.2s ease-out 0.1s, height 0.1s ease-in 0s;
    width: 0;
}
.input--checkbox .input-input:checked + .input-i::after {
    height: 60%;
    opacity: 1;
    -webkit-transition: all 0.2s ease-in 0s, height 0.2s ease-out 0.2s;
    -moz-transition: all 0.2s ease-in 0s, height 0.2s ease-out 0.2s;
    -o-transition: all 0.2s ease-in 0s, height 0.2s ease-out 0.2s;
    transition: all 0.2s ease-in 0s, height 0.2s ease-out 0.2s;
    width: 35%;
}

.input--radio,
.input--radio .input-i,
.input--radio .input-i::before {
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
.input--radio .input-input:checked + .input-i::before {
    -webkit-transform: scale(0.35);
    -moz-transform: scale(0.35);
    -ms-transform: scale(0.35);
    -o-transform: scale(0.35);
    transform: scale(0.35);
}

/******************************************************************************/

/*
 * Button
 */
.button {
    background: #bbb;
    border: 1px solid #888;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    color: #000;
    cursor: pointer;
    display: inline-block;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2.5rem;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    padding: 0.9rem 1.9rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    vertical-align: middle;
    z-index: 3;
}

.button--bigger {
    padding: 1.7rem 2rem;
    width: 22rem;
}

.button--full {
    width: 100%;
}

.button:hover,
a:hover .button {
    background: #ddd;
    border-color: #888;
    color: #000;
    text-decoration: none;
}

.button:active {
    background: #e1e1e1;
    border-color: #666;
    -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.8);
    -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.8);
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.8);
}

.button--primary {
    background: #000;
    border-color: #000;
    color: #fff;
}
.button--primary:hover,
a:hover .button--primary {
    background-color: var(--tertiary);
    border-color: var(--tertiary);
    color: #fff;
}

.button--secondary {
    background: #eee;
    border-color: #eee;
    color: #000;
    font-weight: normal;
}
.button--secondary:hover,
a:hover .button--secondary {
    background-color: var(--tertiary);
    border-color: var(--tertiary);
    color: #fff;
}

.button-small {
    font-size: 75%;
    font-weight: lighter;
}

button:active,
button:focus {
    background-image: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    outline: 0;
}

/*
 * Button Remove
 */
.button--remove {
    border: 0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    display: block;
    font-size: 0.000001rem;
    height: 2.8rem;
    margin: auto;
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    padding: 0;
    position: relative;
    width: 2.8rem;
}
.button--remove::before,
.button--remove::after {
    background: none;
    border-style: solid;
    border-width: 1px;
    bottom: 0;
    content: '';
    height: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
    width: 50%;
}
.button--remove::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.button--remove::after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*
 * Button Attach
 */
.button--attach,
.button--attach:hover {
    background: #fff;
    border: 0;
    display: block;
    height: 2.2rem;
    margin: auto;
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    padding: 0;
    position: relative;
    width: 2.2rem;
}
.button--attach::before {
    background: url('../images/icons/button--attach.svg') no-repeat center;
    background-size: auto 100%;
    bottom: 0;
    content: '';
    left: 0;
    opacity: 0.75;
    position: absolute;
    right: 0;
    top: 0;
}
.button--attach:hover::before {
    opacity: 1;
}

/*
 * Button Password
 */
.button--password,
.button--password:hover {
    background: #fff;
    border: 0;
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
    width: 5rem;
}
.button--password::before {
    background: url('../images/icons/button--password.svg') no-repeat center;
    background-size: auto 100%;
    content: '\0000a0';
    display: block;
    opacity: 0.75;
}
.button--password:hover::before {
    opacity: 1;
}
.button--password::after {
    border: 1px solid #888;
    bottom: 0;
    content: '';
    display: none;
    height: 100%;
    left: 0;
    margin: auto;
    opacity: 0.75;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 0;
}
.input[type='text'] + .button--password::after {
    display: block;
}

/******************************************************************************/

/*
 * File
 */
.file {
    display: block;
    position: relative;
}
.input--file {
    overflow: hidden;
    position: relative;
}
.input--file .input-txt {
    margin-right: 3rem;
}
.file-button {
    position: absolute !important;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.file-button.button--attach,
.lbl.-focus .file-button.button--remove {
    display: block;
}
.lbl.-focus .file-button.button--attach,
.file-button.button--remove {
    display: none;
}

/******************************************************************************/

/*
 * Password
 */
.password {
    display: block;
    position: relative;
}
.password-button {
    position: absolute;
    right: 0.1rem;
    top: 0.1rem;
}
.password-button::before {
    height: 50%;
    position: relative;
    top: 25%;
}

/******************************************************************************/

/*
 * LBLs
 */
.lbl {
    display: block;
    line-height: 1.4;
    position: relative;
    text-align: left;
}
.lbl-name {
    color: #626262;
    display: block;
    float: left;
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1.5em;
    margin: -0.75em 1.5rem;
    overflow: hidden;
    padding: 0 0.5rem;
    pointer-events: none;
    position: relative;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    -webkit-transform: translateY(2.7rem);
    -moz-transform: translateY(2.7rem);
    -ms-transform: translateY(2.7rem);
    -o-transform: translateY(2.7rem);
    transform: translateY(2.7rem);
    z-index: 1;
}
.lbl.-focus .lbl-name,
.no-js .lbl-name {
    background: #fff;
    font-size: 1.4rem !important;
    -webkit-transform: translateY(0) !important;
    -moz-transform: translateY(0) !important;
    -ms-transform: translateY(0) !important;
    -o-transform: translateY(0) !important;
    transform: translateY(0) !important;
}
.lbl input[type='text'],
.lbl input[type='password'],
.lbl input[type='email'],
.lbl input[type='tel'],
.lbl .input--file,
.lbl textarea,
.lbl select {
    clear: both;
    width: 100%;
}
.lbl-aside {
    display: block;
    font-size: 1.6rem;
    line-height: 2rem;
    margin: -2rem auto auto 3rem;
    position: relative;
}
.lbl-help {
    display: block;
    font-size: 1.4rem;
    opacity: 0.5;
    padding: 0.5rem 0;
}
.lbl-error {
    display: block;
    font-size: 1.5rem;
    line-height: 1.7rem;
    padding: 0.3rem 0 0;
}
.lbl--invalid,
.lbl--invalid .lbl-name,
.lbl--invalid .lbl-aside,
.lbl--invalid .lbl-help,
.lbl--invalid .lbl-error {
    color: #b72b2b !important;
}
.lbl--invalid .input,
.lbl--invalid .checkbox i {
    border-color: #b72b2b !important;
}
.lbl-title {
    display: block;
    font-size: 0.8em;
    font-weight: bolder;
    opacity: 0.4;
    padding: 0.75em 0 0.1em;
    text-transform: uppercase;
}
.lbl-value {
    display: block;
    padding: 0.1em 0 0.75em;
}

/******************************************************************************/

/* form actions */
.formActions {
    clear: both;
    display: block;
    margin: 1rem 0;
    padding: 0;
}
.formActions--center {
    padding-left: 0;
    text-align: center;
}
.formActions--sides {
    overflow: hidden;
    padding: 15px;
}
.formActions--sides-left {
    float: left;
}
.formActions--sides-right {
    float: right;
}

/******************************************************************************/

/*
 * Loading
 */
.loading {
    position: relative;
    z-index: 999;
}
.loading--full {
    background-color: #fff;
    bottom: 0;
    left: 0;
    filter: alpha(opacity = 80);
    opacity: 0.8;
    position: absolute;
    right: 0;
    top: 0;
}
.loading-text {
    position: absolute;
    text-align: center;
    top: 51%;
    width: 100%;
}
.loading::after {
    -webkit-animation: spin 0.5s cubic-bezier(0.61, 0.28, 0.37, 0.82) infinite;
    -moz-animation: spin 0.5s cubic-bezier(0.61, 0.28, 0.37, 0.82) infinite;
    -o-animation: spin 0.5s cubic-bezier(0.61, 0.28, 0.37, 0.82) infinite;
    animation: spin 0.5s cubic-bezier(0.61, 0.28, 0.37, 0.82) infinite;
    border: 8px solid #f3f3f3;
    border-top: 8px solid #282828;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    content: '';
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 1;
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@-moz-keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@-o-keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/******************************************************************************/

/*
 * Hint
 */
.hint {
    color: #999;
    font-size: 0.9em;
    line-height: 1.3em;
}

/******************************************************************************/

/*
 * Container
 */
.container {
    margin: 0 auto;
    max-width: 174rem;
    padding: 0 1rem;
    position: relative;
}

.container .container {
    padding: 0;
}

/******************************************************************************/

/*
 * Content
 */
.content {
    display: block;
    vertical-align: top;

    overflow-wrap: break-word;
    word-wrap: break-word;
    /*
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    */
}

.content img {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 100%;
}

.content-noimg img {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    max-width: none;
}

.content .dropdown-content {
    background: #fff;
    border: 1px solid #e6e6e6;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    font-size: 1.4rem;
    min-width: 140px;
    padding: 5px 10px;
}

/******************************************************************************/

/*
 * Swiper + Slider
 */
.swiper-container {
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.swiper-slide {
    background: none;
    cursor: pointer;
    text-align: center;
}

.swiper-button-next,
.swiper-button-prev {
    background: #fff;
    border: 0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    color: rgb(161, 161, 161, 0.38);
    font-size: 4.4rem;
    height: 6.8rem;
    line-height: 6.8rem;
    margin: -3.4rem auto 0;
    opacity: 1;
    text-align: center;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    width: 6.8rem;
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
    color: #000;
    opacity: 1;
}
.swiper-button-prev {
    left: 0;
    right: auto;
}
.swiper-button-next {
    left: auto;
    right: 0;
}

.swiper-button-next .icon,
.swiper-button-prev .icon {
    line-height: 6.8rem;
}

.swiper-pagination {
    display: inline-block;
    opacity: 1;
    position: relative;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    width: auto;
}

.swiper-pagination-bullet {
    background: none;
    height: auto;
    margin: 0 0.7rem;
    min-height: 2.4rem;
    min-width: 2.4rem;
    opacity: 0.5;
    outline: none;
    position: relative;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    vertical-align: middle;
    width: auto;
}
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet-active {
    opacity: 1;
}
.swiper-pagination-bullet::before {
    background: url('../images/hexagon-0.svg') no-repeat center;
    background-size: contain;
    border: 0;
    -webkit-border-radius: none;
    -moz-border-radius: none;
    border-radius: none;
    content: '';
    height: 2.4rem;
    left: 0;
    margin: -1.2rem 0 0;
    position: absolute;
    top: 50%;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    width: 2.4rem;
}
.swiper-pagination-bullet:hover::before,
.swiper-pagination-bullet-active::before {
    background-image: url('../images/hexagon-1.svg');
}

.swiper-pagination-txt {
    color: #888;
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
    margin: 0 5rem 0 2rem;
    max-width: 16rem;
    text-align: left;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}
.swiper-pagination-bullet:hover .swiper-pagination-txt,
.swiper-pagination-bullet-active .swiper-pagination-txt {
    color: inherit;
}

.slider {
    overflow: visible;
    position: relative;
    width: 100%;
}

.slider-slides {
    position: relative;
}

.slider-thumbs {
    position: relative;
}

.slider-container {
    left: 0;
    margin: 0 auto;
    max-width: 160rem;
    padding: 0 1rem;
    position: absolute;
    right: 0;
}
.slider-container--1 {
    bottom: 0;
    padding-bottom: 4rem;
    padding-top: 4rem;
    top: 0;
}
.slider-container--2 {
    top: 50%;
}
.slider-container--3 {
    bottom: 1.5rem;
    font-size: 0.000001rem;
    text-align: center;
}

.slider .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    margin: 0;
    width: 100%;
}
.slider .swiper-slide {
    width: 100%;
}

/******************************************************************************/

/*
 * Pagination
 */
.pagination {
    margin: 3em 0;
    text-align: center;
}

.pagination-info {
    color: #000;
    font-size: 1.8rem;
    padding-bottom: 0;
}

.pagination .table {
    margin: 0 auto;
    width: auto;
}

.pagination .td:first-child {
    text-align: left;
}

.pagination .td:last-child {
    text-align: right;
}

.pagination-element {
    background: #f0f0f0;
    color: #000;
    display: inline-block;
    font-size: 1.8rem;
    line-height: 2.2rem;
    margin: 0.3rem;
    min-width: 4.6rem;
    padding: 1.2rem 0.3rem;
    position: relative;
    text-align: center;
    text-decoration: none;
}
.pagination-element--left,
.pagination-element--right {
    background-color: #f0f0f0;
    color: #000;
    padding: 1.2rem 3rem;
}
.pagination-element:hover {
    background-color: #f0f0f0;
    color: var(--tertiary);
    position: relative;
    text-decoration: none;
}
.pagination-element--active,
.pagination-element--active:hover {
    background: #f0f0f0;
    color: var(--tertiary);
    font-weight: bold;
}
.pagination-element--disabled,
.pagination-element--disabled:hover {
    background-color: #f0f0f0;
    color: #ccc;
    font-weight: normal;
    pointer-events: none;
}

@media only screen and (max-width: 800px) {
    .pagination .table {
        display: block;
        padding: 6rem 0 0;
        position: relative;
    }
    .pagination .td {
        display: block;
    }
    .pagination .td:first-child {
        left: 0;
        position: absolute;
        top: 0;
        width: 48%;
    }
    .pagination .td:last-child {
        position: absolute;
        right: 0;
        top: 0;
        width: 48%;
    }

    .pagination-element--left,
    .pagination-element--right {
        width: auto;
    }
}

/******************************************************************************/

/*
 * Box
 */
.box {
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    color: #666;
    line-height: 1.4em;
    margin: 0.9em 0;
    padding: 0.7em 1em;
    position: relative;
    text-align: left;
}

.box-close {
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
    color: #666;
    cursor: pointer;
    font-size: 12px;
    height: 16px;
    line-height: 16px;
    position: absolute;
    right: -6px;
    text-align: center;
    top: -6px;
    width: 16px;
}
.box-close:hover {
    font-weight: bold;
    height: 18px;
    line-height: 18px;
    right: -7px;
    top: -7px;
    width: 18px;
}

.box--ok,
.box--ok .box-close {
    background: #f7ffed;
    border-color: #78ca52;
    color: #4dab01;
}

.box--error,
.box--error .box-close {
    background: #fff0f0;
    border-color: #ff9494;
    color: #d92a2a;
}

.box--info,
.box--info .box-close {
    background: #e9f1ff;
    border-color: #81aeff;
    color: #2f5db3;
}

.box--alert,
.box--alert .box-close {
    background: #ffffde;
    border-color: #e1d042;
    color: #a99b27;
}

/******************************************************************************/

/*
 * Dropdown
*/
.dropdown-adv {
    background: #fff;
    border: 0;
    -webkit-box-shadow: 0 0 2rem 0 rgba(151, 151, 151, 0.25);
    -moz-box-shadow: 0 0 2rem 0 rgba(151, 151, 151, 0.25);
    box-shadow: 0 0 2rem 0 rgba(151, 151, 151, 0.25);
    color: #000;
    margin-top: 1.5rem;
    padding: 1.5rem;
    position: absolute;
    right: 0;
    text-align: left;
    top: 100%;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 20rem;
    z-index: 200;
}

.dropdown-adv::before {
    border-bottom: 2rem solid #fff;
    border-left: 2rem solid rgba(255, 255, 255, 0);
    border-right: 2rem solid rgba(255, 255, 255, 0);
    content: '';
    display: block;
    position: absolute;
    right: 4.1rem;
    top: -2rem;
    z-index: 10;
}

.dropdown-adv::after {
    border-bottom: 2.1rem solid #eee;
    border-left: 2.1rem solid rgba(255, 255, 255, 0);
    border-right: 2.1rem solid rgba(255, 255, 255, 0);
    content: '';
    display: block;
    position: absolute;
    right: 4rem;
    top: -2.1rem;
    z-index: 8;
}

.dropdown-adv.dropdown-adv--hide {
    filter: alpha(opacity=0);
    opacity: 0;
    -webkit-transform: translateY(-3rem);
    -moz-transform: translateY(-3rem);
    -ms-transform: translateY(-3rem);
    -o-transform: translateY(-3rem);
    transform: translateY(-3rem);
    visibility: hidden;
}

.dropdown-adv-right {
    left: auto;
    right: 0;
}

/******************************************************************************/

/*
 * Socials
 */
.socials {
    font-size: 0.000001px;
    font-weight: normal;
    margin: -0.2rem;
}
.socials-a {
    background: #474747;
    color: #fff;
    display: inline-block;
    font-size: 2rem;
    line-height: 1;
    height: 3rem;
    margin: 0.5rem;
    overflow: hidden;
    padding: 0.5rem 0 0;
    text-align: center;
    text-shadow: 1px 1px 1px #474747, 2px 2px 1px #474747, 3px 3px 1px #474747,
        4px 4px 1px #474747, 5px 5px 1px #474747, 6px 6px 1px #474747, 7px 7px 1px #474747,
        8px 8px 1px #474747, 8px 8px 1px #474747, 9px 9px 1px #474747,
        10px 10px 1px #474747, 11px 11px 1px #474747, 12px 12px 1px #474747,
        13px 13px 1px #474747, 14px 14px 1px #474747, 15px 15px 1px #474747,
        16px 16px 1px #474747, 17px 17px 1px #474747;
    vertical-align: middle;
    width: 3rem;
    will-change: transform;
}
.socials-a:hover {
    background: #888;
    color: #fff;
    text-decoration: none;
    text-shadow: none;
}
.socials-a--facebook:hover {
    background: #3b5998;
}
.socials-a--google:hover {
    background: #de5246;
}
.socials-a--instagram:hover {
    background: #3f729b;
}
.socials-a--linkedin:hover {
    background: #0e76a8;
}
.socials-a--pinterest:hover {
    background: #c8232c;
}
.socials-a--skype:hover {
    background: #00aff0;
}
.socials-a--twitter:hover {
    background: #00acee;
}
.socials-a--youtube:hover {
    background: #c4302b;
}

/******************************************************************************/

/*
 * Picture
*/
.picture {
    display: block;
}

/*
 * Img
 */
.img {
    height: auto;
    width: auto;
}

/*
 * Image
 */
.image {
    display: block;
    overflow: hidden;
    padding: 100% 0 0;
    position: relative;
}
.image:empty,
.image:not(:has(img, svg)) {
    background: url('../images/icons/img.svg') no-repeat center;
    background-size: 15% auto;
}

.image-img {
    bottom: 0;
    left: 0;
    margin: auto;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    right: 0;
    top: 0;
}

.picture--1,
.picture--2,
.img--1,
.img--2 {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    will-change: opacity;
}

.picture--1,
a:hover .picture--2,
.img--1,
a:hover .img--2 {
    opacity: 1;
}

.picture--2,
a:hover .picture--2 + .picture--1,
.img--2,
a:hover .img--2 + .img--1 {
    opacity: 0;
}

/******************************************************************************/

/*
 * Logo
 */
.logo {
    display: block;
    font-size: 1.4rem;
    margin: 0;
    max-width: 100%;
    padding: 0;
}

.logo-a {
    color: #000;
    display: block;
}

.logo-img {
    display: block;
    margin: auto;
    width: 100%;
}

/******************************************************************************/

/*
 * Path
*/
.path {
    color: #a1a1a1;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin: 0.5em 0;
    position: relative;
    text-align: left;
    text-transform: uppercase;
}

.path-a,
.path-txt {
    color: inherit;
    display: inline-block;
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
    padding: 0;
    position: relative;
    text-decoration: none;
    text-transform: inherit;
}

.path-a:hover {
    color: #000;
    text-decoration: none;
}

/*
.path-a::after {
    border-bottom: 1px solid #000;
    bottom: -0.1rem;
    content: '';
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    width: 0;
}
.path-a:hover::after {
    width: 4rem;
}
*/

.path br {
    display: none;
}

.ib .path {
    text-align: left;
}

/******************************************************************************/

/*
 * Datetime
*/
.datetime {
    color: #888;
    display: block;
    font-size: 1.2rem;
    font-weight: normal;
    margin: 1em 0;
    text-align: right;
}

/******************************************************************************/

/*
 * Options
*/
.options {
    clear: both;
    margin: 1rem 0;
    overflow: hidden;
}

.options-div {
    margin: 0;
    max-width: 50%;
}

.options-div:first-child:last-child {
    max-width: none;
}

.options-div.left {
    text-align: left;
}

.options-div.right {
    text-align: right;
}

.options-label {
    display: inline-block;
    margin: 0.3rem 0;
}

.left .options-label {
    margin-right: 1rem;
}

.right .options-label {
    margin-left: 1rem;
}

.options-span {
    color: #000;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: normal;
    margin: 0 1.5rem 0 0;
    text-align: left;
    text-transform: none;
    vertical-align: middle;
}

.options .input--select {
    background-position: 107% center;
    border: 0 solid rgba(0, 0, 0, 0.1);
    border-bottom-width: 1px;
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 2rem;
    min-width: 0;
    padding: 0.5rem 2.5rem 0.5rem 1.9rem;
    text-align: left;
    width: auto;

    background: none;
    padding: 0.5rem 1.9rem;
}
.options .input:hover {
    -webkit-box-shadow: 0 0.5rem 0.5rem -0.5rem rgba(0, 0, 0, 0.33);
    -moz-box-shadow: 0 0.5rem 0.5rem -0.5rem rgba(0, 0, 0, 0.33);
    box-shadow: 0 0.5rem 0.5rem -0.5rem rgba(0, 0, 0, 0.33);
}

.options option {
    text-align: left;
}

@media only screen and (max-width: 800px) {
    .options-span {
        min-width: 0;
    }
}

@media only screen and (max-width: 600px) {
    .options-div {
        max-width: none;
    }

    .options-div.left,
    .options-div.right {
        float: none;
        text-align: right;
    }

    .left .options-label,
    .right .options-label {
        margin-left: 0;
        margin-right: 0;
    }

    .left .options-label:nth-child(n + 2) {
        margin-right: 1rem;
    }

    .right .options-label:nth-child(n + 2) {
        margin-left: 1rem;
    }
}

/******************************************************************************/

/*
 * Header
 */
.header {
    background: none;
    border: 0;
    display: block;
    left: 0;
    min-height: 0;
    padding: 0;
    position: relative;
    right: 0;
    top: 0;
    z-index: 111;
}

.header-1 {
    background: #fff;
    color: #000;
    min-height: inherit;
    position: relative;
}

.header-logo {
    margin: 2.7rem auto;
    position: relative;
    width: 24.7rem;
    z-index: 3;
}

@media only screen and (max-width: 1000px) {
    .header-logo {
        margin: 1rem auto;
    }
}

/******************************************************************************/

/*
 * Nav
 */
.nav {
    background: #fff;
    border: 0;
    clear: both;
    left: 0;
    margin: 0;
    padding: 0;
    position: static;
    right: 0;
    text-align: center;
    top: 0;
    z-index: 1;
}

.nav .nav-1 {
    padding: 0;
    position: relative;
    text-align: center;
    z-index: 1111;
}

.nav-1 .nav-ul {
    display: table;
    height: 5.8rem;
    margin: 0;
    position: static;
    width: 100%;

    align-items: center;
    display: flex;
    justify-content: center;
}

.nav-1 .nav-li {
    align-items: center;
    display: table-cell;
    display: flex;
    height: 100%;
    margin: 0;
    padding: 0 3rem;
    position: relative;
    vertical-align: middle;
    z-index: 1;
}

.nav-1 .nav-a {
    color: #000;
    display: block;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding: 0;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
}
.nav-1 .nav-a:hover {
    color: var(--tertiary);
}
.nav-1 .nav-a .img {
    margin: -2rem auto auto;
    max-width: 9.9rem;
}

.nav-2 {
    margin: 3.5rem auto;
    position: relative;
    text-align: center;
    width: 41.5rem;
}
.header .nav-2 {
    display: none;
}

.nav-2 .nav-ul {
    display: block;
    position: relative;
}

.nav-2 .nav-li {
    display: block;
    margin: 1.5rem 0;
    position: relative;
}

.nav-2 .nav-li.-nodes::after {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    content: '\e90d';

    color: #000;
    cursor: pointer;
    font-size: 2.5rem;
    position: absolute;
    right: 1.1rem;
    top: 1.5rem;
    z-index: 5;
}
.nav-2 .nav-li.-nodes.-active::after {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.nav-2 .nav-a {
    color: #000;
    display: block;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 2.4rem;
    letter-spacing: 0.05em;
    padding: 1.5rem 2rem;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    z-index: 3;
}
.nav-2 .nav-a:hover,
.nav-2 .nav-a.-active {
    color: var(--tertiary);
}
.nav-2 .nav-li.-nodes .nav-a {
    margin-right: 5.5rem;
}

.nav-2 .nav-a::before {
    background: #fff;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    bottom: 0;
    -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(116, 116, 116, 0.25);
    -moz-box-shadow: 0 0.5rem 2rem 0 rgba(116, 116, 116, 0.25);
    box-shadow: 0 0.5rem 2rem 0 rgba(116, 116, 116, 0.25);
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}
.nav-2 .nav-li.-nodes .nav-a::before {
    right: -5.5rem;
}

.nav-2 .nav-a .img {
    margin: -1rem auto -0.5rem;
    max-width: 9rem;
}

.nav-2 .nav-ul2 {
    display: none;
    margin: 1rem 0;
    padding: 0;
    position: relative;
}
.nav-2 .nav-li.-active .nav-ul2 {
    display: block;
}

.nav-2 .nav-li2 {
    display: block;
    margin: 0.5rem 0;
    position: relative;
}

.nav-2 .nav-a2 {
    color: #000;
    font-size: 1.9rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-decoration: none;
}
.nav-2 .nav-a2:hover,
.nav-2 .nav-a2.-active {
    color: var(--tertiary);
}

.c-hamburger {
    display: none;
}
.c-hamburger-bg {
    display: none;
}

@media only screen and (max-width: 1000px) {
    .nofon {
        display: none;
    }

    .c-hamburger {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: #fff;
        border: none;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        border-radius: 0;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        cursor: pointer;
        display: block;
        font-size: 0;
        height: 5.4rem;
        left: 0.5rem;
        margin: 0;
        overflow: hidden;
        padding: 0;
        position: fixed;
        text-indent: -9999px;
        top: 0.6rem;
        -webkit-transition: all 0.5s ease 0.1s;
        -moz-transition: all 0.5s ease 0.1s;
        -o-transition: all 0.5s ease 0.1s;
        transition: all 0.5s ease 0.1s;
        width: 5.4rem;
        will-change: transform;
        z-index: 1010;
    }

    .c-hamburger.-active {
        background: #fff;
        position: fixed;
        -webkit-transform: translate(33.5rem, 0);
        -moz-transform: translate(33.5rem, 0);
        -ms-transform: translate(33.5rem, 0);
        -o-transform: translate(33.5rem, 0);
        transform: translate(33.5rem, 0);
    }

    .c-hamburger:focus {
        outline: none;
    }

    .c-hamburger span {
        background: #000;
        display: block;
        height: 0.4rem;
        left: 20%;
        margin: -0.2rem auto auto;
        position: absolute;
        right: 20%;
        top: 50%;
        -webkit-transition-duration: 0.5s, 0.5s;
        -moz-transition-duration: 0.5s, 0.5s;
        -o-transition-duration: 0.5s, 0.5s;
        transition-duration: 0.5s, 0.5s;
        will-change: background;
    }

    .c-hamburger.-active span {
        background: rgba(255, 255, 255, 0);
    }

    .c-hamburger span::before,
    .c-hamburger span::after {
        content: '';
        display: block;
        height: 0.4rem;
        left: 0;
        position: absolute;
        -webkit-transition-duration: 0.5s, 0.5s;
        -moz-transition-duration: 0.5s, 0.5s;
        -o-transition-duration: 0.5s, 0.5s;
        transition-duration: 0.5s, 0.5s;
        width: 100%;
        will-change: transform;
    }

    .c-hamburger span::before {
        background: #000;
        -webkit-transform: translateY(-250%);
        -moz-transform: translateY(-250%);
        -ms-transform: translateY(-250%);
        -o-transform: translateY(-250%);
        transform: translateY(-250%);
        -webkit-transition-property: top, transform;
        -moz-transition-property: top, transform;
        -o-transition-property: top, transform;
        transition-property: top, transform;
    }

    .c-hamburger span::after {
        background: #000;
        -webkit-transform: translateY(250%);
        -moz-transform: translateY(250%);
        -ms-transform: translateY(250%);
        -o-transform: translateY(250%);
        transform: translateY(250%);
        -webkit-transition-property: bottom, transform;
        -moz-transition-property: bottom, transform;
        -o-transition-property: bottom, transform;
        transition-property: bottom, transform;
    }

    .c-hamburger.-active span::before,
    .c-hamburger.-active span::after {
        background: #000;
    }

    .c-hamburger.-active span::before {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .c-hamburger.-active span::after {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .c-hamburger-bg {
        background: rgba(255, 255, 255, 0.5);
        display: block;
        height: 120%;
        left: 0;
        opacity: 0;
        position: fixed;
        right: 0;
        top: 0;
        -webkit-transition: all 0.5s ease 0s;
        -moz-transition: all 0.5s ease 0s;
        -o-transition: all 0.5s ease 0s;
        transition: all 0.5s ease 0s;
        visibility: hidden;
        will-change: opacity;
        z-index: 1000;
    }

    .c-hamburger.-active + .c-hamburger-bg {
        opacity: 1;
        visibility: visible;
    }

    .nav {
        background: #fff;
        bottom: 0;
        -webkit-box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.2);
        clear: both;
        display: block;
        float: none;
        height: 100%;
        left: 0;
        margin-left: 0;
        margin-top: 0;
        max-width: 100%;
        padding: 0;
        position: fixed;
        right: auto;
        top: 0;
        -webkit-transform: translateX(-34rem);
        -moz-transform: translateX(-34rem);
        -ms-transform: translateX(-34rem);
        -o-transform: translateX(-34rem);
        transform: translateX(-34rem);
        -webkit-transition: all 0.5s ease 0.1s;
        -moz-transition: all 0.5s ease 0.1s;
        -o-transition: all 0.5s ease 0.1s;
        transition: all 0.5s ease 0.1s;
        visibility: hidden;
        width: 34rem;
        will-change: transform;
        z-index: 1005;
    }

    .nav.-active {
        overflow-y: auto;
        -webkit-transform: translateX(0px);
        -moz-transform: translateX(0px);
        -ms-transform: translateX(0px);
        -o-transform: translateX(0px);
        transform: translateX(0px);
        visibility: visible;
    }

    .nav .nav-1 {
        left: auto;
        margin: 0;
        padding: 1rem 0;
        position: relative;
        right: auto;
        text-align: left;
        top: auto;
        z-index: auto;
    }

    .nav-1 .nav-ul {
        display: block;
        height: auto;
        margin: 1rem 0;
        overflow: auto;
        padding: 0;
        width: auto;
    }

    .nav-1 .nav-li {
        display: block;
        height: auto;
        margin: 1rem 0;
        padding: 0;
        position: relative;
    }

    .nav-1 .nav-a {
        display: block;
        margin: 0;
        padding: 0 2rem;
        position: relative;
        width: auto;
    }

    .nav-2 {
        display: none;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .header .nav-2 {
        display: block;
    }

    .nav-2 .nav-ul {
        padding: 0 1rem;
    }
}

/******************************************************************************/

/*
 * Search
 */
.search {
    border: 0;
    float: right;
    min-width: 300px;
    padding: 20px 0;
    text-align: right;
    white-space: nowrap;
}
.search legend {
    display: none;
}

/******************************************************************************/

/*
* Languages
*/
.languages {
    font-size: 0.000001rem;
    position: absolute;
    right: 0.2rem;
    top: 3.5rem;
}
.languages-a {
    display: inline-block;
    font-size: 1.4rem;
    margin: 0.8rem 0.5rem;
    position: relative;
    vertical-align: top;
    width: 4rem;
}
.languages-a:hover {
    text-decoration: none;
}
.languages-a::after {
    border: 1px solid #000;
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.languages-img {
    opacity: 1;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    will-change: opacity;
}
.languages-a:hover .languages-img {
    opacity: 0.5;
}

@media only screen and (max-width: 1000px) {
    .languages {
        top: 0;
        right: 0;
    }
    .languages-a {
        display: block;
        margin: 1rem 0.5rem;
    }
}

/******************************************************************************/

/*
 * Main
 */
.main {
    clear: both;
    display: block;
    min-height: 50rem;
    min-height: calc(100vh);
    /*overflow: hidden;*/
    padding: 0 0 5rem;
    position: relative;
    width: 100%;
}

/******************************************************************************/

/*
* Areas
*/
.areas {
    display: table;
    display: flex;
    margin: 0;
    width: 100%;
}
.areas-left {
    display: table-cell;
    padding: 0 1rem 0 0;
    vertical-align: top;
    width: 42.5rem;
}
.areas-right {
    display: table-cell;
    padding: 0 0 0 1rem;
    vertical-align: top;
    width: 100%;
}

@media only screen and (max-width: 1000px) {
    .areas,
    .areas-left,
    .areas-right {
        display: block;
        margin: 0;
        overflow: visible;
        padding: 0;
        width: auto;
    }
}

/******************************************************************************/

/*
* Section
*/
.section {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 2rem 0;
    position: static;
}

.section-h {
    font-size: 3rem;
    margin: 0.5em 0;
    overflow: hidden;
    position: relative;
    text-align: left;
    text-transform: capitalize;
}

.section-h span {
    display: inline-block;
    font-weight: normal;
    min-width: 25rem;
    padding: 0 1.5rem 0 0;
    position: relative;
}
.section-h span::after {
    border: 0;
    border-top: 1px solid #d4ded9;
    content: '';
    left: 100%;
    position: absolute;
    top: 50%;
    width: 999%;
}

.section-h a {
    color: inherit;
}
.section-h a:hover {
    color: inherit;
    text-decoration: none;
}

.path + .section-h {
    margin-top: 0.3em;
}

.ib .section-h {
    text-align: left;
}

.section .con .button {
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}

.section-more {
    clear: both;
    margin: 2.5rem 0 0;
    text-align: center;
}

.section-more .button {
}

@media only screen and (max-width: 1000px) {
}

/******************************************************************************/

/*
 * Header and Path
*/
.section--hap {
    padding: 2rem 0;
    position: relative;
    z-index: 3;
}

.section--hap + .section {
    padding-top: 0;
}

.section--hap .path {
    margin: 2em 0 -2em;
}

.section--hap .section-h {
    margin: 0.8em 0 0.5em;
}

/******************************************************************************/

/*
* Banners
*/
.section--banners {
}

/******************************************************************************/

/*
* Banner
*/
.section--banner {
    padding: 0;
    position: relative;
}

.section--banner .image {
    padding: 21.1rem 0 0;
}

.section--banner .img {
    left: -999%;
    max-width: none;
    right: -999%;
}

/******************************************************************************/

/*
* General
*/
.section--general {
    position: relative;
    text-align: left;
}

.section--general .con {
    margin: 0 auto;
}

.section--general .ib {
    text-align: left;
}

/*
.section--general > .ibs:first-child > .ib {
    bottom: 0;
    position: sticky;
    top: 0;
}
*/

/******************************************************************************/

/*
* Welcome
*/
.section--welcome {
    position: relative;
}

.section--welcome .ib {
    position: sticky;
    top: 0;
}

@media only screen and (max-width: 480px) {
    .section--welcome .ib {
        position: relative;
        top: auto;
    }
}

/******************************************************************************/

/*
* About
*/
.section--about {
    position: relative;
}

.section--about .mw {
    margin: 0 auto;
    max-width: 121rem;
}

.section--about .section-h {
    margin: 1em 0;
    text-transform: uppercase;
}

.fairs {
    margin: 1em 0 2em;
    position: relative;
}
.fairs-item {
    display: block;
}
.fairs-name {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 600;
    margin: 0 1rem 0 0;
    text-transform: uppercase;
}
.fairs-a {
    color: #466354;
    color: var(--tertiary);
    font-size: 1.8rem;
    font-weight: 600;
}
.fairs-spacer {
    color: var(--tertiary);
    font-weight: 600;
    margin: 0 0.5rem;
}

/******************************************************************************/

/*
* Certificates
*/
.certificates {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: -1rem;
}
.certificates.-ext {
    align-items: normal;
    justify-content: space-between;
}

.cartificates-item {
    position: relative;
}
.certificates.-ext .certificates-item {
    margin: 0 0 1rem;
    width: 25%;
}

.certificates-div {
    margin: 0 auto;
    max-width: 29rem;
}
.certificates.-ext .certificates-div {
    background: #fff;
    -webkit-border-radius: 14.5rem 14.5rem 0 0;
    -moz-border-radius: 14.5rem 14.5rem 0 0;
    border-radius: 14.5rem 14.5rem 0 0;
    -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.25);
    min-height: 100%;
    overflow: hidden;
}

.certificates-image {
    padding: 0;
}
.certificates.-ext .certificates-image {
    margin: 5.5rem 0 1rem;
    padding: 11rem 0 0;
}

.certificates-img {
    position: static;
}
.certificates.-ext .certificates-img {
    max-width: 96%;
    position: absolute;
}

.certificates-txt {
    display: none;
}
.certificates.-ext .certificates-txt {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
    margin: 1rem 1rem;
    text-align: center;
}

@media only screen and (max-width: 800px) {
    .certificates.-ext .certificates-item {
        width: 50%;
    }
}

/******************************************************************************/

/*
* Offer
*/
.section--offer {
    padding: 0;
    position: relative;
}

.offer {
    overflow: hidden;
    padding: 0;
    position: relative;
}

.offer::after {
    background: #d4ded9;
    bottom: 0;
    content: '';
    height: 15rem;
    left: 0;
    position: absolute;
    right: 0;
}

.offer-image {
    padding: 810px 0 0;
}

.offer-img {
    height: 100%;
    left: -999%;
    max-width: none;
    right: -999%;
}

.offer-container {
    bottom: 1rem;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 1;
}

.offer-ext {
    color: #000;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin: 0.5em 0;
    text-transform: uppercase;
}

.offer-name {
    color: #fff;
    font-size: 8rem;
    font-weight: bold;
    line-height: 1.2;
    margin: 0.1em 0;
    max-width: 65rem;
    text-shadow: 0 0.5rem 3rem #4c4e4c;
}

.offer-button {
    margin: 1rem 0;
}

.cats {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    margin: 0 -1rem;
    overflow: visible;
    padding: 2rem 0;
    width: auto;
}

.cats-item {
    background: none;
    height: auto;
    overflow: visible;
    padding: 1rem;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    width: 20%;
}

.cats-a {
    background: none;
    color: #000;
    display: block;
    margin: 0 auto;
    max-width: 22rem;
    min-height: 100%;
    opacity: 1;
    /*overflow: hidden;*/
    padding: 1rem 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    z-index: 3;

    aspect-ratio: 1;
    background: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
}
.cats-a:hover {
    color: #000;
    color: var(--tertiary);
    text-decoration: none;
}
/*
.cats-a::before {
    background: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0.5rem 3rem 0 rgba(0, 0, 0, 0.25);
    content: '';
    left: 0;
    margin: auto;
    padding: 100% 0 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: -1;
}
*/
.cats-image {
    padding: 65.909% 0 0;
}

.cats-name {
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0.5rem 0;
    min-height: 4.5rem;
    text-transform: uppercase;
}

.slider--cats {
    margin: 0 auto;
    max-width: 160rem;
}
.slider--cats .swiper-container {
    margin: 0 7rem;
    width: auto;
}

@media only screen and (max-width: 600px) {
    .offer-image {
        padding: 600px 0 0;
    }
    .offer-name {
        font-size: 6rem;
        max-width: 47rem;
    }

    .offer-ext {
        font-size: 1.5rem;
    }

    .cats-item {
        width: 33.33%;
    }
    .offer-container > .cats .cats-item:nth-child(n + 3) {
        display: none;
    }
}

/******************************************************************************/

/*
* Nodes
*/
.section--nodes {
}

.nodes {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    margin: 0 -1rem;
    overflow: visible;
    width: auto;
}

.nodes-item {
    height: auto;
    overflow: visible;
    position: relative;
    text-align: center;
}

.nodes-div {
    margin: 0 auto;
    max-width: 41.5rem;
    text-align: center;
}

.nodes-a {
    background: #fff;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    color: #000;
    display: block;
    margin: 0 auto;
    max-width: 41.5rem;
    min-height: 100%;
    opacity: 1;
    /*overflow: hidden;*/
    padding: 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    z-index: 3;
}
.nodes-a:hover {
    -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    color: #000;
    text-decoration: none;
}

.nodes-image {
    margin: 0;
    padding: 45.783% 0 0;
}

.nodes-name {
    font-family: inherit;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.2;
    margin: 0.3em 2rem;
    text-align: left;
    text-transform: none;
}

.nodes-ext {
    font-size: 1.4rem;
    line-height: 1.2;
    margin: 0.3em 2rem;
    text-align: left;
}
.nodes-name + .nodes-ext {
    margin-top: -0.3em;
}

.nodes-adds {
    position: absolute;
    right: 1rem;
    top: 1rem;
}

.nodes-adds .icon {
    color: #f1d221;
    font-size: 2.4rem;
}

@media only screen and (max-width: 800px) {
    .nodes-item {
        width: 50%;
    }
}

@media only screen and (max-width: 360px) {
    .nodes-item {
        width: 100%;
    }
}

/******************************************************************************/

/*
* Customers
*/
.customers {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 -1rem;
}

.customers-item {
    width: auto;
}

.customers-image {
    padding: 0;
}

.customers-img {
    filter: grayscale(1);
    max-height: 7rem;
    max-width: 13.4rem;
    opacity: 0.5;
    position: static;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}
.customers-a:hover .customers-img,
.customers-item:hover .customers-img {
    filter: grayscale(0);
    opacity: 1;
}

/******************************************************************************/

/*
* News
*/
.section--news {
    position: relative;
}

.news {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    margin: 0 -1rem;
    overflow: visible;
    width: auto;
}

.news-item {
    height: auto;
    overflow: visible;
    padding: 1rem;
    text-align: center;
}

.news-a {
    background: #fff;
    color: #000;
    display: block;
    margin: 0 auto;
    max-width: 41.5rem;
    min-height: 100%;
    padding: 0 0 7rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    z-index: 3;
}
.news-a:hover {
    -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.15);
    color: #000;
    text-decoration: none;
}

.news-image {
    padding: 65.06% 0 0;
}

.news-name {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0.5em 2rem;
    padding: 0;
}

.news-datetime {
    color: #000;
    font-size: 1.4rem;
    font-weight: normal;
    margin: 0.5em 2rem;
    text-align: inherit;
}

.news-txt {
    font-size: 1.4rem;
    margin: 0.5em 2rem;
}

.news-button {
    bottom: 2.5rem;
    left: 2rem;
    margin: 0 auto;
    max-width: 24rem;
    opacity: 0;
    position: absolute;
    right: 2rem;
}
.news-a:hover .news-button {
    opacity: 1;
}

@media only screen and (max-width: 800px) {
    .news-item {
        width: 50%;
    }
}

@media only screen and (max-width: 480px) {
    .news-item {
        width: 100%;
    }
}

/*
.slider--news {
    clear: both;
}

.slider--news .news {
    flex-wrap: nowrap;
    margin: 0;
}

.slider--news .swiper-container {
    margin: 0 -2rem;
    overflow: hidden;
    padding: 1rem;
    width: auto;

    margin: 0 -1rem;
}
.slider--news .swiper-container::before,
.slider--news .swiper-container::after {
    background: #fff;
    bottom: 0;
    content: '';
    position: absolute;
    width: 1.1rem;
    top: 0;
    z-index: 3;
}
.slider--news .swiper-container::before {
    left: 0;
}
.slider--news .swiper-container::after {
    right: 0;
}

.slider--news .slider-container--2 {
}

.slider--news .slider-container--3 {
    display: none;
}

@media only screen and (max-width: 1000px) {
    .slider--news .slider-container--2 {
        display: none;
    }
}
*/

/******************************************************************************/

/*
* Article
*/
.section--article {
    margin: 0 auto;
    max-width: 155rem;
    position: relative;
    text-align: center;

    max-width: 140rem;
}
.section--article > .ibs > .ib {
    /*position: sticky;
    top: 0;*/
    text-align: left;
}
.section--article .datetime {
    color: #000;
    font-size: 1.4rem;
    font-weight: normal;
    margin: 0 0 2em;
    text-align: center;
}
.section--article .section-picture {
    margin: 2em 0;

    float: left;
    margin: 0 2em 1em 0;
    max-width: 50%;
}
.section--article .con {
    margin: 0 auto;
}
.section--article .picture + .con {
    text-align: left;
}

@media only screen and (max-width: 800px) {
    .section--article > .ibs > .ib {
        position: relative;
        width: 100%;
    }
    .section--article .section-picture {
        float: none;
        margin: 2em 0;
        max-width: none;
        text-align: center;
    }
}

/******************************************************************************/

/*
* Images
*/
.images {
    margin: 2rem 0;
}

.images-item {
    text-align: center;
    vertical-align: top;
}

.images-a {
    display: block;
    max-width: 100%;
    overflow: hidden;
    padding: 0;
}
.images-a:hover {
    text-decoration: none;
}

.images-image {
    padding: 69.88% 0 0;
}

.images-img {
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    will-change: transform;
}
.images-a:hover .image-img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}

.images-name {
    display: block;
    font-size: 1.4rem;
    font-weight: normal;
    padding: 0.3rem 0;
    text-align: left;
}

@media only screen and (max-width: 800px) {
    .images-item {
        width: 50%;
    }
}

@media only screen and (max-width: 360px) {
    .images-item {
        width: 100%;
    }
}

/******************************************************************************/

/*
* Job
*/
.section--job {
    position: relative;
}

.section--job .mw {
    margin: 0 auto;
    max-width: 99.5rem;
}

.section--job .form {
    margin: 1em auto;
}

.section--job .form .p {
    color: #626262;
    font-size: 1.8rem;
    margin: 0.5em 0;
}

.section--job .input--textarea {
    height: 16rem;
}

.section--job .formActions .button {
    min-width: 27rem;
}

@media only screen and (max-width: 800px) {
    .section--job .form .ib {
        width: 100%;
    }
}

/******************************************************************************/

/*
* Ask
*/
.section--ask {
    position: relative;
}

.section--ask .mw {
    margin: 0 auto;
    max-width: 99.5rem;
}

.section--ask .form {
    margin: 1em auto;
}

.section--ask .form .p {
    color: #626262;
    font-size: 1.8rem;
    margin: 0.5em 0;
}

.section--ask .input--textarea {
    height: 16rem;
}

.section--ask .formActions .button {
    min-width: 27rem;
}

@media only screen and (max-width: 800px) {
    .section--ask .form .ib {
        width: 100%;
    }
}

/******************************************************************************/

.contactIco {
    padding-left: 40px;
    position: relative;
}
.contactIco .icon {
    font-size: 3rem;
    left: 0;
    position: absolute;
    top: 0;
}

/******************************************************************************/

.map {
    height: 450px;
    margin: 3rem 0;
    position: relative;
    width: 100%;
}
.map iframe {
    height: 100%;
    width: 100%;
}

/******************************************************************************/

.fluidTabs {
    overflow: hidden;
    padding-top: 42px;
}
.fluidTabs .fluidTabs-tabs {
    /*overflow: hidden;*/
    display: table;
    width: 100%;
    margin: 0;
    /*min-height: 43px;*/
    padding: 0;
    table-layout: fixed;
    -webkit-box-shadow: inset 0px -31px 22px -30px rgba(0, 0, 0, 0.12);
    -moz-box-shadow: inset 0px -31px 22px -30px rgba(0, 0, 0, 0.12);
    box-shadow: inset 0px -31px 22px -30px rgba(0, 0, 0, 0.12);
}
.fluidTabs .fluidTabs-tabs li {
    background: none;
    color: #282828;
    cursor: pointer;
    display: table-cell;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 1px;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    vertical-align: middle;
}

.fluidTabs .fluidTabs-tabs li.-active {
    /*color: #e7184d;*/
    /*background: #fff;*/
}
.fluidTabs .fluidTabs-tabs li::before {
    -webkit-box-shadow: 0px 0px 30px -6px rgba(0, 0, 0, 0);
    -moz-box-shadow: 0px 0px 30px -6px rgba(0, 0, 0, 0);
    box-shadow: 0px 0px 30px -6px rgba(0, 0, 0, 0);
    border-top: 4px solid #e7184d;
    background: #fff;
    content: '';
    display: block;
    height: 100%;
    left: 100%;
    z-index: 1;
    position: absolute;
    right: 0;
    top: 0px;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    -o-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}
.fluidTabs .fluidTabs-tabs li.-active::before {
    -webkit-box-shadow: 0px 0px 30px -4px rgba(0, 0, 0, 0.14);
    -moz-box-shadow: 0px 0px 30px -4px rgba(0, 0, 0, 0.14);
    box-shadow: 0px 0px 30px -4px rgba(0, 0, 0, 0.14);
}
.fluidTabs .fluidTabs-tabs li.-active ~ li::before {
    left: 0;
    right: 100%;
}
.fluidTabs .fluidTabs-tabs li.-active::before {
    z-index: 2;
    left: 0 !important;
    right: 0 !important;
}
.fluidTabs .fluidTabs-tabs li a {
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 15px 5px;
    color: #282828;
    border-top: none;
    position: relative;
    z-index: 3;
    display: block;
}
.fluidTabs .fluidTabs-tabs li a:hover {
    text-decoration: none;
}

.fluidTabs .fluidTabs-tabs li:hover a,
.fluidTabs .fluidTabs-tabs li.-active a {
    color: #e7184d;
}

.fluidTabs .fluidTabs-tab-box {
    margin-bottom: -30px;
    overflow: hidden;
    /*-ms-overflow-x: scroll;
            overflow-x: scroll;*/
    padding-bottom: 50px;
    position: relative;
    white-space: nowrap;
    width: 100%;
    z-index: 9;
}
.fluidTabs .fluidTabs-tab-div {
    background: #fff none repeat scroll 0 0;
    display: inline-block;
    max-height: 0px;
    overflow: visible;
    padding: 10px;
    -webkit-transition: all 0.8s ease 0s;
    -moz-transition: all 0.8s ease 0s;
    -o-transition: all 0.8s ease 0s;
    transition: all 0.8s ease 0s;
    vertical-align: top;
    white-space: normal;
    width: 100%;
}
.fluidTabs .fluidTabs-tab-div.-active {
    max-height: 1500px;
    filter: alpha(opacity = 100);
    opacity: 1;
}

/******************************************************************************/

/*
 * Footer
 */
.footer {
    background: #fff;
    clear: both;
    color: #000;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center;
}

.footer-1 {
    background: #fff;
    -webkit-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.1);
    padding: 2rem 0;
}

.footer-2 {
    padding: 2rem 0;
}

.footer-logo {
    margin: 3rem auto 3rem 0;
    width: 24rem;
}

.footer-2 .ibs {
    display: flex;
    flex-wrap: wrap;
    margin: 2rem -1rem;
    position: relative;
    text-align: center;
}

.footer-2 .ib {
    font-size: 1.8rem;
    padding: 1rem;
    position: relative;
    text-align: left;
    vertical-align: top;
}

.footer-h {
    font-family: inherit;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: inherit;
    margin: 1em 0;
    text-transform: uppercase;
}

.footer-div {
    line-height: inherit;
    margin: 1em 0;
}

.footer-ul {
    line-height: inherit;
    margin: 1em 0;
    padding: 0;
}

.footer-li {
    margin: 0.5rem 0;
    padding: 0;
}

.footer-a {
    color: #000;
    text-decoration: none;
}
.footer-a:hover {
    color: var(--tertiary);
    text-decoration: none;
}

.footer-3 {
    background: #d4ded9;
    color: #466354;
}

.cr {
    clear: both;
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1.6;
    margin: 0 auto;
    padding: 2rem 1rem;
    text-align: center;
    text-transform: none;
    z-index: 1;
}

.copyrights {
    float: left;
    margin: 0.3rem 4rem 0.3rem 0;
    padding: 0;
    position: relative;
}

.copyrights-span {
    display: inline-block;
}

.realization {
    float: right;
    margin: 0.3rem 0 0.3rem 1rem;
    padding: 0;
    position: relative;
}

.realization:before {
    content: '\00a0\00a0|\00a0\00a0\00a0';
    display: none;
}

.redhand {
    color: inherit;
    display: inline-block;
    opacity: 1;
    position: relative;
}

.redhand:hover {
    color: #ff001d;
    text-decoration: none;
}

.redhand:after {
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA6UlEQVR4AZXPQUcFURiH8UPEEK0iUlzO6q6ibatWcVd3dYn5AK2ib9BqaBsx24j5BhEREcN8gLZtY4hZDcO/ZzGHVzpnmsXPOYv3fXid3GHKMQocwMFjHy74vbCHO5zDoYFwjwxfaFKBawgdPB4hfGAJAfGARw/hHTk0WsUCCzR4xREKaHSLAcJDLLA0Q584RQuht38Iw18n5CbyjQpKyGACsBHzxtzYQCyS0mHHBqxL6B/ObGAba2xwghqakNtACc20DoEtvKGFZtiEgLXAFZ7QQwllCMTs4gIFniGjQmYCkzxqvGAFF/wAE9ukCYLfD9EAAAAASUVORK5CYII=')
        no-repeat center;
    background-size: contain;
    bottom: 10%;
    content: '';
    display: block;
    height: 1.6rem;
    left: 50%;
    margin-left: -0.6rem;
    opacity: 0;
    position: absolute;
    -webkit-transform: rotate(-95deg);
    -moz-transform: rotate(-95deg);
    -ms-transform: rotate(-95deg);
    -o-transform: rotate(-95deg);
    transform: rotate(-95deg);
    -webkit-transform-origin: 0.8rem 1rem;
    -moz-transform-origin: 0.8rem 1rem;
    -ms-transform-origin: 0.8rem 1rem;
    -o-transform-origin: 0.8rem 1rem;
    transform-origin: 0.8rem 1rem;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    width: 1.6rem;
}

.redhand:hover:after {
    bottom: 100%;
    margin-left: -0.8rem;
    opacity: 1;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}

@media only screen and (max-width: 1000px) {
    .footer-2 .ib {
        width: 50%;
    }
}

@media only screen and (max-width: 480px) {
    .footer-2 .ib {
        width: 100%;
    }

    .copyrights,
    .realization {
        float: none;
        margin: 0.5rem 0;
    }
}

/******************************************************************************/

/*
 * Modyfikatory
 */

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alignLeft {
    text-align: left;
}
.alignRight {
    text-align: right;
}
.alignCenter {
    text-align: center;
}

.right {
    float: right;
}
.left {
    float: left;
}

.pullLeft {
    float: left;
    margin: 0.7em 0.7em 0.7em 0;
}
.pullRight {
    float: right;
    margin: 0.7em 0 0.7em 0.7em;
}
.pullRight:first-child,
.pullLeft:first-child {
    margin-top: 0;
}

.pullCenter {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: auto;
}

.movie {
    display: block;
    padding: 56.25% 0 0;
    position: relative;
    width: 100%;
}
.movie > iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/* read more link */
.more {
    font-size: 0.9em;
    font-weight: bold;
    padding-left: 5px;
}

/* multiline indent */
.rr {
    display: inline-block;
    vertical-align: top;
}

/* invisible link */
.il {
    color: inherit;
    text-decoration: inherit;
}
.il:hover {
    color: inherit;
    text-decoration: underline;
}

.mt30 {
    margin-top: 30px;
}
.pt0 {
    padding-top: 0;
}
.mt0 {
    margin-top: 0;
}
.mb0 {
    margin-bottom: 0;
}
.mb20 {
    margin-bottom: 20px;
}
.mb60 {
    margin-bottom: 60px;
}

.block {
    display: block;
}
.hide {
    display: none;
}

.ninja {
    border: 0 !important;
    height: 1px;
    left: -1px;
    margin: 0 !important;
    opacity: 0;
    overflow: hidden;
    padding: 0 !important;
    position: absolute !important;
    text-indent: 1px;
    top: -1px;
    width: 1px;
}

.relative {
    position: relative;
}

.clearfix::before,
.clearfix::after {
    content: '';
    display: table;
}

.clearfix::after {
    clear: both;
}

.clear {
    clear: both;
}

.pointer {
    cursor: pointer;
}

/****************************************************************************/

@media only screen and (max-width: 1600px) {
    html {
        font-size: 9px;
    }
}

/****************************************************************************/

@media only screen and (max-width: 1400px) {
    html {
        font-size: 8px;
    }
}

/****************************************************************************/

@media only screen and (max-width: 800px) {
    .content,
    .leftBlock,
    .rightBlock {
        display: block;
        min-width: auto;
        padding: 0;
        width: auto;
    }
}

/******************************************************************************/

@media only screen and (max-width: 480px) {
    .span {
        float: none;
        margin-left: 0 !important;
        width: auto;
    }
    .label--invalid .tooltip-bottom {
        margin-bottom: 50px;
    }
    .media--double,
    .media2--double {
        display: block;
        margin: 0.8em 0;
        width: auto;
    }
}

@media only screen and (max-width: 600px) {
    .fill {
        margin-left: 0;
        width: 100%;
    }
    .fill + .fill {
        margin-top: 20px;
    }
}

/******************************************************************************/

/*
 * HR
 */
.hr {
    border: 0 solid #ddd;
    display: block;
    margin: 2rem 0;
    padding: 0;
    position: relative;
}
.hr::before {
    border: inherit;
    border-top-width: 1px;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 50%;
}

.hr--txt {
    overflow: hidden;
    text-align: center;
}
.hr--txt::before {
    display: none;
}
.hr-txt {
    border: inherit;
    position: relative;
}
.hr-txt::before,
.hr-txt::after {
    border: inherit;
    border-top-width: 1px;
    content: '';
    margin: 0 2rem;
    position: absolute;
    top: 50%;
    width: 555%;
}
.hr-txt::before {
    right: 100%;
}
.hr-txt::after {
    left: 100%;
}

.hr--left {
    text-align: right;
}

.hr--right {
    text-align: left;
}

/******************************************************************************/

/*
 * Border, Border Before & Border After
 */
.border,
.borderBefore::before,
.borderAfter::after {
    border: 1px solid #ddd;
}
.borderBefore::before,
.borderAfter::after {
    bottom: 0;
    content: '';
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}

/******************************************************************************/

/*
 * Progress Bar
 */
.progressBar {
    margin: 2rem 0;
    position: relative;
    text-align: center;
}
.progressBar-desc {
    color: #c4c4c4;
    margin: 0 0 1rem;
}
.progressBar-progress {
    color: #000;
}
.progressBar-stroke {
    background: #ddd;
    height: 0.4rem;
    overflow: hidden;
    position: relative;
}
.progressBar-fill {
    background: #000;
    bottom: 0;
    position: absolute;
    top: 0;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
}

/******************************************************************************/

/*
 * Popup Info
 */
.popupInfo {
    background: #fff;
    -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    color: #000;
    display: inline-block;
    font-size: 2.1rem;
    font-weight: normal;
    opacity: 0;
    padding: 2rem;
    position: fixed;
    right: 2.5rem;
    top: -25%;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    z-index: 99999;
}
.popupInfo--visible {
    opacity: 1;
    top: 2.5rem;
}

/******************************************************************************/

/*
 * User Box
 */
.userBox {
    margin: 0 auto;
    max-width: 80rem;
    padding: 1.5rem;
    position: relative;
}
.userBox-h {
    font-size: 2.2rem;
    font-weight: bold;
    margin: 1rem 0 2rem;
    padding: 0;
    text-align: center;
}
.userBox-or {
    color: #888;
    font-size: 1.8rem;
    margin: 1rem 0;
}
.userBox-txt {
    font-size: 2.2rem;
    margin: 2rem 0 1rem;
    text-align: center;
}
.userBox-ico {
    color: #888;
    display: block;
    margin: 1rem 0;
    min-height: 4rem;
    padding: 1rem 0 1rem 7rem;
}
.userBox-ico--1 {
    background: url('../images/icons/userbox-ico--1.svg') no-repeat 0 center;
    background-size: 4.9rem auto;
}
.userBox-ico--2 {
    background: url('../images/icons/userbox-ico--2.svg') no-repeat 1.3rem center;
    background-size: 3.2rem auto;
}
.userBox-ico--3 {
    background: url('../images/icons/userbox-ico--3.svg') no-repeat 1.2rem center;
    background-size: 3.3rem auto;
}
.userBox-ico--4 {
    background: url('../images/icons/userbox-ico--4.svg') no-repeat 1.4rem center;
    background-size: 3rem auto;
}
.userBox .formActions {
    margin: 1rem 0;
    padding: 0;
}
.userBox .formActions-a {
    display: inline-block;
    font-size: 1.8rem;
    margin: 1rem 0 0;
}

/******************************************************************************/

.dataprocessing {
    display: block;
    line-height: 1.2;
    text-align: left;
}
/*
.dataprocessing .dp-law { display: block; margin: 0 0 5px; opacity: 0.8; }
.dataprocessing .dp-lbl { display: inline-block; }
.dataprocessing .dp-inf { display: block; }
.dataprocessing .dp-dsc { display: block; }
*/
.mfp-bg {
    z-index: 21042;
}
.whiteBackground .mfp-content {
    min-height: 0;
}
.mfp-wrap {
    z-index: 21043;
}
/*
.mfp-content ul {
    margin: 0 0 0 25px;
    padding: 0;
}
.mfp-content ul > li {
    list-style: disc;
    margin: 0;
    padding: 1px 0;
}
.mfp-content ol {
    margin: 0 0 0 25px;
    padding: 0;
}
.mfp-content ol > li {
    list-style: decimal;
    margin: 0;
    padding: 1px 0;
}
*/

/****************************************************************************/

@keyframes autofill {
    0% {
    }
    100% {
    }
}
input:-webkit-autofill {
    animation-name: autofill;
}

/****************************************************************************/

.no-js * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

/******************************************************************************/

::-moz-selection {
    text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.2), -1px -1px 0px rgba(0, 0, 0, 0.2);
    color: #fff;
    background: #282828;
}

::selection {
    text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.2), -1px -1px 0px rgba(0, 0, 0, 0.2);
    color: #fff;
    background: #282828;
}

* {
    /*-webkit-backface-visibility:  hidden;*/
    -webkit-tap-highlight-color: transparent;
}
