@import "animation.css";

@import "flex.css";

@import "fonts.css";

@import "modal.css";

@import "variables.css";

/*!basic*/
html, body {
    height: 100%;
}

body {
    font-size: var(--font-size);
    font-family: var(--font-family);
    font-weight: var(--weight-normal);
    color: var(--color-black);
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    font-weight: var(--weight-medium);
}

h1 {
    font-size: 3rem;
    line-height: 1.125;
}

h2 {
    font-size: 2rem;
    line-height: 1.15;
}

h3 {
    font-size: 2rem;
    line-height: 1.25;
}

h4 {
    font-size: 1.125rem;
    margin-bottom: 12px;
}

h5 {
    font-size: 1rem;
    margin-bottom: 8px;
}

p {
    font-size: 1.25rem;
    line-height: 1.4167;
    margin: 0;
}

p.intro {
    font-size: 1.5rem;
    line-height: 1.5;
}

p.author {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

p.author img {
    border-radius: 50%;
    margin-right: 20px;
}

b, strong {
    font-weight: var(--weight-medium);
}

a {
    color: #000;
    text-decoration: none;
    transition: color 0.15s linear;
}

hr {
    margin: var(--spacing-m) 0;
    border: 0 none;
    border-top: 1px solid #707070;
}

blockquote {
    margin: 88px;
    border-left: solid 4px #00a7ff;
    padding: 0 44px;
}

blockquote p {
    font-size: 2.4rem;
    line-height: 1.4em;
}

blockquote cite {
    font-size: 1rem;
    line-height: 1em;
    color: #00a7ff;
    display: flex;
    align-items: center;
}

.as-quote, .as-quote-end {
    font-family: CWIPlexSans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    color: #00a7ff;
    font-size: 2.8rem;
    line-height: 0;
    display: inline-block;
    position: relative;
    top: 0;
}

.as-quote-end {
    top: .9rem;
}

.txt-light {
    color: #a0a0a5;
}

.txt-sm {
    font-size: 0.8rem;
}

.txt-large {
    font-size: 1.7rem;
}

.txt-blue {
    color: var(--color-primary);
}

p.author .txt-blue {
    font-size: 1rem;
    line-height: 1;
}

.img-radius img {
    border-radius: 11px;
}

.before-extra-small {
    margin-top: 10px;
}

.before-small {
    margin-top: 20px;
}

.before-medium {
    margin-top: 30px;
}

.before-large {
    margin-top: 50px;
}

.before-extra-large {
    margin-top: 80px;
}

.after-extra-small {
    margin-bottom: 10px;
}

.after-small {
    margin-bottom: 20px;
}

.after-medium {
    margin-bottom: 30px;
}

.after-large {
    margin-bottom: 50px;
}

.after-extra-large {
    margin-bottom: 80px;
}

ul.d-flex,
ul.pure-list,
ul.pure-list-links,
ul.pure-list-download,
ul.pure-dropdown {
    list-style: none;
    padding: 0;
}

ul.pure-list,
ul.pure-list-download {
    font-size: 1.25rem;
    margin: var(--spacing-m) auto;
    margin-bottom: 0;
}

ul.pure-list li {
    position: relative;
    font-weight: var(--weight-medium);
    line-height: 2;
}

ul.pure-list li:before {
    font-family: "iconfont" !important;
    font-size: 1.5rem;
    font-style: normal;
    line-height: 1.66667;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e6ac";
    color: var(--color-primary);
    margin-right: 8px;
    vertical-align: middle;
}

ul.inline-list {
    display: flex;
    flex-wrap: wrap;
}

ul.inline-list li:before {
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -0.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f633";
}

ul.unsigned-list {
    margin: 22px 44px;
}

ul.unsigned-list li {
    font-weight: normal;
}

ul.unsigned-list li:before {
    display: none;
}

ul.braces-list li {
    font-weight: 400;
    border-bottom: 2px solid #00a7ff;
    padding: 1rem 0;
    margin-left: 36.67px;
    position: relative;
}

ul.braces-list li:before {
    position: absolute;
    left: -36.67px;
    content: url(../images/icon/braces-asterisk-bl.svg);
    width: 1.4rem;
    height: auto;
    color: #00a7ff;
}

ul.pure-list-links li {
    background: url(../images/icon/external.png) 0 3px / 16px auto no-repeat;
    padding-left: 24px;
}

ul.pure-list-links li a:hover {
    color: var(--color-primary);
}

.dropdown-wrap {
    position: relative;
    max-width: 280px;
    z-index: 4;
}

a[data-role="dropdown"] {
    display: block;
    text-align: left;
    position: relative;
}

a[data-role="dropdown"] .iconfont {
    position: absolute;
    right: 6px;
    top: 18px;
    transition: all 0.2s linear;
}

a[data-role="dropdown"]:hover .iconfont {
    transform: rotate(180deg);
}

.frame-box_green {
    border: 2px solid var(--color-success);
    border-radius: 11px;
    padding: 22px;
}

.frame-box_green .icon {
    margin-bottom: 22px;
    color: var(--color-success);
}

ul.pure-dropdown {
    margin: 0;
    border-radius: 8px;
    position: absolute;
    left: 0;
    right: 0;
    top: 64px;
    background-color: var(--color-white);
    transition: all 0.3s linear;
    height: 0;
    overflow: hidden;
    z-index: 1;
}

a[data-role="dropdown"].open + ul.pure-dropdown {
    height: auto;
    padding-top: 10px;
    padding-bottom: 15px;
    border: 1px solid #01a7ff;
}

.txt-tips {
    margin: 0 auto;
    display: table;
    padding: 0.4rem 1rem 0.5rem 0.9rem;
    background: #3aaa35;
    color: #fff;
    font-size: 1.5rem;
    border-radius: 6px;
}

ul.pure-dropdown a {
    display: block;
    padding: 8px 5px 8px 28px;
    color: #01a7ff;
}

ul.pure-dropdown a:hover {
    background-color: var(--color-info);
    font-weight: 600;
}

ul.list-half {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto
}

ul.list-half li {
    width: 40%;
}

ul.list-half li a:hover {
    color: var(--color-primary);
}

ul.pure-list-download {
    border-top: 2px solid #b1b3b7;
}

ul.pure-list-download li {
    padding: 20px 0;
    border-bottom: 2px solid #b1b3b7;
    line-height: 2;
    background: transparent url(../images/icon/download.png) 100% 20px no-repeat;
    background-size: 40px auto;
}

ul.pure-list-download li > a {
    padding-right: 53px;
}

ul.pure-list-download li strong {
    font-weight: 600;
}

ul.pure-list-download li span {
    display: block;
}

.pure-form .pure-control-group label {
    display: block;
    font-size: 0.875rem;
    line-height: 2.143;
    /*! 30/14 */
    margin: 0 0 8px;
    font-weight: 500;
}

.pure-form label .mandatory {
    color: var(--color-success);
    vertical-align: middle;
    display: inline-block;
    margin-left: 2px;
}

.pure-form legend {
    padding-left: calc(var(--bs-gutter-x) * .5);
    padding-right: calc(var(--bs-gutter-x) * .5);
}

.pure-form select,
.pure-form input[type="text"],
.pure-form input[type="email"],
.pure-form input[type="number"],
.pure-form input[type="password"],
.pure-form textarea {
    width: 100%;
    height: auto;
    box-sizing: border-box;
    font-size: 1rem;
    line-height: 1.875rem;
    padding: 14px 16px;
    border: 1px solid var(--color-form-border);
    box-shadow: none;
    border-radius: 6px;
    font-weight: 500;
}

.pure-form select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background: transparent url(../images/icon/select-down.png) 99% 50% no-repeat;
}

.pure-form input[type=color]:focus, .pure-form input[type=date]:focus, .pure-form input[type=datetime-local]:focus, .pure-form input[type=datetime]:focus, .pure-form input[type=email]:focus, .pure-form input[type=month]:focus, .pure-form input[type=number]:focus, .pure-form input[type=password]:focus, .pure-form input[type=search]:focus, .pure-form input[type=tel]:focus, .pure-form input[type=text]:focus, .pure-form input[type=time]:focus, .pure-form input[type=url]:focus, .pure-form input[type=week]:focus, .pure-form select:focus, .pure-form textarea:focus {
    box-shadow: 0 0 2px 0 rgba(1, 167, 255, 0.5);
}

.pure-form .nice-select {
    float: none;
    width: 100%;
    height: auto;
    font-size: 1rem;
    line-height: 1.875rem;
    padding: 14px 16px;
    border: 1px solid var(--color-form-border);
    box-shadow: none;
    border-radius: 6px;
}

.pure-form .nice-select:after {
    border: 0 none;
    background: transparent url(../images/icon/select-down.png) 99% 50% no-repeat;
    width: 21px;
    height: 21px;
    transform: none;
    top: 22px;
    right: 15px;
}

.pure-form .nice-select.open:after {
    transform: none;
    background-image: url(../images/icon/select-up.png);
}

.pure-form .nice-select .nice-select-dropdown {
    margin-top: 8px;
    border-radius: 6px;
    border: 1px solid var(--color-primary);
    box-shadow: 0 0 2px 0 rgba(1, 167, 255, 0.5);
    width: 100%;
}

.pure-form .nice-select:active, .pure-form .nice-select.open, .pure-form .nice-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 2px 0 rgba(1, 167, 255, 0.5);
}

.pure-form .nice-select .list {
    margin: 8px;
    max-height: 340px;
}

.pure-form .nice-select .option {
    height: auto;
    padding: 12px 8px;
    line-height: 1;
}

.pure-form .nice-select .option:hover {
    border-radius: 6px;
    background-color: rgba(1, 167, 255, 0.05);
    color: var(--color-primary);
}

.pure-form .pure-control-group .radio label,
.pure-form .pure-control-group .checkbox label {
    font-size: 1rem;
}

.radio label, .checkbox label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
}

.radio input[type="radio"], .checkbox input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
    left: 0;
    bottom: 0;
}

.radio input[type="radio"] + span,
.checkbox input[type="checkbox"] + span {
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    left: 0;
    top: 8px;
}

.radio input[type="radio"] + span {
    background: transparent url(../images/icon/radio.png) 0 0 no-repeat;
}

.checkbox input[type="checkbox"] + span {
    background: transparent url(../images/icon/checkbox.png) 0 0 no-repeat;
}

.radio input[type="radio"]:checked + span {
    background: transparent url(../images/icon/radio-check.png) 0 0 no-repeat;
}

.checkbox input[type="checkbox"]:checked + span {
    background: transparent url(../images/icon/checkbox-check.png) 0 0 no-repeat;
}

/*! modal */
.modal .pure-control-group {
    min-width: 320px;
}

.modal .pure-control-group input[type="text"],
.modal .pure-control-group input[type="password"],
.modal .pure-control-group input[type="email"] {
    width: 100%;
}

.modal .pure-button {
    padding: 16px 40px;
}

#modal-search .modal__overlay {
    background-color: rgba(255, 255, 255, .6);
}

#modal-search .modal__container {
    background-color: transparent;
    max-width: 640px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    top: 5%;
    overflow-y: visible;
}

#modal-search .pure-form {
    position: relative;
}

#modal-search .pure-form input[type="text"] {
    font-size: 2.125rem;
}

.search-autocomplete-results {
    padding-top: 10px;
    width: 100%;
    position: relative;
}

.tx-indexedsearch-autocomplete, .tx-kesearch-autocomplete {
    width: 100%;
    background-color: #fff;
}

.tx-indexedsearch-autocomplete ul, .tx-kesearch-autocomplete ul {
    border: 1px solid var(--color-primary);
    box-shadow: 0 0 2px 0 rgba(1, 167, 255, 0.5);
    width: 100%;
    border-radius: 6px;
}

.tx-indexedsearch-autocomplete li, .tx-kesearch-autocomplete li {
    padding: 14px 16px;
    font-size: 1.5rem;
}

.tx-indexedsearch-autocomplete li:hover, .tx-kesearch-autocomplete li:hover {
    background-color: rgba(1, 167, 255, 0.05);
    color: var(--color-primary);
}

#main .tx-indexedsearch-autocomplete li, #main .tx-kesearch-autocomplete li {
    font-size: 1.125rem;
    padding: 10px 12px;
}

/*! search */
#tx_indexedsearch {
    margin-bottom: 20px;
}

#tx_indexedsearch .d-flex input[type="text"], #form_kesearch_pi1 .d-flex input[type="text"] {
    border-radius: 6px;
    font-size: 1.25rem;
}

#tx_indexedsearch .d-flex input[type="submit"], #form_kesearch_pi1 .d-flex input[type="submit"] {
    margin-left: 20px;
}

.tx-indexedsearch-info-sword,
.tx-indexedsearch-icon,
.tx-indexedsearch-result-number,
.tx-indexedsearch-percent,
.tx-indexedsearch-info {
    display: none;
}

.tx-indexedsearch-res + .tx-indexedsearch-res {
    margin-top: 20px;
}

.tx-indexedsearch-res h3 {
    margin-bottom: 8px;
}

.tx-indexedsearch-title a, .result-title a {
    text-decoration: underline;
    color: var(--color-primary);
    font-size: 1.5rem;
}

.tx-indexedsearch-title a:hover, .result-title a:hover {
    text-decoration: none;
}

.tx-indexedsearch-description, .result-teaser {
    color: var(--color-border);
    font-size: 1.25rem;
}

.tx-indexedsearch-redMarkup {
    color: var(--color-danger);
    font-style: italic;
}

.tx-indexedsearch-browsebox {
    margin-bottom: 20px;
}

.tx-indexedsearch-browsebox p, .kesearch_num_results p {
    font-size: 1.25rem;
}

/*! call-service */
#call-service {
    position: fixed;
    right: 40px;
    bottom: 118px;
    z-index: 9;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background-color: var(--color-success);
    box-shadow: -3px 3px 30px 0 rgba(0, 0, 0, 0.1);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white);
    transition: background-color 0.2s linear;
}

#call-service:hover {
    background-color: #399035;
}

#call-service .iconfont {
    font-size: 28px;
}

#call-service span {
    display: block;
    font-size: 0.75rem;
    line-height: 1;
    margin-top: 2px;
    text-transform: uppercase;
}

/*! common */
.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.pure-g {
    --bs-gutter-x: var(--spacing-m);
    --bs-gutter-y: 0;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.pure-g [class*="pure-u"] {
    font-family: var(--font-family);
}

.pure-g > [class*="pure-u"] {
    box-sizing: border-box;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
}

.pure-grids .pure-u-1 {
    margin-bottom: 60px;
}

.pure-grids, .pure-u-1 + .pure-u-md-10-24, .pure-u-1 + .pure-u-md-10-24 + .pure-u-md-10-24 {
    margin-top: 60px;
}

.pure-background {
    background: transparent none 100% 100% no-repeat;
}

.pure-linear {
    position: relative;
}

.pure-linear:after, .wrap.scrolled:after, .content.scrolled:after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 1) 100%);
    background: -moz-linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 1) 100%);
}

#main > .wrapper:nth-child(2n) .wrap.scrolled:after, #main > .wrapper:nth-child(2n) .content.scrolled:after {
    background: -webkit-linear-gradient(-90deg, rgba(243, 246, 255, 0) 0, rgba(243, 246, 255, 1) 80%, rgba(243, 246, 255, 1) 100%);
    background: -moz-linear-gradient(180deg, rgba(243, 246, 255, 0) 0, rgba(243, 246, 255, 1) 80%, rgba(243, 246, 255, 1) 100%);
    background: linear-gradient(180deg, rgba(243, 246, 255, 0) 0, rgba(243, 246, 255, 1) 80%, rgba(243, 246, 255, 1) 100%);
}

/*! pure-table */
.pure-table {
    width: 100% !important;
    height: auto !important;
    border: 0 none;
}

.pure-table td {
    vertical-align: top;
}

.pure-table thead {
    background-color: transparent;
}

.pure-table th {
    font-weight: var(--weight-semiBold);
}

.pure-table td, .pure-table th {
    font-size: 1.25rem;
    padding-left: 0;
    padding-right: 0;
}

.pure-table td {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.pure-table th + th,
.pure-table td + td {
    padding-left: 18px;
}

/*! pure-button */
.pure-button, .layui-btn {
    padding: 17px 28px;
    border-radius: 30px;
    font-size: 1.25rem;
    font-weight: var(--weight-medium);
    line-height: 1.2;
    transition: all 0.2s linear;
}

.layui-btn {
    height: auto !important;
}

.pure-button > svg {
    vertical-align: middle;
    margin-right: 10px;
}

.pure-button > svg#svg-email {
    position: relative;
    top: -2px;
}

.btn-primary {
    color: #fff;
    background-color: var(--color-primary);
    border: 2px solid var(--color-primary);
}

.btn-primary > svg path {
    fill: var(--color-white);
    transition: all 0.2s linear;
}

.pure-button.btn-primary:hover {
    background-color: #fff;
    color: var(--color-primary);
    font-weight: 600;
}

.pure-button.btn-primary:hover > svg path {
    fill: var(--color-primary);
}

.btn-secondary {
    color: #01a7ff;
    background-color: #fff;
    border: 2px solid #01a7ff;
}

.pure-button.btn-secondary:hover {
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 600;
}

.btn-disabled {
    color: #fff;
    background-color: #ddd;
    border-color: #ddd;
}

.btn-disabled:hover {
    background-color: #01a7ff;
}

.pure-button .iconfont {
    font-size: 1.25rem;
    margin-right: 10px;
}

.br8 {
    border-radius: 8px;
}

p + p {
    margin-top: 1.75rem;
}

p + .pure-button {
    margin-top: 74px;
}

.pure-actions {
    padding-top: 56px;
}

.filter-button-group {
    margin-bottom: 30px;
    position: relative;
}

.grid.flex-items {
    position: relative;
    margin-left: -10px;
    margin-right: -10px;
}

.grid .grid-item {
    display: flex;
    width: 25%;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.grid .grid-item a {
    display: block;
    width: 100%;
    height: 100%;
    transition: all 0.3s linear;
    border-radius: 15px;
    box-shadow: -3px 3px 30px 0 rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

.grid .grid-item a:hover {
    border-color: var(--color-primary);
}

.grid .grid-item a > div {
    width: 100%;
    height: 7.25rem;
    background-repeat: no-repeat;
    background-position: center center;
    transform: scale(0.95);
    transition: all 0.3s linear;
}

.grid .grid-item a:hover > div {
    transform: scale(1.05);
}

.bg-circle {
    width: 110px;
    height: 110px;
    background: -webkit-linear-gradient(-90deg, rgba(255, 255, 255, 0) 0, #01a7ff 100%);
    background: -moz-linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #01a7ff 100%);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, #01a7ff 100%);
    top: -18px;
    border-radius: 50%;
    z-index: 0;
    position: absolute;
    transform: rotate(45deg);
    left: 50%;
    margin-left: 16px;
}

/*! box */
.box {
    padding: 30px 25px 35px 26px;
    border-radius: 8px;
    background-color: #fff;
    box-sizing: border-box;
    position: relative;
}

.box-image, .swiper-partners .swiper-slide > a {
    padding: 54px 31px;
    border-radius: 15px;
    box-shadow: -3px 3px 30px 0 rgba(0, 0, 0, 0.1);
}

.swiper-partners .swiper-slide > a {
    display: block;
    text-align: center;
}

.owl-carousel-loop {
    margin-bottom: 100px;
}

.owl-carousel-loop .card {
    position: relative;
    font-size: 2.2rem;
    border-radius: 6px;
    border: 2px solid var(--color-success);
    color: var(--color-black);
    text-align: center;
    padding: 44px;
    max-width: 660px;
    margin: 0 auto;
}

.owl-carousel-loop .card > a {
    text-indent: -9999px;
    font-size: 0;
}

.owl-carousel-loop .center .card {
    background-color: var(--color-success);
    color: var(--color-white);
}

.owl-carousel-loop .text-center {
    margin-bottom: 40px;
    line-height: 1;
}

.owl-carousel-loop .text-center .bi {
    font-size: 3rem;
    display: block;
    color: var(--color-success);
}

.owl-carousel-loop .center .card .bi {
    color: var(--color-white);
}

.owl-carousel-loop .card h3 {
    font-size: 2.2rem;
    text-align: center;
}

.owl-carousel-loop p:not(.text-center) {
    font-size: 1.4rem;
}

.owl-carousel-loop .center:hover p:not(.text-center):not(.no-lnk) {
    text-decoration: underline;
}

.owl-carousel-loop div {
    margin-top: 22px;
    font-size: 1.8rem;
    color: var(--color-success);
}

.owl-carousel-loop .center div {
    color: var(--color-white);
}

.owl-carousel-loop .owl-nav {
    display: flex;
    align-items: center;
    justify-content: center;
}

.owl-carousel-loop .owl-nav button {
    border-radius: 6px;
    border: 2px solid var(--color-success) !important;
    margin: 0 12px;
}

.owl-carousel-loop .owl-nav .bi {
    display: flex;
    align-items: center;
    color: var(--color-success);
    padding: 10px;
    font-size: 2.4rem;
    line-height: 1;
    transition: all 0.2s ease-in-out;
}

.owl-carousel-loop .owl-nav button:hover .bi {
    background-color: var(--color-success);
    color: var(--color-white);
}

.box .date {
    font-weight: var(--weight-semiBold);
    color: var(--color-primary);
}

.box .date + p {
    margin-top: 10px;
    font-size: 1.5rem;
    line-height: 1.16667;
    font-weight: var(--weight-medium);
}

.box[data-match-height="box-one"] {
    position: relative;
    padding-bottom: 66.66%;
}

.box[data-match-height="box-one"] .abs {
    position: absolute;
    left: 26px;
    right: 25px;
    bottom: 35px;
}

.box > a:not(.pure-button) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.tx-contact, .dropdown-wrap {
    max-width: 277px;
    margin: 0 auto;
}

.dropdown-wrap {
    margin-bottom: 40px;
}

.pure-contacts .pure-u-1 {
    margin-bottom: 30px;
}

.tx-contact .box-image .d-flex {
    flex-direction: column;
    justify-content: center;
}

.box-image .d-flex {
    align-items: center;
}

.box-image .d-flex img {
    flex: 0 0 50%;
    border-radius: 50%;
}

.box-image .d-flex p {
    flex-grow: 1;
    padding-left: 15px;
    margin-top: 0 !important;
}

.box-image .d-flex + a {
    display: block;
    margin-top: 15px;
}

.tx-contact p {
    line-height: 1.5;
}

.tx-contact div + p, img + p {
    margin: 20px 0 0;
}

.tx-contact .contact img {
    margin-bottom: 20px;
    width: 100%;
    height: auto;
}

.pure-u-md-1-4 .box-image {
    padding: 20px 25px;
}

.pure-u-md-1-4 .tx-contact .bg-circle {
    display: none;
}

.pure-u-md-1-4 .tx-contact img {
    max-width: 150px !important;
}

.pure-u-md-10-24 .box {
    padding: 36px;
}

.pure-u-md-10-24 .box .d-flex img {
    max-width: 89px !important;
    border-radius: 50%;
    height: auto;
    margin-right: 14px;
}

.pure-u-md-10-24 .box .d-flex p {
    color: var(--color-primary);
}

.pure-u-md-10-24 .box .d-flex p strong {
    color: var(--color-black);
}

.pure-u-md-10-24 .box .d-flex + a {
    position: relative;
    margin-left: 96px;
}

.abs h4 {
    color: #717171;
    margin-bottom: 8px;
}

.abs p {
    line-height: 1.16667;
}

[data-more="1"] {
    position: relative;
    overflow: hidden;
}

[data-more="1"].scrolled {
    padding-bottom: 120px;
}

.wrap.scrolled > .isMore, .content.scrolled > .isMore {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
}

/*! card */
.card {
    position: relative;
}

.card > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.card img {
    display: block;
    margin: 0 0 20px;
    border-radius: 8px;
}

.card h4 {
    color: #6a6a6a;
    margin-bottom: 8px;
    font-weight: var(--weight-normal);
}

.card h3 {
    font-size: 1.5rem;
    line-height: 1.16667;
    margin-bottom: 14px;
}

.card[class*="i-"] {
    padding-left: 45px;
}

.card.i-pdf {
    background: transparent url(../svg/blue-pdf.svg) 0 0 no-repeat;
}

.card.i-zip {
    background: transparent url(../svg/blue-zip.svg) 0 0 no-repeat;
}

.card.i-doc,
.card.i-word {
    background: transparent url(../svg/blue-doc.svg) 0 0 no-repeat;
}

.card.i-link {
    background: transparent url(../images/icon/link.png) 0 0 no-repeat;
}

.card.i-external {
    background: transparent url(../images/icon/external.png) 0 6px no-repeat;
}

.news-download .card p {
    color: #373737;
}

.card .ttu {
    text-transform: uppercase;
}

.card.i-pdf p strong {
    line-height: 1.3;
}

.news-item .content a .card[class*="i-"] {
    display: inline-block;
    width: 32px;
    height: 32px;
    padding-left: 15px;
}

.pure-links .card h4,
.pure-links .card h4 a {
    font-size: 1.25rem;
    font-weight: var(--weight-medium);
    line-height: 1.3;
    margin-bottom: 8px;
}

.pure-links .card h4 a:hover,
.card p a:not(.pure-button):hover {
    color: var(--color-primary);
}

/*! pure-images */
.pure-images {
    flex-wrap: wrap;
    --bs-gutter-x: 32px;
    --bs-gutter-y: 0;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.pure-images .item {
    flex: 0 0 auto;
    margin-top: var(--bs-gutter-y);
    margin-bottom: var(--bs-gutter-x);
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.pure-images .item a {
    display: block;
    padding: 20px 10px;
    border-radius: 15px;
    box-shadow: -3px 3px 30px 0 rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

.pure-images .item img {
    width: 100%;
    height: auto;
}

.pure-u-md-24-24 .pure-images .item a {
    padding: 35px 15px;
}

.tx-plugin .pure-images {
    margin-bottom: -32px;
}

/*! wrap */
.breadcrumb > ul,
.wrapper > .wrap {
    max-width: var(--width-max);
    margin: 0 auto;
    position: relative;
}

body.sub .breadcrumb > ul,
body.sub #header .wrap,
#main > .wrapper > .wrap,
#content > .wrapper:not(#top-nav) > .wrap {
    max-width: var(--width-content);
}

#main > .wrapper-fluid,
#main > .wrapper-box_grid {
    padding-left: 88px;
    padding-right: 88px;
}

#main > .wrapper-full > .wrap,
#main > .wrapper-fluid > .wrap,
#main > .wrapper-box_grid > .wrap {
    max-width: none;
}

#main > .wrapper:not(.wrapper-box_grid) > .wrap > .wrapper + .wrapper {
    margin-top: var(--spacing-xxl-3);
}

#top-nav + .breadcrumb > ul {
    max-width: var(--width-max);
}

#header > .wrapper {
    max-width: var(--width-body);
    margin: 0 auto;
    position: relative;
}

#header > .wrapper-text {
    padding-bottom: 40px;
}

#header .pure-content,
#main > .wrapper {
    padding-top: 50px;
    padding-bottom: 50px;
}

#header .pure-content {
    width: 48.61%;
    z-index: 1;
    position: relative;
}

body.sub #header .pure-content {
    width: 57.45%;
    padding-top: 120px;
    padding-bottom: 103px;
}

#header .image {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    top: 0;
    text-align: right;
}

#header .image img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: auto;
    display: block;
    vertical-align: middle;
    /*max-width: none !important;*/
}

#header .ref-img img {
    width: 100%;
    height: auto;
}

.wrapper > .wrap > .pure-g + .pure-g {
    margin-top: 80px;
}

/*! mobile nav */
#mobile-nav {
    display: none;
}

/*! top-nav */
#top-nav {
    padding-top: 37px;
    padding-bottom: 37px;
    position: relative;
    z-index: 11;
    transition: all 0.15s ease;
}

#top-nav .logo, .logo-space {
    width: 150px;
    height: 36px;
}

#top-nav .wrap > .text-right,
#top-nav .wrap > .search-wrap {
    display: none;
}

.sticky {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

#top-nav.sticky.is-sticky:not(.open),
#mobile-nav.sticky.is-sticky {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 101;
    width: 100%;
    background-color: #fff;
    box-shadow: -3px 3px 10px rgba(0, 0, 0, .1);
    padding-top: 17px;
    padding-bottom: 17px;
}

.logo img {
    vertical-align: middle;
}

.logo svg .bg {
    fill: #3aaa35;
}

.logo:hover svg .bg {
    fill: #399035;
}

.logo-space {
    margin-right: var(--spacing-xl);
}

#top-nav .pure-menu {
    width: auto;
}

#top-nav .pure-menu + .pure-menu ul {
    margin-left: var(--spacing-m);
}

/*! main-nav */
#main-nav a {
    text-transform: uppercase;
}

#main-nav .pure-menu-item {
    margin-left: var(--spacing-xl);
    position: relative;
}

#main-nav .pure-menu-item > a {
    font-weight: var(--weight-semiBold);
    position: relative;
    padding-right: 28px;
}

#main-nav .pure-menu-item.active > a, #main-nav a:hover {
    color: var(--color-success);
}

#main-nav .children > a:after {
    position: absolute;
    font-family: "iconfont" !important;
    font-size: 20px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e8ea";
    right: 0;
    top: 0;
}

#main-nav ul {
    display: none;
}

#mega-menu ul {
    list-style: none;
    padding: 0;
    width: 17rem;
    /*!272px;*/
}

/*! mega-menu */
#mega-menu {
    padding-top: 2rem;
    padding-bottom: 2rem;
    box-shadow: 0 12px 12px rgba(0, 0, 0, 0.1);
    display: none;
    top: 93px;
    /*! 37+56 */
    position: absolute;
    left: 0;
    right: 0;
    background-color: #fff;
}

#top-nav.sticky.is-sticky #mega-menu {
    top: 70px;
}

#mega-menu.active {
    display: block;
    padding-top: 17px;
}

#mega-menu ul li {
    padding-right: 30px;
}

#mega-menu ul a {
    display: block;
    position: relative;
    font-size: 1rem;
    font-weight: var(--weight-medium);
    text-transform: none;
    padding: 18px 0;
    border-bottom: 1px solid var(--color-black);
}

#mega-menu .mega-nav {
    display: none;
    transition: all 0.2s ease-in-out;
}

#mega-menu.active .mega-nav.active {
    display: block;
}

#mega-menu ul a:hover, #mega-menu .active > a {
    color: var(--color-success);
    border-bottom-color: var(--color-success);
}

#mega-menu .pure-menu-item.active > a {
    font-weight: 600;
}

#mega-menu .children > a:after {
    font-family: "iconfont" !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e604";
    position: absolute;
    right: 0;
    top: 18px;
}

#mega-menu ul ul {
    position: absolute;
    left: 100%;
    top: 0;
    display: none;
}

#mega-menu .mega-nav .pure-menu-item:hover ul,
#mega-menu .mega-nav .active ul {
    display: block;
}

#mega-menu .mega-nav > ul > .pure-menu-item {
    position: initial;
}

/*! side-nav */
#side-nav li + li,
#control-nav li + li {
    margin-left: 32px;
}

#side-nav a {
    line-height: 27px;
}

#side-nav .last {
    display: none;
}

#side-nav a:hover {
    color: var(--color-primary);
}

/*! control-nav */
#side-nav,
#control-nav {
    padding-top: 5px;
    padding-bottom: 4px;
}

#control-nav a:hover svg g,
#control-nav a:hover svg path {
    fill: var(--color-primary);
}

/*! header */
#header {
    background: transparent none 100% 0 no-repeat;
    overflow: hidden;
}

#header h1 {
    margin-bottom: 3.125rem;
}

body.sub #header h1 {
    margin-bottom: 38px;
}

/*! breadcrumb */
.breadcrumb {
    padding-top: 30px;
    padding-bottom: 30px;
}

.breadcrumb ul {
    flex-wrap: wrap;
    align-items: start;
    justify-content: start;
}

.breadcrumb li {
    padding-right: 30px;
    position: relative;
}

.breadcrumb li:after {
    font-family: "iconfont" !important;
    font-size: 12px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e604";
    color: #939393;
    position: absolute;
    right: 10px;
    top: 3px;
}

.breadcrumb li:last-child {
    padding-right: 0;
}

.breadcrumb li:last-child:after {
    display: none;
}

.breadcrumb li,
.breadcrumb a {
    color: #939393;
}

.breadcrumb li a:hover,
.breadcrumb li.active {
    font-weight: 500;
    color: var(--color-primary);
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

/*! powermail */
.pure-form fieldset.powermail_fieldset {
    --bs-gutter-x: var(--spacing-m);
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.powermail_fieldset > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
    box-sizing: border-box;
    margin-bottom: var(--spacing-s);
}

.powermail_fieldset > .col2-1 {
    flex: 0 0 auto;
    width: 50%;
}

.powermail_fieldset > .col2-1.powermail_fieldwrap_type_captcha {
    width: 100%;
}

.powermail_fieldset > .col3-1 {
    flex: 0 0 auto;
    width: 33.33%;
}

.powermail-errors-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-weight: 500;
    color: var(--color-danger);
    font-size: 0.875rem;
    line-height: 2.143;
}

.powermail_fieldwrap_type_captcha .powermail_field {
    display: flex;
    flex-wrap: wrap;
}

.powermail_fieldwrap_type_captcha .powermail_field > * {
    flex: 0 0 auto;
}

.pure-form .powermail_fieldwrap_type_captcha .powermail_field .powermail_captcha {
    width: calc(100% - 229px);
    max-width: 500px;
    border-radius: 6px 0 0 6px;
    border-right: 0;
    flex-grow: 1;
}

.powermail_fieldwrap_type_captcha .powermail_field img {
    flex-shrink: 1;
    border-radius: 0 6px 6px 0;
    width: auto;
    height: 60px;
}

.powermail_fieldwrap_type_captcha .powermail_field_error_container {
    flex-shrink: 0;
    width: 100%;
}

.powermail_fieldwrap_type_submit {
    text-align: right;
}

/*! main */
#main > .wrapper:nth-child(even), .wrapper-bg-light-blue {
    background-color: var(--color-info);
}

#main .pure-u-1 img {
    width: 100%;
    height: auto;
}

#main .pure-u-1 .powermail_fieldwrap_type_captcha .powermail_field img {
    width: auto;
}

#main .pure-menu-list {
    font-size: 1.25rem;
}

#main .pure-menu-list li {
    padding: 0;
    border-bottom: 1px solid var(--color-border);
}

.content ul, .content ol {
    font-size: 1.25rem;
    line-height: 1.5;
}

.content ul:not(.pure-list) {
    list-style: none;
    padding-left: 15px;
}

.content ul i[class*="bi"] {
    margin-right: 6px;
}

.content ol {
    padding-left: 24px;
}

.content ul:not(.pure-list) > li {
    list-style-image: url(../images/icon/li.png);
    margin-right: 5px;
}

.content ul.arrow-list {
    padding-left: 20px;
}

.content ul.arrow-list > li::marker {
    content: '→ ';
}

.content a:not(.pure-button) {
    color: #01a7ff;
    font-weight: 500;
    position: relative;
    transition: all 0.3s linear;
}

.content a[rel="noreferrer"]:not(.pure-button) {
    padding-right: 24px;
    background: transparent url(../svg/external-blue.svg) 100% 50% / 18px auto no-repeat;
}

.content a[rel="noreferrer"]:not(.pure-button):visited {
    background-image: url(../svg/external-green.svg) !important;
}

.content a:not(.pure-button):hover {
    text-decoration: underline;
}

.content a:not(.pure-button):visited {
    color: var(--color-success);
}
.content a.btn-tag:hover {
    color:#fff;
    text-decoration: none;
}

.content {
    /*margin-bottom: var(--spacing-m);*/
}

/*! typo3 list */
.nav-list {
    margin: 0 20% 0 10%;
}

.nav-list a {
    display: block;
    padding: 16px 0;
    position: relative;
    font-weight: var(--weight-medium);
}

.nav-list a:after {
    font-family: "iconfont" !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e604";
    position: absolute;
    right: 8px;
    top: 18px;
}

.nav-list a:hover, .nav-list a:hover:after {
    color: var(--color-primary);
}

.nav-list a:visited, .nav-list a:visited:after {
    color: var(--color-black);
}

.wrap .pure-u-md-1-4 .nav-list {
    margin: 0 0 20px;
}

.caption {
    margin-bottom: 1.25rem;
}

.c-img .caption {
    color: #939393;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-top: 0.4275rem;
    margin-bottom: 1.25rem;
}

.c-img img {
    vertical-align: middle;
}

#header .ref-img .caption {
    margin-bottom: 0;
}

/*! swiper */
.swiper-clients .swiper-slide {
    padding-bottom: 100px;
}

.swiper-partners .swiper-slide {
    padding-bottom: 32px;
    padding-top: 12px;
}

.swiper-partner-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
    bottom: 0 !important;
}

.swiper-clients p {
    color: var(--color-primary);
    font-weight: var(--weight-medium);
    font-size: 2rem;
    line-height: 1.3125;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    width: 100% !important;
    left: auto !important;
    transform: translateX(0) !important;
}

/*
.swiper-pagination-bullet-active + .swiper-pagination-bullet {
    transform: scale(0.66);
}

.swiper-pagination-bullet-active + .swiper-pagination-bullet + .swiper-pagination-bullet {
    transform: scale(0.33);
}

.swiper-pagination-bullet-active + .swiper-pagination-bullet + .swiper-pagination-bullet + .swiper-pagination-bullet {
    transform: scale(0);
}*/

.swiper-pagination-bullet {
    --swiper-pagination-bullet-width: 72px;
    --swiper-pagination-bullet-height: 24px;
    --swiper-pagination-color: transparent;
    --swiper-pagination-bullet-inactive-color: transparent;
    border-radius: 1px;
    border-top: 3px solid #01a7ff;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(1);
}

.swiper-horizontal {
    --swiper-pagination-bullet-horizontal-gap: 10px;
}

/*! contact-image */
.contact {
    position: relative;
}

.contact img {
    border-radius: 50%;
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 42px;
}

.contact-image {
    padding-top: 20px;
}

.contact-image .img {
    margin: 0 auto 12px;
    text-align: left;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    left: 6.167%;
}

.contact-image .img:before {
    left: -6.167%;
    right: -7.489%;
    top: -8.37%;
    bottom: -5.286%;
    position: absolute;
    content: '';
    background: transparent url(../images/bg/contact.png) 0 0 no-repeat;
    background-size: auto 100%;
}

.contact-image img {
    border-radius: 50%;
    /*!padding: 8.37% 7.489% 5.286% 6.167%; 19px 17px 12px 14px / 227px; */
    display: block;
    vertical-align: middle;
    position: relative;
    z-index: 1;
    max-width: 250px !important;
}

.contact-image p {
    margin-top: 20px;
}

.contact p strong {
    font-weight: 600;
}

/*! accordion */
.faq {
    padding: 0;
    margin: var(--spacing-l) auto var(--spacing-m);
    border-bottom: 1px solid #b1b3b7;
}

.faq dt {
    border-top: 1px solid #b1b3b7;
    font-size: 1.5rem;
    padding: 23px 48px 20px 0;
    position: relative;
    cursor: pointer;
    font-weight: var(--weight-medium);
    text-align: left;
}

.faq dt:after {
    position: absolute;
    font-family: "iconfont" !important;
    font-size: 2.25rem;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--color-primary);
    right: 0;
    top: 14px;
    content: "\e82b";
}

.faq dd {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0;
    height: 0;
    position: relative;
    overflow: hidden;
    transition: all 0.3s linear;
    padding: 0;
    box-sizing: content-box;
    text-align: left;
}

.faq dt.active:after {
    content: "\e7af";
}

.faq dt.active + dd {
    padding: 0 10% 28px 0;
}

#content {
    min-height: 100%;
    padding-bottom: 107px;
    box-sizing: border-box;
}

.tx-plugin .pure-u-md-24-24 > h3 {
    margin-bottom: 40px;
}

.tx-plugin .news-title {
    margin-bottom: 48px;
}

.tx-plugin .info {
    margin-bottom: 48px;
}

.tx-plugin .info p {
    font-size: 1rem;
}

.tx-plugin .info p a {
    color: var(--color-black);
}

.tx-plugin .info p a:hover {
    text-decoration: none;
    color: var(--color-primary);
}

.tx-plugin .info strong {
    font-weight: 600;
}

.tx-plugin .pure-g h4 {
    font-size: 1.125rem;
}

.tx-plugin .pure-g .pure-g {
    margin-bottom: 20px;
}

.tx-plugin .info .pure-g {
    margin-bottom: 0;
}

.tx-plugin .pure-list {
    margin-top: 10px;
}

.tx-plugin .relation ul {
    font-size: 1rem;
}

.tx-plugin .image-item {
    text-align: center;
    border: 1px solid var(--color-info);
    box-shadow: 0 0 10px rgba(0, 0, 0, .05);
    padding: 12px;
}

.tx-plugin .image-item img {
    height: auto;
}

.tx-plugin .news-text-wrap {
    margin-bottom: 88px;
}

.news-related-wrap {
    margin-top: 0;
}

.news-related {
    margin-bottom: 20px;
}

.tx-plugin .pure-grids {
    margin-top: 0;
}

/*! news */
.tx-plugin [id*="news-container-"] {
    border-top: 1px solid #e6e6e6;
}

.tx-plugin [id*="news-container-"] .box {
    padding-bottom: 54px;
}

.tx-plugin [id*="news-container-"].pure-g {
    border-top: 0 none;
}

.tx-plugin [id*="news-container-"] .news-item {
    border-bottom: 1px solid #e6e6e6;
    padding-top: 20px;
    padding-bottom: 23px;
    margin-left: auto;
    margin-right: auto;
}

.tx-plugin [id*="news-container-"] .news-item > * {
}

.tx-plugin [id*="news-container-"] .news-item .news-list-date {
    width: 140px;
    flex: 0 0 auto;
    font-size: 1.25rem;
}

.tx-plugin [id*="news-container-"] .news-item .content > a {
    color: var(--color-primary);
    font-weight: 500;
}

.tx-plugin [id*="news-container-"] .news-item .content > a:hover {
    text-decoration: underline;
}

.tx-plugin [id*="news-container-"] .news-item .content > a .iconfont {
    font-size: 14px;
}

.tx-plugin [id*="news-container-"] h4 + h2 {
    margin-bottom: 48px;
}

.tx-plugin [id*="news-container-"] .content h4 {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 500;
}

.tx-plugin [id*="news-container-"] .d-flex a {
    color: var(--color-primary);
}

.tx-plugin [id*="news-container-"] .d-flex > a .iconfont {
    font-size: .75rem;
}

.tx-plugin [id*="news-container-"] .downloads > a:hover {
    text-decoration: none;
}

.tx-plugin .download-actions {
    margin-bottom: 20px;
    display: flex;
}

.tx-plugin .info .download-actions {
    margin-top: 20px;
    margin-bottom: 0;
}

.download-actions a {
    font-size: 1.125rem;
    margin-right: 15px;
}

.download-actions a:hover {
    color: var(--color-success);
    text-decoration: underline;
}

.icon-word {
    color: var(--color-primary);
}

.icon-pdf {
    color: var(--color-danger);
}

.icon-zip {
    color: var(--color-zip);
}

.news-text-wrap p {
    font-size: 1.25rem;
}

.pure-pagination {
    display: flex;
    justify-content: end;
    padding-top: 50px;
}

.pure-pagination > a,
.pure-pagination > span {
    transition: top .3s ease, box-shadow .3s ease;
    border-radius: 2px;
    position: relative;
    display: block;
    top: 0;
    text-align: center;
    font-size: 1rem;
    line-height: 1.4286;
    font-weight: 500;
    font-style: normal;
    box-sizing: border-box;
}

.pure-pagination > a.prev,
.pure-pagination > a.next {
    padding-left: 0;
    padding-right: 0;
}

.pure-pagination > a + a,
.pure-pagination > span + span,
.pure-pagination > a + span,
.pure-pagination > span + a {
    margin-left: 16px;
}


.pure-pagination > a.next,
.pure-pagination > a.prev {
    color: var(--color-primary);
}

.pure-pagination > a:not(.next):not(.prev):hover,
.pure-pagination > span.current {
    color: var(--color-primary);
    text-decoration: underline;
}

.d-sm-block {
    display: none;
}

/*! video banner */
.video-banner-container {
    position: relative;
    overflow: hidden;
    height: 700px;
    box-sizing: border-box;
}

.video-banner-container.fixed-width {
    max-width: 1300px;
    margin: 0 auto;
    height: auto;
    border-radius: 11px;
}

.full-screen-video {
    position: relative;
    height: 100%;
}

.video-banner-container.fixed-width video {
    width: 100%;
    height: auto;
}

.video-banner-container:not(.fixed-width) video {
    position: absolute;
    left: 50%;
    top: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
    border-radius: 11px;
}

.video-text {
    position: absolute;
    left: 0;
    right: 0;
    box-sizing: border-box;
    padding: 50px 0;
    background-color: rgba(0, 95, 141, .75);
    color: var(--color-white);
    bottom: 0;
}

.video-banner-container.fixed-width .video-text {
    padding: 50px 20px;
}

.key-enter {
    font-size: 8rem;
    position: relative;
}

.key-enter:after {
    position: relative;
    content: '';
    -webkit-animation: blink .8s step-start infinite;
    animation: blink .8s step-start infinite;
    border-right: 2px solid var(--color-primary);
    margin-left: 12px;
}

.video-text h1.key-enter {
    margin-bottom: 15px;
}

.btn-tag {
    background-color: var(--color-white);
    color: var(--color-success);
    display: inline-block;
    padding: 1px 11px 3px;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.3s ease-in-out;
    margin-left: 10px;
}

.btn-tag:hover {
    background-color: var(--color-success);
    color: var(--color-white);
}

.content .btn-ext {
    text-decoration: none !important;
    border-radius: 6px;
    padding: 6px 12px !important;
    font-weight: 400;
    font-style: normal;
    font-size: 1.4rem;
    line-height: 1em;
    border: 2px solid #a0a0a5;
    background: #a0a0a5 none !important;
    color: #fff !important;
}

.content .btn-ext:active,
.content .btn-ext:hover {
    border: 2px solid #a0a0a5;
    background: #fff !important;
    color: #a0a0a5 !important;
}

.link-text {
    font-size: .8rem;
    padding: 0 1rem;
    color: #a0a0a5;
}

.video-text p {
    font-size: 1.6rem;
}

/*! footer */
#footer {
    height: 107px;
    margin-top: -107px;
    padding-top: var(--spacing-m);
    padding-bottom: var(--spacing-m);
    background-color: var(--color-info);
    color: #aaacb3;
    box-sizing: border-box;
}

#footer a + a,
#footer li + li {
    margin-left: 28px;
}

#footer .pure-menu-item {
    line-height: 38px;
}

#footer .social-media .iconfont {
    font-size: 1.5rem;
}

#footer a {
    color: #aaacb3;
    font-weight: var(--weight-medium);
}

#footer a.footer-link {
    font-weight: 500;
}

#footer a:hover {
    color: var(--color-primary);
}

#footer .social-media {
}

#footer .social-media a svg {
    vertical-align: middle;
}

#footer .social-media a svg > g {
    opacity: .5;
    mix-blend-mode: multiply;
    isolation: isolate
}
#footer .social-media a svg > g#svgT {
    opacity: 1;
}

#footer .social-media a svg > g #svg-twitter {
    fill: #797b7f;
}

#footer .social-media a:hover svg > g,
#footer .social-media a:hover svg > g #svg-twitter {
    opacity: 1;
    fill: var(--color-primary);
}


#header .wrap:after,
.filter-button-group:after {
    clear: both;
    content: '';
    overflow: hidden;
    width: 100%;
    height: 0;
    display: block;
}

.form-wrapper {
    background-color: var(--color-form);
    padding: 50px;
    border-radius: 6px;
    margin-bottom: 50px;
}

.form-wrapper .pure-form select {
    background-color: var(--color-white);
    border-color: transparent;
    background-position: 95% 50%;
}

.form-wrapper .pure-form select,
.form-wrapper .pure-form input[type="text"] {
    margin: 0;
}

.form-wrapper .flex-group + .pure-g,
.form-wrapper .pure-g + .pure-g {
    margin-top: 35px;
}

.form-wrapper .flex-group .layui-btn {
    margin-left: 30px;
    border-radius: 6px;
}

.form-wrapper .layui-btn-gray {
    background-color: var(--color-border);
}

.event-item .date {
    font-size: 1.15rem;
    color: var(--color-nav);
}

.event-item h1 {
    font-size: 2.5rem;
    margin-bottom: 35px;
}

.event-item h3 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 20px;
}

.event-item .desc {
    font-size: 1.125rem;
    line-height: 1.4167;
    padding: 0 0 20px;
}

.event-item p + p {
    margin-top: 1.25rem;
}

.event-item a {
    color: var(--color-side-nav-link);
    font-size: 1.15rem;
    transition: all 0.2s linear;
}

.event-item a:hover {
    color: var(--color-nav-active);
}

.event-item .img {
    margin-bottom: 30px;
    padding: 1px;
    border-radius: 2px;
    border: 1px solid var(--color-border-normal);
}

.event-item .img img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.event-item .jumbotron {
    padding: 20px;
    margin-bottom: 10px;
}

.event-item .back {
    padding-top: 30px;
    border-top: 1px solid var(--color-border-normal);
}

.event-item {
    margin-bottom: 20px;
}

.event-item > .d-flex {
    flex-wrap: wrap;
    background-color: var(--color-white);
    border: 1px solid var(--color-primary);
    padding: 15px;
    position: relative;
}

.event-item > .d-flex > * {
    flex: 0 0 auto;
    max-width: 100%;
    box-sizing: border-box;
}

.event-item > .d-flex .image {
    width: 360px;
    position: relative;
}

.event-item.event-even > .d-flex .image {
    order: 2;
}

.event-item > .d-flex .date-range {
    position: relative;
    display: flex;
    align-items: center;
    left: 0;
    bottom: 0;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.event-item > .d-flex .date-range span {
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;
}

.event-item > .d-flex .date-range span + span {
    margin-top: 2px;
}

.event-item > .d-flex .date-range span.d {
    font-size: 1.5rem;
    font-weight: 600;
}

.event-item > .d-flex .date-range .iconfont {
    margin: 0 8px;
}

.event-item > .d-flex .image img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.event-item > .d-flex .text {
    width: calc(100% - 360px);
    position: relative;
    padding-left: 20px;
}

.event-item.event-even > .d-flex .text {
    padding-left: 0;
    padding-right: 20px;
}

.event-item > .d-flex .text h3 {
    font-weight: 500;
    color: var(--color-primary);
    font-size: 1.25rem;
    margin-bottom: 12px;
}

.event-item > .d-flex .text .desc {
    color: var(--color-border);
    font-size: 1rem;
    margin-bottom: 12px;
    padding: 0;
}

.event-item > .d-flex .location {
    display: flex;
    align-items: center;
    font-size: 1.25rem;
}

.event-item > .d-flex .location .iconfont {
    margin-right: 20px;
}

.event-item > .d-flex .location strong {
    display: block;
}

.event-item > .d-flex .location div,
.event-item > .d-flex .location p {
    font-size: 1rem;
    line-height: 1.5;
}

.event-item > .d-flex .more {
    position: absolute;
    display: block;
    right: 0;
    bottom: 0;
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 6px 10px;
    font-size: .9275rem;
    font-weight: 500;
    border: 1px solid var(--color-primary);
}

.event-item > .d-flex .more:hover {
    background-color: var(--color-white);
    color: var(--color-primary);
}

.event-item.event-even > .d-flex .more {
    right: auto;
    left: 0;
}

.event-contact {
    border: 1px solid #ddd;
    box-shadow: 0 0 10px rgba(0, 0, 0, .03);
}

.event-contact .text {
    padding: 20px;
}

.event-contact .image {
    padding: 0 25%;
    background-color: #ccc;
}

.event-contact .image img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.event-contact .text h3 {
    font-size: 1.125rem;
    color: var(--color-border);
    margin-bottom: 10px;
    font-weight: 400;
}

.event-contact .text h2 {
    font-size: 1.25rem;
}

.event-contact .text address {
    font-style: normal;
    display: block;
    margin-bottom: 20px;
    color: var(--color-border);
}

.event-contact .text .contact {
    line-height: 1.5;
}

.event-contact .text .contact strong {
    font-weight: 800;
}

.event-contact .text a {
    color: var(--color-success);
}

/*! mask image text */
.flex-media {
    margin-bottom: 44px;
}

.flex-direction-bottom,
.flex-direction-top {
    flex-direction: column;
}

.flex-media .text {
    flex-grow: 1;
}

.flex-media .image {
    margin-right: 44px;
}

.flex-media .image .item + .item {
    margin-left: 22px;
}

.flex-media .image-right {
    margin-left: 44px;
    margin-right: auto;
    order: 3;
}

.flex-media .image-bottom {
    order: 3;
    margin: 22px auto 0;
}

.flex-media .image-top {
    order: 0;
    margin: 0 auto 44px;
}

.flex-media .image-top + .text {
    order: 1;
}

.flex-media h2 {
    font-size: 2.4rem;
    margin-bottom: 22px;
}

.flex-media h2 + h3 {
    font-size: 1.7rem;
    margin-bottom: 22px;
    font-weight: 400;
}


.tx-powermail {
    background-color: var(--color-white);
    overflow: hidden;
}

.ce-grid {
    margin: 0 -1%;
}

.ce-grid .grid-item,
.wrapper-box_grid > .wrap > .wrapper {
    width: calc(33.33% - 30px);
    margin: 15px;
    position: relative;
    border-radius: 6px;
    box-sizing: border-box;
}

.wrapper-fluid .ce-grid .grid-item {
    width: 23%;
}

.ce-grid .grid-item .caption {
    position: absolute;
    bottom: 0;
    padding: 8px 10px;
    background-color: rgba(0, 0, 0, .75);
    box-sizing: border-box;
    left: 0;
    right: 0;
    margin: 0;
    color: var(--color-white);
    font-weight: 300;
    transition: all 0.2s linear;
    font-size: 14px;
    border-radius: 0 0 6px 6px;
    opacity: 0;
}

.wrapper-box_grid > .wrap > .wrapper {
    border: 2px solid #3aaa35;
    border-radius: 11px;
    padding: 22px;
}

.wrapper-box_grid .ce-icon-content .icon i {
    color: var(--color-success);
    margin: 10px auto 15px;
}

.wrapper-box_grid .ce-bodytext h3 {
    font-size: 1.5rem;
    margin: 10px auto;
    line-height: 1.5;
    text-align: center;
}

.wrapper-box_grid .content h2 {
    margin: 22px auto;
    font-size: 2rem;
    line-height: 1.2;
    text-align: center;
}

.wrapper-box_grid .ce-bodytext ul.pure-list {
    margin: 10px auto 0;
}

.wrapper-box_grid .ce-bodytext ul.pure-list li {
    font-weight: 400;
    margin-right: 8px;
}

.wrapper-box_grid ul.inline-list li:before {
    color: var(--color-success);
}

.wrapper-box_grid .flex-media {
    margin-bottom: 0;
}

.ce-grid .grid-item:hover .caption {
    opacity: 1;
}

.wrapper-box_grid .flex-media img,
.ce-grid .grid-item img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    vertical-align: middle;
}

.wrapper-box_grid .flex-media img {
    border-radius: 11px;
}

@-webkit-keyframes blink {
    50% {
        opacity: 0
    }
}

@keyframes blink {
    50% {
        opacity: 0
    }
}

.f3-widget-paginator {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

.f3-widget-paginator li {
    list-style: none;
}

.owl-carousel .owl-item { background-color: #FFFFFF; }
