body {
    counter-reset: section section-nav; 
    min-height: 100vh;
    color: var(--color-contrast);
}

/*.trf-pageblock {
    position: relative;
}
.trf-pageblock > .trf-container {
    z-index: 20;
    position: relative;
}*/

.trf-heading-small {
    font-size: 36px;
}

.trf-list-unordered {
    list-style-type: none;
    font-size: 0;
    padding-left: 46px;
}
.trf-list-unordered li {
    font-size: initial;
    position: relative;
}
.trf-list-unordered li + li {
    margin-top: 24px;
}
.trf-list-unordered li::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    background-color: rgb(var(--color-primary--rgb));
    position: absolute;
    left: -32px;
    top: 3px;
}
.trf-list-unordered--check li::before {
    background: none;
    color: #0EC12F;
    content: '\f00c';
    font-family: "Font Awesome 6 Free";
    top: 0;
}
.trf-list-unordered.trf-list-unordered--check li + li {
    margin-top: 16px;
}
* + .trf-list-unordered.trf-list-unordered--check {
    margin-top: 24px;
}
.trf-list-unordered--check + * {
    margin-top: var(--grid-gap);
}

.trf-bg-dimmed {
    background-color: var(--color-dimmed);
}
.trf-bg-dark-gray {
    background-color: var(--color-dark-gray);
}
h1, h2, h3, h4, h5, h6 {
    color: var(--color-contrast);
}


.trf-banner-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 100%;
    z-index: 1;
    position: relative;
}
.trf-banner-home--content-grid {
    align-items: flex-end;
    row-gap: calc(var(--grid-gap) * 2);
    /*row-gap: calc(var(--grid-gap) * 3);*/
    margin-top: calc(var(--grid-gap) * 2) !important;
}
.trf-banner-home--content-grid h1 {
    margin-bottom: 0;
    font-size: 32px;
    line-height: 40px;
}
.trf-banner-home--content-grid--content {
    display: flex;
    flex-direction: column;
    row-gap: 32px;
}

.trf-pageblock.trf-banner-home {
    padding-top: calc(var(--grid-gap) / 2);
    /*z-index: 11;*/
}
.trf-pageblock.trf-banner-home>*:not(.trf-banner-home--image) {
    z-index: 11;
}
.trf-banner-home {
    position: relative;
}
.trf-banner-home--image {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 60vw;
    z-index: 0;
}
.trf-banner-home--image img {
    width: 100%;
}
.trf-banner-home--image,
.trf-banner-home--image::before,
.trf-banner-home--image::after {
    user-select: none;
}
.trf-banner-home--image::before,
.trf-banner-home--image::after {
    display: block;
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    height: 120%;
    width: 200%;
}
.trf-banner-home--image::before {
    background: rgba(12, 12, 12, 0.8);
    z-index: 0;
}
.trf-banner-home--image::after {
    background: radial-gradient(43.31% 50% at 56.69% 50%, rgba(16, 16, 16, 0) 57.5%, #0C0C0C 100%);
    z-index: 1;
}

.trf-nav-grid {
    align-items: center;
}
.trf-banner-container .trf-nav-grid {
    align-items: center;
    position: fixed;
    z-index: 99;
    width: min(calc(100vw - calc(var(--grid-gap)* 2)) + var(--grid-gap) / 2, 1540px);
    padding-top: calc(var(--grid-gap) / 8);
    padding-bottom: calc(var(--grid-gap) / 8);
    top: 0;
}
.trf-banner-container .trf-nav-grid::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    background-color: #000;
    top: 0;
    left: 50%;
    height: 100%;
    width: 100vw;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity .4s ease-in;
}
.trf-banner-container .trf-nav-grid.active::after {
    opacity: 1;
    transition: opacity .3s ease-out;
}
.trf-nav-grid>*:last-child {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.trf-nav-grid>*:last-child .trf-btn {
    margin-right: calc(var(--grid-gap) / 2);
}
.trf-logo-wrapper {
    display: flex;
    flex-direction: row;
    column-gap: calc(var(--grid-gap) / 8 * 3);
}
.trf-logo-wrapper a,
.trf-logo-wrapper img {
    height: 40px;
    display: block;
}
.trf-logo-wrapper--text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.trf-logo-wrapper p {
    color: var(--color-paragraph);
    font-size: calc(var(--grid-gap) / 4);
    line-height: calc(var(--grid-gap) / 4);
    margin: 0;
}

.trf-lang-switcher {
    color: var(--color-paragraph);
    transition: color .3s ease-out;
    font-size: 22px;
    text-transform: uppercase;
    text-decoration: none;
    /*height: 48px;*/
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 16px;
    /*margin-left: calc(var(--grid-gap) / 2);*/
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNiIgdmlld0JveD0iMCAwIDEwIDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBkPSJNOC45OTk5MyAwLjg3ODY4MUw0Ljc1NzI5IDUuMTIxMzJMMC41MTQ2NDggMC44Nzg2ODEiIHN0cm9rZT0id2hpdGUiLz4NCjwvc3ZnPg==");
    background-position: right center;
    background-size: 8px 4px;
    background-repeat: no-repeat;
    padding: 0;
}
.trf-lang-switcher.active {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBmaWxsPSJub25lIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxMCA2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgoJPHBhdGggZD0ibTAuMzUzNTUgNS4xNTg4IDQuMjQyNi00LjI0MjYgNC4yNDI2IDQuMjQyNiIgc3Ryb2tlPSIjZmZmIi8+Cjwvc3ZnPgo=");
}
.trf-lang-switcher.active,
.trf-lang-switcher:hover {
    color: var(--color-contrast);
    transition: color .2s ease-in;
}
.trf-lang-switcher--list--flag {
    width: 24px;
    height: 24px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}
.trf-lang-switcher--list--flag>* {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    width: auto;
}

.trf-banner-home {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    /*min-height: 100vh;*/
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: relative;
}
.trf-banner-home-container > h1 {
    position: relative;
    color: var(--color-contrast);
    text-transform: uppercase;
}
.trf-flag-inline img {
    height: calc(var(--grid-gap) / 2);
    border-radius: var(--border-radius--half);
}
.trf-heading-arrow {
    height: calc(var(--grid-gap) / 2);
    margin-left: var(--grid-gap);
}
.trf-btn {
    /*border-radius: var(--border-radius--half);*/
    border-radius: 24px;
    padding: calc(var(--grid-gap) / 8) calc(var(--grid-gap) / 8 * 3);
    background-color: var(--color-paragraph);
    color: var(--color-contrast);
    transition: background-color .3s ease-out;
    /*transition: transform .3s ease-out;*/
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.trf-btn.trf-btn-white {
    background: var(--color-contrast);
    color: var(--color-text);
}
.trf-btn:hover,
.trf-btn:focus { 
    background-color: rgb(var(--color-primary--rgb));
    transition: background-color .2s ease-in;
    /*transition: transform .2s ease-in;
    transform: scale(1.05);*/
}

.trf-btn-order {
    height: 36px;
    min-height: inherit;
    min-width: 64px;
    padding: 0 16px;
    border-radius: 28px;
    background-color: #2E2E2E;
    font-size: 14px;
    font-weight: 500;
}

.trf-lang-switcher--container-wrapper {
    position: relative;
}
.trf-lang-switcher--container {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-out;
    z-index: 999;
    /*border-radius: var(--border-radius--default);*/
    border-radius: 4px;
    background-color: var(--color-contrast);
    /*left: 50%;
    transform: translateX(-50%);*/
    left: inherit;
    right: 0;
    padding: calc(var(--grid-gap) / 8) 0;
    /*padding: calc(var(--grid-gap) / 8) calc(var(--grid-gap) / 4);*/
    margin-top: 16px;
    /*box-shadow: 3px 5px 32px rgba(0, 0, 0, .3);*/
    box-shadow: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12);
}
.trf-lang-switcher--container:not(.active) * {
	pointer-events: none;
}
.trf-lang-switcher--container.active {
    opacity: 1;
    pointer-events: all;
    transition: opacity 0.2s ease-in, transform 0.2s ease-in;
}
.trf-lang-switcher--list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 22px;
}
.trf-lang-switcher--list li {
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 0 calc(var(--grid-gap) / 4);
}
.trf-lang-switcher--list li:hover {
    background-color: #F6F6F6;
}
.trf-lang-switcher--list li:nth-child(n + 2) {
    margin-top: calc(var(--grid-gap) / 8);
}
.trf-lang-switcher--list a {
    color: var(--color-paragraph);
    text-decoration: none;
    display: flex;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.87);
    font-size: 14px;
}
.trf-lang-switcher--list a:hover {
    color: var(--color-text);
    text-decoration: none;
}
.trf-lang-switcher--list a .trf-lang-switcher--list--flag {
    margin-right: 16px;
}



.trf-booking-form--tabs {
    list-style-type: none;
    font-size: 0;
    display: flex;
    flex-direction: row;
    padding: 0;
    margin-bottom: -8px;
}
.trf-booking-form--tabs>li {
    border-radius: var(--border-radius--default) var(--border-radius--default) 0 0;
    font-size: initial;
    flex-grow: 1;
    flex-basis: 0;
    padding: calc(var(--grid-gap) / 4) calc(var(--grid-gap) / 4) calc(var(--grid-gap) / 8 * 3) calc(var(--grid-gap) / 4);
    text-align: center;
    transition: background-color .1s ease-out;
    position: relative;
}
.trf-booking-form--tabs>li:hover {
    /*background-color: var(--color-paragraph--dark);*/
    background-color: #F9F9F9;
    transition: background-color .1s ease-out;
}
.trf-booking-form--tabs>li.active {
    background-color: var(--color-contrast);
    color: rgb(var(--color-primary--rgb));
    transition: background-color .05s ease-in;
    z-index: 1;
}
.trf-lang-switcher--container::before,
.trf-booking-form--tabs>li:first-child.active::after,
.trf-booking-form--tabs>li:last-child.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    display: block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik04LjUgMEM4LjUgNC40MTgyOCA0LjkxODI4IDguMDAwMDUgMC41IDguMDAwMDVWMTZIMTYuNVY4QzEyLjA4MTcgOCA4LjUgNC40MTgyOCA4LjUgMFoiIGZpbGw9IndoaXRlIi8+DQo8L3N2Zz4=");
}
.trf-booking-form--tabs>li:first-child.active::after {
    right: -8px;
}
.trf-booking-form--tabs>li:last-child.active::after {
    left: -8px;
}
.trf-lang-switcher--container::before {
    top: -8px;
    /*left: 50%;
    transform: translateX(-50%);*/
    right: 4px;
}
.trf-booking-form--tabs>li a {
    color: var(--color-paragraph);
    font-size: 14px;
    /*line-height: 22px;*/
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    letter-spacing: 1.25px;
    position: relative;
}
.trf-booking-form--tabs>li.active a {
    /*color: rgb(var(--color-primary--rgb));*/
    color: var(--color-text);
}
.trf-booking-form--tabs>li.active a::after {
    content: '';
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    left: 50%;
    bottom: -16px;
    background-color: var(--color-text);
    transform: translateX(-50%);
}
.trf-booking-form--tabs>li a i {
    /*font-size: 16px;*/
    font-size: 24px;
    margin-right: 8px;
}
.trf-booking-form--tabs-content {
    color: var(--color-text);
    background-color: var(--color-contrast);
    border-radius: 16px;
    padding: 16px;
    z-index: 2;
    position: relative;
    transition: height .3s ease-out;
    height: calc-size(max-content, size);
}
.trf-booking-form--tabs {
    background-color: var(--color-contrast);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    margin-bottom: -16px;
}
.trf-booking-form--tabs>li {
    border-radius: 14px 14px 0 0;
    padding: calc(var(--grid-gap) / 4) calc(var(--grid-gap) / 4) calc(var(--grid-gap) / 2) calc(var(--grid-gap) / 4);
}
.trf-booking-form--tabs>li:first-child {
    border-radius: 14px 0 0 0;
}
.trf-booking-form--tabs>li:last-child {
    border-radius: 0 14px 0 0;
}
.trf-booking-form--tabs-content > * {
    display: none;
    pointer-events: none;
}
.trf-booking-form--tabs-content > *.active {
    display: block;
    /* pointer-events: all; */
    pointer-events: unset;
}
.trf-grid.trf-form-grid {
    row-gap: calc(var(--grid-gap) / 8 * 3);
    /*margin-left: calc(var(--grid-gap) / 8 * -3);*/
}
/*.trf-grid.trf-form-grid>* {
    padding-left: calc(var(--grid-gap) / 8 * 3);
}*/
.trf-btn-search {
    background-color: var(--color-text);
    box-shadow: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12) !important;
    border-radius: 28px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    margin-top: 16px;
}
.trf-btn-search > i.mdi {
    margin-right: 4px;
    margin-left: 8px;
    font-size: 18px;
    height: 18px;
    width: 18px;
}
.trf-btn-search img,
.trf-btn-search svg {
    width: 16px;
    height: 16px;
    margin-left: 16px;
    transition: fill .6s ease-in;
}
.trf-btn-search:hover {
    background-color: #171717;
}
.trf-btn-search:hover svg * {
    fill: var(--color-contrast);
    transition: fill .4s ease-out;
}


.trf-grid-row-labeled {
    /*height: 42px;*/
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
    /*align-items: flex-start;*/
    align-items: end;
}
.trf-grid-row-labeled > i.mdi {
    display: inline-flex;
    margin-right: 9px;
    margin-bottom: 4px;
    margin-top: 4px;
    line-height: 1;
    align-items: center;
    font-size: 24px;
    justify-content: center;
    letter-spacing: normal;
    line-height: 1;
    align-items: center;
    height: 24px;
    flex: 1 0 auto;
    justify-content: center;
    min-width: 24px;
    width: 24px;
    color: rgba(0, 0, 0, .54);
}
.trf-grid-row-labeled::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    /*bottom: -11px;*/
    left: 32px;
    height: 1px;
    background-color: rgb(var(--color-primary--rgb));
    transition: width .6s ease-in;
    width: 0;
}
.trf-grid-row-labeled:hover::after,
.trf-grid-row-labeled.trf-input-field-active::after {
    width: calc(100% - 32px);
    transition: width .4s ease-out;
}
.trf-grid-row-labeled label {
    /*color: #ccc;*/
    color: rgba(0, 0, 0, .6);
    font-weight: 400;
    font-size: 11px;
    line-height: 16px;
    transition: color .6s ease-in;
}
.trf-grid-row-labeled:hover label,
.trf-grid-row-labeled.trf-input-field-active label {
    color: rgb(var(--color-primary--rgb));
    transition: color .4s ease-out;
}
.trf-grid-row-labeled input:not([type=submit]),
.trf-grid-row-labeled input:not([type=submit]):active,
.trf-grid-row-labeled input:not([type=submit]):hover {
    border: none;
    border-bottom: 1px solid #949494;
    /*border-bottom: 1px solid #D9D9D9;*/
    line-height: 20px;
    padding: 8px 0;
    font-size: 16px;
    max-height: 32px;
}


.trf-icon-block--icon-filter svg circle.track-01 {
    transition: transform .3s ease-in .3s, fill .3s ease-in .3s;
}
.trf-icon-block--icon-filter svg circle.track-02 {
    transition: transform .3s ease-in, fill .3s ease-in;
}
.trf-icon-block--icon-filter:hover svg circle.track-01 {
	transform: translateX(10px);
    transition: transform .3s ease-out, fill .3s ease-out;
}
.trf-icon-block--icon-filter:hover svg circle.track-02 {
	transform: translateX(-8px);
    transition: transform .3s ease-out .2s, fill .3s ease-out .2s;
}

.trf-icon-block--icon-clock svg path.clock-01 {
    transition: transform .3s ease-in .3s, fill .3s ease-in;
    transform-origin: center center;
}
.trf-icon-block--icon-clock svg path.clock-02 {
    transition: transform .3s ease-in, fill .3s ease-in;
    transform-origin: center center;
}
.trf-icon-block--icon-clock:hover svg path.clock-01 {
    transform: rotate(360deg);
    transition: transform .3s ease-out, fill .3s ease-out;
}
.trf-icon-block--icon-clock:hover svg path.clock-02 {
	transform: translateX(-8px);
    transform: rotate(720deg);
    transition: transform .3s ease-out .2s, fill .3s ease-out;
}

.trf-icon-block--icon-meet svg rect.meet-01 {
    transition: transform .3s ease-in, fill .3s ease-in;
}
.trf-icon-block--icon-meet svg path.meet-02 {
    transition: transform .3s ease-in, fill .3s ease-in;
    transform-origin: center center;
}
.trf-icon-block--icon-meet:hover svg rect.meet-01 {
    transform: translateY(-2px);
    transition: transform .3s ease-out, fill .3s ease-out;
}
.trf-icon-block--icon-meet:hover svg path.meet-02 {
    transform: rotate(-4deg);
    transition: transform .3s ease-out, fill .3s ease-out;
}

.trf-icon-block--icon-cancel svg path.cancel-01 {
    transition: transform .3s ease-in .3s, fill .3s ease-in;
    transform-origin: center center;
}
.trf-icon-block--icon-cancel svg path.cancel-02 {
    transition: transform .3s ease-in, fill .3s ease-in;
    transform-origin: center center;
}
.trf-icon-block--icon-cancel:hover svg path.cancel-01 {
    transform: scale(.5);
    transition: transform .3s ease-out, fill .3s ease-out;
}
.trf-icon-block--icon-cancel:hover svg path.cancel-02 {
    transform: scale(.5);
    transition: transform .3s ease-out .2s, fill .3s ease-out;
}



.trf-banner-mobile {
    background-color: rgb(var(--color-primary--rgb--dark));
    border-radius: var(--border-radius--default);
    overflow: hidden;
    transition: transform .6s ease-in;
}
.trf-banner-mobile:hover {
    transition: transform .4s ease-out;
    transform: scale(1.02);
}
.trf-banner-mobile--image {
    position: relative;
    height: 100%;
    min-height: 128px;
    overflow: hidden;
}
.trf-banner-mobile--image>img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.trf-banner-mobile--text {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--grid-gap) / 8 * 3) calc(var(--grid-gap) / 2) calc(var(--grid-gap) / 8 * 3) 0;
    flex-grow: 1;
}
.trf-banner-mobile--text p {
    margin: 0;
}
.trf-banner-mobile--text a {
    color: var(--color-contrast);
    transition: color .6s ease-in;
}
.trf-banner-mobile--text a:hover {
    color: var(--color-paragraph);
    text-decoration: none;
    transition: color .4s ease-out;
}




.trf-icon-block {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 0 32px;
}
.trf-icon-block--icon {
    height: calc(var(--grid-gap) * 2);
    width: calc(var(--grid-gap) * 2);
    border-radius: var(--grid-gap);
    border: 1px solid rgb(var(--color-primary--rgb));
    font-size: 0;
    transition: transform .6s ease-in;
}
.trf-icon-block--icon img {
    display: block;
    height: calc(var(--grid-gap) * 2);
    width: calc(var(--grid-gap) * 2);
}
.trf-icon-block--title {
    position: relative;
    padding-bottom: 9px;
    margin-bottom: calc(var(--grid-gap) / 2);
    text-align: center;
}
.trf-icon-block--title::after {
    position: absolute;
    background-color: rgb(var(--color-primary--rgb));
    content: '';
    display: block;
    height: 1px;
    width: calc(var(--grid-gap) / 2);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    border-radius: 1px;
}
.trf-icon-block p {
    margin-top: 0;
    text-align: center;
}
.trf-icon-block:hover .trf-icon-block--icon {
    transform: scale(1.1);
    transition: transform .4s ease-out;
}


.trf-article-block {
    align-items: center;
}
.trf-article-block--title,
.trf-pageblock--title {
    position: relative;
    padding-bottom: 9px;
    font-weight: 700;
    /*font-size: 50.52px;
    line-height: 62px;*/
    font-size: 28px;
    line-height: 35px;
    margin-top: 0;
}
.trf-article-block--title a {
    color: var(--color-contrast);
    text-decoration: none;
}
.trf-article-block--title::after {
    position: absolute;
    background-color: rgb(var(--color-primary--rgb));
    content: '';
    display: block;
    height: 1px;
    width: calc(var(--grid-gap) / 2);
    left: 0;
    bottom: 0;
    border-radius: 1px;
}
.trf-pageblock--title {
    margin-bottom: var(--grid-gap) !important;
}

.trf-grid-reverse {
    flex-direction: row-reverse;
}
.trf-article-accent {
    background-color: rgb(var(--color-primary--rgb--dark));
    border-radius: var(--border-radius--default);
}
.trf-article-accent--content {
    padding: calc(var(--grid-gap) / 2);
}
.trf-article-accent .trf-article-block .trf-thumb-wrapper {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.trf-article-accent .trf-article-block.trf-grid-reverse .trf-thumb-wrapper {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}


.trf-article-thumb {
    border: 1px solid #222222;
    border-radius: var(--border-radius--default);
    overflow: hidden;
    padding: 0 calc(var(--grid-gap) / 8 * 3) calc(var(--grid-gap) / 8 * 3) calc(var(--grid-gap) / 8 * 3);
    position: relative;
    transition: transform .6s ease-in;
}
.trf-article-thumb::after {
    content: '';
    display: block;
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(50% 50% at 50% 50%, #1B2937 0%, rgba(27, 41, 55, 0) 100%);
    opacity: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    pointer-events: none;
    transform: translate(40%, 60%);
    transition: opacity .6s ease-in;
}
.trf-article-thumb:hover {
    transform: translateY(-16px);
    transition: transform .4s ease-out;
}
.trf-article-thumb:hover::after {
    opacity: 0.5;
    transition: opacity .4s ease-out;
}
.trf-article-thumb .trf-thumb-wrapper {
    border-radius: 0;
    position: relative;
    margin: 0 calc(var(--grid-gap) / 8 * -3);
    box-shadow: 0 5px 5px #1B2937 inset;
}
.trf-article-thumb .trf-thumb-wrapper::before {
    background: linear-gradient(0deg, #0C0C0C 0%, rgba(12, 12, 12, 0) 100%);
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: calc(var(--grid-gap) / 4 * 3);
    z-index: 1;
    pointer-events: none;
    transform: translateX(1px);
}
.trf-article-thumb .trf-article-block--title {
    margin-top: -32px;
    font-size: 21.33px;
    line-height: 26px;
    z-index: 3;
}




.trf-article-slide {
    display: flex;
    flex-direction: column;
    gap: calc(var(--grid-gap) / 2);
}
.trf-article-slide .trf-thumb-wrapper {
    display: flex;
    flex-direction: column;
    padding: calc(var(--grid-gap) / 2);
    background-color: rgb(var(--color-primary--rgb--dark));
    height: 320px;
    position: relative;
    overflow: visible;
    transition: background-color .6s ease-in;
}
.trf-article-slide .trf-thumb-wrapper::before {
    content: '';
    display: block;
    position: relative;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA4NiAxNiI+DQogIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDguMTQxdi0xaDg1djF6Ii8+DQogIDxwYXRoIHN0cm9rZT0iI2ZmZiIgZD0iTTc3LjkyOS41NyA4NSA3LjY0MWwtNy4wNzEgNy4wNzEiLz4NCjwvc3ZnPg==");
    width: 85px;
    height: 16px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left;
    position: absolute;
    left: 32px;
    bottom: 32px;
    transition: transform .6s ease-in;
}
.trf-article-slide:hover .trf-thumb-wrapper {    
    background-color: rgb(var(--color-primary--rgb));
    transition: background-color .4s ease-out;
}
.trf-article-slide:hover .trf-thumb-wrapper::before {
    transform: translateX(8px);
    transition: transform .4s ease-out;
}
.trf-article-slide .trf-thumb-wrapper .trf-thumb {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70%;
    transform-origin: right bottom;
    border-bottom-right-radius: 8px;
    transition: var(--transition--static-slow);
}
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt {
    overflow: hidden;
}
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt>*:not(.trf-thumb), 
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt::before {
    z-index: 2;
}
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt::after {
    content: '';
    display: block;
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /*background: rgb(var(--color-primary--rgb--dark));*/    
    /*background: linear-gradient(0deg, rgba(var(--color-primary--rgb--dark),1) 0%, gba(var(--color-primary--rgb--dark),0) 100%);*/
    transition: var(--transition--static-slow);

    background: linear-gradient(120deg, rgba(var(--color-primary--rgb--dark),1) 0%, rgba(var(--color-primary--rgb--dark),1) 30%, rgba(var(--color-primary--rgb--dark),.9) 45%, rgba(var(--color-primary--rgb--dark),0) 100%);
}
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt:hover::after {
    transition: var(--transition--static-slow);
    background: linear-gradient(120deg, rgba(var(--color-primary--rgb),1) 0%, rgba(var(--color-primary--rgb),1) 30%, rgba(var(--color-primary--rgb),.9) 45%, rgba(var(--color-primary--rgb),0) 100%);
}
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt .trf-thumb {
    position: absolute;
    left: 50%;
    top: 50%;
    min-width: 100%;
    min-height: 100%;
    transform-origin: center center;
    border-radius: 0;
    transition: var(--transition--static-slow);
    transform: translate(-50%, -50%);
    z-index: 0;
}
.trf-article-slide .trf-thumb-wrapper.trf-thumb-wrapper-alt:hover .trf-thumb {
    transform: translate(-50%, -50%) scale(1.05);
}
.trf-article-slide .trf-thumb-wrapper h2 {
    font-size: calc(var(--grid-gap) / 2);
    text-transform: uppercase;
    max-width: 60%;
    margin-top: 0;
    font-weight: 400;
}


.trf-limotak-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--grid-gap) calc(var(--grid-gap) / 8 * 9);
    gap: calc(var(--grid-gap) / 8 * 3);
    text-decoration: none;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-radius--default);
    position: relative;
}
.trf-limotak-panel > *:not(trf-limotak-panel--background) {
    position: relative;
    z-index: 1;
}
.trf-limotak-panel .trf-limotak-panel--background  {
    position: absolute;
    /*mix-blend-mode: luminosity;*/
    top: 50%;
    left: 50%;
    opacity: .07;
    transform: translate(-50%, -50%);
    z-index: 0;
    min-width: 100%;
    min-height: 100%;
    transition: transform .6s ease-in,
                opacity .6s ease-in;
}
.trf-limotak-panel--logo {
    width: 100%;
    display: block;
    padding: 0 calc(var(--grid-gap) / 4 * 3);
}
.trf-limotak-panel p {
    font-size: 14px;
    text-align: center;
    margin-top: 0;
}
.trf-limotak-panel:hover .trf-limotak-panel--background {
    opacity: .03;
    transform: translate(-50%, -50%) scale(1.1);
    transition: transform .4s ease-out,
                opacity .4s ease-out;
}


.trf-footer-list-heading {
    color: var(--color-paragraph);
    font-weight: 400;
    font-size: 22px;
    line-height: 16px;
    text-transform: uppercase;
    margin-bottom: calc(var(--grid-gap) / 2);
}
.trf-footer-list {
    list-style-type: none;
    font-size: 0;
    padding-left: 0;
}
.trf-footer-list li {
    padding-left: 24px;
    font-size: initial;
    position: relative;
    transition: width .6s ease-in,
                left .6s ease-in,
                padding-left .6s ease-in;
}
.trf-footer-list li::before {
    position: absolute;
    background-color: rgb(var(--color-primary--rgb));
    content: '';
    display: block;
    height: 1px;
    width: calc(var(--grid-gap) / 4);
    left: 0;
    top: calc(50% - 1px);
    border-radius: 1px;
    transition: width .6s ease-in,
                left .6s ease-in;
}
.trf-footer-list li:hover::before {
    width: 0;
    left: calc(var(--grid-gap) / 4);
    transition: width .4s ease-out,
                left .4s ease-out;
}
.trf-footer-list li a {
    color: var(--color-contrast);
}
.trf-footer-list li:hover {
    padding-left: 28px;
    transition: padding-left .4s ease-out;
}
.trf-footer-list li:hover,
.trf-footer-list li:hover a {
    color: var(--color-paragraph);
}
.trf-footer-list li a {
    color: var(--color-contrast);
    text-decoration: none;
}
.trf-footer-list li + li {
    margin-top: 16px;
}

.trf-contacts-list dt {
    width: calc(var(--grid-gap) / 4 * 5);
    float: left;
    clear: both;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.trf-contacts-list dd {
    margin-left: calc(var(--grid-gap) / 2 * 3);
}
.trf-contacts-list dd {
    margin-bottom: 16px;
}
.trf-contacts-list--whatsapp {
    color: var(--color-contrast);
    text-decoration: none;
}
.trf-contacts-list--whatsapp i {
    color: #0EC12F;
}




footer hr {
    margin: var(--grid-gap) 0;
    border: 0;
    height: 1px;
    background: white;
    opacity: .05;
}
footer .trf-nav-grid,
footer .trf-logo-wrapper {
    align-items: center;
}

.trf-copyright {
    font-weight: 400;
    font-size: 14px;
}

.trf-app-link-list {
    list-style-type: none;
    font-size: 0;
    padding-left: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    margin-top: 16px;
}
.trf-app-link-list > li {
    flex-grow: 1;
    flex-basis: 0;
    transition: var(--transition--static-slow);
}
.trf-app-link-list > li a,
.trf-app-link-list > li img {
    display: block;
    font-size: 0;
    width: 100%;
}
.trf-app-link-list > li:hover {
    transform: scale(1.05);
    transition: var(--transition--hover-slow);
}

.trf-social-links {
    list-style-type: none;
    font-size: 0;
    padding-left: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    align-items: center;
}
.trf-social-links li {
    display: flex;
    font-size: initial;
    align-items: center;
}
.trf-social-links li a {
    color: var(--color-contrast);
    font-size: 24px;
    transition: color .6s ease-in;
}
.trf-social-links li:hover a {
    color: var(--color-paragraph);
    transition: color .4s ease-out;
}



.whatsapp-widget {	
    height: 40px;
    position: fixed;
	bottom: 15px;
    right: 164px;
	background-color: rgb(14, 193, 47);
    z-index: 100;
	color: #fff;
	padding: 8px 24px;
	/*border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;*/
	border-radius: 24px;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
	transition: all .3s ease-in;
    font-size: 13px;
    line-height: 22px;
    text-decoration: none;
}
.whatsapp-widget:hover {	
	background-color: #008069;
	color: #fff;
	transition: all .2s ease-out;
}
.whatsapp-widget::after {	
	content: '';
	display: block;
	position: absolute;
	right: 2px;
	top: 2px;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background-color: #FF0000;
}

@media (max-width: 1200px) {
    .trf-banner-home--image {
        width: 100%;
    }
}


/*desktop*/
@media screen and (max-width: 1440px) {
    h1 {
        font-size: calc(var(--grid-gap) / 8 * 5);
        line-height: calc(var(--grid-gap) / 8 * 7);
    }
    .trf-flag-inline img {
        height: calc(var(--grid-gap) / 8 * 3);
        border-radius: var(--border-radius--half);
    }
    .trf-heading-arrow {
        height: calc(var(--grid-gap) / 3);
        margin-left: calc(var(--grid-gap) / 2);
    }
    /*.trf-lang-switcher,
    .trf-lang-switcher--list a,
    .trf-booking-form--tabs>li a {
        font-size: 18px;
        line-height: 18px;
    }*/
    .trf-icon-block--icon {
        height: calc(var(--grid-gap) / 2 * 3);
        width: calc(var(--grid-gap) / 2 * 3);
    }
    /*.trf-article-block--title, .trf-pageblock--title {
        font-size: calc(var(--grid-gap) / 2);
        line-height: calc(var(--grid-gap) / 16 * 9);
    }*/
    .trf-footer-list li,
    .trf-contacts-list,
    footer p,
    .trf-logo-wrapper p {
        font-size: 13px;
    }
    .trf-logo-wrapper a, .trf-logo-wrapper img {
        height: calc(var(--grid-gap) / 2);
    }    
    .trf-banner-home--image {
        max-width: 60vw;
    }
}

/*tablets*/
@media (max-width: 991.99px) {

}

/*mobile*/
@media (max-width: 687.99px) {
    .trf-hidden-small {
        display: none;
    }
    .trf-banner-home--content-grid {
        row-gap: var(--grid-gap);
    }
    .trf-nav-grid {
        row-gap: calc(var(--grid-gap) / 4);
    }
    .trf-logo-wrapper p {
        font-size: 13px;
        line-height: 10px;
    }
    /*.trf-nav-grid>*:last-child {
        justify-content: space-between;
    }*/
    h1,
    .trf-pageblock--title {
        font-size: calc(var(--grid-gap) / 2);
        line-height: calc(var(--grid-gap) / 3* 2);
    }
    .trf-flag-inline img {
        height: calc(var(--grid-gap) / 4);
    }
    .trf-heading-arrow {
        height: calc(var(--grid-gap) / 4);
        margin-left: 0;
    }
    h2,
    .trf-article-block--title {
        font-size: calc(var(--grid-gap) / 3);
        line-height: calc(var(--grid-gap) / 2);
    }
    .trf-container {
        width: calc(100vw - var(--grid-gap));
    }
    .trf-banner-mobile--image img {
        min-width: 100%;
    }
    .trf-banner-mobile > .trf-grid {
        row-gap: 0;
    }
    .trf-booking-form--tabs>li a {
        font-size: 16px;
    }
    .trf-booking-form--tabs>li a i {
        font-size: 12px;
    }
    .trf-banner-mobile--text {
        padding: 0;
        padding-left: calc(var(--grid-gap) / 2);
    }
    .trf-banner-mobile--text > * {
        padding: calc(var(--grid-gap) / 2);
    }
    .trf-article-block {
        row-gap: 0;
    }    
    .trf-article-block h2 {
        margin-top: calc(var(--grid-gap) / 2);
    }
    .trf-article-accent .trf-article-block h2 {
        margin-top: 0;
    }
    footer .trf-logo-wrapper {
        flex-direction: column;        
    }
    .trf-copyright {
        margin-top: calc(var(--grid-gap) / 2);
    }
    footer .trf-nav-grid>*:last-child {
        justify-content: center;
    }
}



/// new faq

.faq-block {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-item {
  background-color: #2c2c2c;
  border-radius: 8px;
  padding: 20px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.faq-item:hover {
  background-color: #3a3a3a;
}

.faq-question {
  font-weight: 600;
  color: #ffffff;
  position: relative;
}

.faq-question::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 0;
  color: #aaa;
  font-size: 1.2em;
}

.faq-item.open .faq-question::after {
  content: '–';
}

.faq-answer {
  margin-top: 10px;
  color: #ccc;
  display: none;
  font-weight: 400;
  line-height: 1.6;
}

/* 1. Кнопка в шапке "Book Transfer" */
.trf-header .trf-btn-order {
  background-color: #2c2c2c !important;
  color: #fff;
  border: none;
}

/* 2. Остальные кнопки — черные по умолчанию */
.trf-btn {
  background-color: #171717;
  color: #fff;
  transition: background-color 0.3s ease;
  border: none;
}

/* 3. Остальные кнопки — серые при наведении */
.trf-btn:hover {
  background-color: #2c2c2c;
  color: #fff;
}

/* Исключаем кнопку в шапке, чтобы на неё hover не влиял */
.trf-header .trf-btn-order:hover {
  background-color: #2c2c2c;
}

