*,
:before,
:after {
    padding: 0;
    margin: 0;
    transition: all 0.3s ease-in-out;
}

:root {
    --orange: #F58334;
    --lightorange: #FFECDE;
    --green: #063a39;
    --lightgreen: #CAD5CD;
    --biela: #FFFFFF;
    --tmava: #383E42;

    --br: 10px;
    --rightbr: 0 10px 10px 0;
    --leftbr: 10px 0 0 10px;
    --downbr: 0 0 10px 10px;
    --topbr: 10px 10px 0 0;
    --nobr: 0;
    --halfbr: 5px;
}

::selection {
    background: var(--green);
    color: var(--biela);
}

/*scrollbars*/
/* width */
::-webkit-scrollbar {
    width: 10px;
    cursor: pointer !important;
}

/* Track */
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 1px var(--lightgreen);
    border-radius: 5px;
    cursor: pointer !important;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--green);
    border-radius: 5px;
    cursor: pointer !important;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--green);
}

html {
    scroll-behavior: smooth;
    font-size: 14px;
    /* setting for rem */
}

body {
    font-family: Montserrat;
    font-weight: 500;
    transition: padding-right 0s ease-in-out !important;
    /*to prevent screen shifting on modal opening*/
}

a {
    text-decoration: none;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
    font-family: "Lexend Mega";
    text-transform: uppercase;
}

h1 {
    font-size: 5rem;
    position: relative;
}

h1 .cursive {
    font-size: 20rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -290px;
}

h2 {
    font-size: 5rem;
}

h3 {
    font-size: 3rem;
    line-height: 4rem;
}

h3.h3-smaller {
    font-size: 2.25rem;
    line-height: 2.9rem;
}

h4 {
    font-size: 1.5rem;
    line-height: 2rem;
    margin-bottom: 0.5rem;
}

h5 {
    font-size: 1.3rem;
}

h5.h5-smaller {
    font-size: 1.2rem;
}

h6 {
    font-size: 1rem;
}

@media only screen and (max-width: 1024px) {
    h3 {
        font-size: 2.3rem;
        line-height: 3.3rem;
    }

    h6 {
        font-size: 0.9rem;
    }
}

p {
    font-size: 1rem;
    color: var(--green);
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    line-height: 150%;
}

.fs-40 {
    font-size: 2.2rem;
    line-height: 2.7rem;
}

.fs-09 {
    font-size: 0.9rem;
    line-height: 1.1rem;
}

section {
    padding: 2rem 0;
    position: relative;
}

img {
    max-width: 100%;
    height: auto;
}

.rounded-img {
    border-radius: var(--br);
    overflow: hidden;
}

button {
    font-family: Lexend Mega;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1rem;
    padding: 2rem 4rem;
    cursor: pointer;
}

.br {
    border-radius: var(--br);
}

.cursive {
    font-family: Qwitcher Grypen;
    text-transform: capitalize;
}

.text-white {
    color: var(--biela);
}

.text-dark {
    color: var(--tmava);
}

.text-black {
    color: black;
}

.text-green {
    color: var(--green);
}

.text-lightgreen {
    color: var(--lightgreen);
}

.text-orange {
    color: var(--orange);
}

.text-lightorange {
    background-color: var(--lightorange);
}

.bg-white {
    background-color: var(--biela);
}

.bg-dark {
    background-color: var(--tmava);
}

.bg-green {
    background-color: var(--green);
}

.bg-lightgreen {
    background-color: var(--lightgreen);
}

.bg-orange {
    background-color: var(--orange);
}

.bg-lightorange {
    background-color: var(--lightorange);
}

.w-100 {
    width: 100%;
}

@media only screen and (max-width: 991px) {
    .w-md-100 {
        width: 100% !important;
    }
}

@media only screen and (max-width: 768px) {
    .w-sm-100 {
        width: 100% !important;
    }

    .text-center-sm {
        text-align: center;
    }
}

.gap-05 {
    gap: 0.5rem;
}

.gap-1 {
    gap: 1rem;
}

.gap-15 {
    gap: 1.5rem;
}

.gap-2 {
    gap: 2rem;
}

.list-type-none {
    list-style-type: none;
}

.vertical-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vertical-center .btn {
    width: fit-content;
}

/*preloader*/
#preloader {
    position: fixed;
    top: 0;
    z-index: 999999;
    width: 100vw;
    height: 100vh;
    background-color: var(--green);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 1s ease;
    transform: translateX(0);
}

body.loaded #preloader {
    transform: translateX(100%);
}

#preloader .img-holder {
    position: relative;
}

#preloader .img-holder .go {
    width: 200px;
    height: 200px;
}

#preloader .img-holder .cirlce {
    position: absolute;
    top: -25px;
    right: -25px;
    z-index: -1;
    animation: spin 12s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/*adjusting modal background and modals*/
.modal-backdrop {
    background-color: transparent !important;
}

.modal {
    backdrop-filter: blur(8px);
    z-index: 100050;
}

.modal-content {
    border: none;
    border-radius: var(--br);
    background-color: var(--lightorange);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    padding: 3rem 12%;
}

.modal-header {
    border-bottom: none;
}

.modal-footer {
    border-top: none;
}

.modal .close {
    background-color: var(--orange);
    border-radius: 50%;
    padding: 0.5rem;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    opacity: 1;
    position: absolute;
    top: 30px;
    right: 40px;
    z-index: 99;
}

.modal .close img {
    width: calc(35px - 1.5rem);
}

/*form*/
.form-group {
    position: relative;
}

form label {
    font-weight: 300;
    margin-bottom: 0.35rem;
}

.form-group input,
.form-group textarea {
    background: transparent;
    border: 1px solid var(--dark);
    border-radius: var(--br);
    padding: 0.85rem;
    color: var(--dark);
    position: relative;
}

.form-group input:focus-visible,
.form-group textarea:focus-visible {
    outline: none;
}

.form-group input.with-icon,
.form-group textarea.with-icon {
    padding-left: 3.5rem;
}

.form-group input+img,
.form-group textarea+img {
    position: absolute;
    object-fit: contain;
    top: 0.85rem;
    left: 1rem;
    width: 22px;
    height: 22px;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--dark);
    font-family: Montserrat;
    font-weight: 400;
    opacity: 1;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="number"],
.form-group textarea {
    width: 100%;
}

.form-group label {
    color: var(--green);
    font-size: 0.9rem;
    font-weight: 400;
}

form.green-form input,
form.green-form textarea {
    border: 1px solid var(--green);
    color: var(--green);
    font-weight: 500;
}

form.green-form input::placeholder,
form.green-form textarea::placeholder {
    color: var(--green) !important;
    opacity: 0.6;
}

form.green-form label {
    color: var(--green) !important;
}

form.white-form input,
form.white-form textarea {
    border: 1px solid var(--biela);
    color: var(--biela);
    font-weight: 500;
}

form.white-form input::placeholder,
form.white-form textarea::placeholder {
    color: var(--biela) !important;
}

form.white-form label {
    color: var(--biela) !important;
}

form.orange-form input,
form.orange-form textarea {
    border: 1px solid var(--orange);
    color: var(--orange);
    font-weight: 500;
}

form.orange-form input::placeholder,
form.orange-form textarea::placeholder {
    color: var(--orange) !important;
    opacity: 0.6;
}

form.orange-form label {
    color: var(--orange) !important;
}

form.orange-form.green-labels label {
    color: var(--green) !important;
}

/*jquery autocomplete*/
.ui-menu {
    z-index: 999999;
    /*modal has z-index 1050*/
    overflow: hidden;
}

.ui-menu .ui-menu-item .ui-menu-item-wrapper {
    padding: 0.75rem 1rem !important;
    border: none !important;
}

/*custom styly pre tento autocomplete su v subore /js/frontend/jqueryUI/jquery-ui.css.
Pre neupravenu verziu treba v layoute linkut .min.css namiesto tejto */

/*header*/
header {
    position: absolute;
    width: 100%;
    z-index: 99999;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.navbar-nav .nav-link {
    color: var(--biela);
    font-family: Lexend Mega;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1rem;
    position: relative;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.navbar-nav .nav-link:before {
    content: "";
    width: 0%;
    height: 2px;
    background-color: var(--biela);
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.3s ease-in-out;
}

.dropdown-menu:hover {
    display: block;
}

/*pc menu*/
@media only screen and (min-width: 992px) {
    .navbar-collapse {
        width: 100%;
        justify-content: space-between;
    }

    .navbar-nav .nav-link:hover:before {
        width: 100%;
    }

    .navbar-collapse .navbar-nav {
        flex-grow: 1;
        justify-content: center;
        gap: 2rem;
    }

    .dropdown .dropdown-toggle:hover+.dropdown-menu,
    .dropdown-menu:hover {
        display: block;
    }

    .dropdown>.dropdown-toggle:active {
        /*Without this, clicking will make it sticky*/
        pointer-events: none;
    }

    /*first level dropdown menu (categories)*/
    .dropdown-menu {
        padding-top: 1rem;
        transform: translateX(-25%);
        background-color: transparent;
        border: none;
        margin-top: -5px;
    }

    .dropdown-menu-inner {
        background-color: var(--lightorange);
        position: relative;
        border-radius: var(--downbr);
        padding: 1.2rem 0;
        min-width: 270px;
    }

    /*second level dropdown menu (destinations)*/
    .dropright .dropdown-menu {
        position: absolute;
        left: calc(100% - 2px);
        top: 0px;
        min-height: 100%;
        transform: translateX(0);
        padding: 0 0 0 2px;
    }

    .dropright .dropdown-menu .dropdown-menu-inner {
        min-height: 100%;
        min-width: 380px;
        background-color: var(--lightorange);
        border-radius: var(--downbr);
        padding: 1.2rem 0;
        position: absolute;
    }

    /*general*/
    .dropdown-item {
        font-family: Lexend Mega;
        font-weight: 600;
        color: var(--green);
        padding: 0.5rem 1.5rem;
    }

    .dropdown-item:hover {
        background-color: transparent;
        color: var(--orange);
        padding-left: 1.5rem;
    }

    .dropdown-item:active,
    .dropdown-item:focus {
        background-color: transparent;
    }

    .dropdown-item:before {
        content: "";
        background-image: url('/images/frontend/icons/heart.png');
        background-size: contain;
        display: inline-flex;
        width: 12px;
        height: 12px;
        opacity: 0;
        visibility: hidden;
        margin-left: -20px;
    }

    .dropdown-item:hover:before {
        opacity: 1;
        visibility: visible;
        margin-left: 0px;
    }

    /*first level*/
    .dropright>.dropdown-item {
        text-transform: uppercase;
        line-height: 140%;
    }

    .dropright>.dropdown-item:after {
        opacity: 0;
    }

    /*second level*/
    .dropright .dropdown-menu .dropdown-item {
        font-family: Montserrat;
        font-weight: 500;
        font-size: 0.9rem;
    }

    .dropright .dropdown-menu .dropdown-item:before {
        margin-right: 0.5rem;
    }
}

/*mobile menu*/
@media only screen and (max-width: 991px) {
    header {
        position: fixed;
        color: var(--biela);
        padding: 0;
    }

    header .logo {
        max-width: 100px;
    }

    header .navbar {
        background-color: var(--green);
        padding: 1rem 2rem;
    }

    header .nav-item {
        margin-bottom: 1.2rem;
    }

    header .nav-item:first-child {
        margin-top: 3rem;
    }

    header .nav-link:after {
        position: absolute;
        top: 50%;
        right: 0;
    }

    header .navbar-toggler-icon {
        position: relative;
        height: 1.5px;
        width: 24px;
        background-color: var(--biela);
    }

    header .navbar-toggler:hover,
    .navbar-toggler:active,
    .navbar-toggler:focus,
    header .navbar-toggler-icon:hover,
    .navbar-toggler-icon:active,
    .navbar-toggler-icon:focus {
        outline: none;
        box-shadow: none;
    }

    header .navbar-toggler-icon:before {
        content: "";
        position: absolute;
        top: -6px;
        left: 0;
        height: 1.5px;
        width: 24px;
        background-color: var(--biela);
        transition: all 0.3s ease-in-out;
    }

    header .navbar-toggler-icon:after {
        content: "";
        position: absolute;
        bottom: -6px;
        left: 0;
        height: 1.5px;
        width: 24px;
        background-color: var(--biela);
        transition: all 0.3s ease-in-out;
    }

    header .navbar-toggler[aria-expanded='true'] .navbar-toggler-icon {
        transform: rotate(45deg);
    }

    header .navbar-toggler[aria-expanded='true'] .navbar-toggler-icon:before {
        transform: rotate(-90deg);
        top: 0 !important;
    }

    header .navbar-toggler[aria-expanded='true'] .navbar-toggler-icon:after {
        display: none;
    }

    .dropdown-menu {
        background-color: transparent;
        padding: 0;
        margin: 0;
        border: none;
    }

    .dropright>.dropdown-item {
        color: var(--biela);
        font-family: "Lexend Mega";
        text-transform: capitalize;
        margin-top: 1rem;
        position: relative;
    }

    .dropright>.dropdown-item:after {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%) rotate(90deg);
    }

    .dropright>.dropdown-item:last-child {
        margin-bottom: 1rem;
    }

    .dropright>.dropdown-item:hover,
    .dropright>.dropdown-item:focus,
    .dropright>.dropdown-item:active {
        background-color: transparent;
        color: var(--lightorange);
    }

    .dropright>.dropdown-item[aria-expanded="true"]:after {
        transform: translateY(-80%) rotate(-90deg);
    }

    .dropright .dropdown-menu .dropdown-item {
        color: var(--biela);
        padding-left: 3rem;
        white-space: break-spaces;
    }

    .dropright .dropdown-menu .dropdown-item:last-child {
        margin-bottom: 0.5rem;
    }

    .dropright .dropdown-menu .dropdown-item:hover,
    .dropright .dropdown-menu .dropdown-item:active,
    .dropright .dropdown-menu .dropdown-item:focus {
        background-color: transparent;
        color: var(--lightorange);
    }
}

/*footer*/
footer {
    background-color: var(--green);
    background-position: center center;
    background-size: cover;
    padding: 8rem 0 5rem 0;
}

.socials {
    display: flex;
    gap: 1.5rem;
}

.social-posts {
    width: 100%;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.social-post {
    position: relative;
    border-radius: var(--br);
    overflow: hidden;
}

.ig-posts .social-post {
    width: calc(33% - 0.5rem);
}

.yt-posts .social-post {
    width: calc(50% - 0.5rem);
}

.footer-logo-carousel img {
    width: 30%;
    height: 40px;
    object-fit: contain;
}

/*posts elsewhere*/
.big-posts {
    justify-content: space-between;
}

.big-posts .social-post {
    margin-bottom: 1rem;
}

/*banners*/
.banner {
    position: relative;
    /* height: 100vh; */
    background-size: cover;
    background-position: center center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    height: 100vh;
}

.banner.breadcrumb-banner {
    height: 70vh;
}

.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 1rem;
}

.overlay.overlay-light {
    background-color: rgba(0, 0, 0, 0.2);
}

.banner .overlay {
    padding-top: 5%;
}

.breadcrumb-banner .overlay {
    padding-top: 1rem;
}

.banner video {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.banner .banner-side-bg {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
}

.banner-side-bg .overlay .overlay-inner {
    padding: 5rem 12%;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.white-space-normal {
    white-space: normal;
}

@media only screen and (max-width: 991px) {
    .banner-side-bg.left {
        background-position: center 10%;
        height: 500px;
    }

    .banner-side-bg.right {
        height: fit-content;
    }
}

/*homepage - H1 - rotating text*/
.is-hidden {
    display: none !important;
}

.rotating-text-inner {
    position: relative;
}

.rotating-text {
    display: inline-block;
    position: relative;
}

.rotating-text.is-inactive {
    position: absolute;
    right: 0;
    bottom: 100%;
}

/*elements*/
.section-title {
    position: relative;
    font-size: 5rem;
    text-align: center;
    margin-bottom: 3rem;
}

.section-title span.cursive {
    position: absolute;
    top: calc(-270px + 20px);
    left: 50%;
    transform: translateX(-50%);
    text-transform: capitalize;
    font-size: 19rem;
}

.section-title span.cursive.extra-padding {
    top: calc(-270px - 10px);
}

@media only screen and (max-width: 991px) {
    .section-title {
        font-size: 4rem;
        margin-bottom: 2rem;
    }

    .section-title span.cursive {
        top: -180px;
        font-size: 12rem;
    }

    .section-title span.cursive.extra-padding {
        top: calc(-170px - 10px);
    }

    .card.contact-box-wrapper {
        height: 350px;
    }
}

@media only screen and (max-width: 768px) {
    h2 .cursive {
        top: -120px !important;
    }
}

.cursive-pt {
    padding-top: 15rem;
}

.smudge-title {
    text-align: center;
    position: absolute;
    top: 0;
    z-index: 2;
    left: 50%;
    transform: translate(-50%, -50%);
}

.smudge-title:before {
    content: "";
    position: absolute;
    width: 170%;
    height: 150%;
    z-index: -1;
    background-image: url('/images/frontend/smudge-orange-rotated.png');
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(-20%, -0%);
}

.smudge-title.smudge-title-green {
    transform: translate(-75%, -50%);
}

.smudge-title.smudge-title-green:before {
    background-image: url('/images/frontend/smudge.png');
    transform: rotate(0deg) translate(-21%, -2%);
    width: 170%;
}

.smudge-title.smudge-title-green span {
    font-size: 11rem !important;
}

.smudge-title span.cursive {
    font-size: 15rem;
}

.smudge-mt {
    margin-top: 15rem;
}

.square-img {
    border-radius: var(--br);
    overflow: hidden;
    height: 350px;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}

@media only screen and (max-width: 1199px) {
    .square-img {
        height: 290px;
    }

    .smudge-title.smudge-title-green {
        transform: translate(-60%, -50%);
    }
}

@media only screen and (min-width:992px) {
    .smudge-lg-mt {
        margin-top: 15rem;
    }

    .cursive-lg-pt {
        padding-top: 15rem;
    }
}

@media only screen and (max-width:991px) {
    .smudge-sm-mt {
        margin-top: 15rem;
    }

    .cursive-sm-pt {
        padding-top: 15rem;
    }

    .square-img {
        height: 690px;
    }
}

@media only screen and (max-width:768px) {
    .square-img {
        height: 250px;
    }
}

.search-bar {
    background: var(--orange);
    color: var(--biela);
    border: 2px solid var(--orange);
    border-radius: var(--br);
    padding: 0.9rem;
    display: flex;
    height: 80px;
    width: 65%;
    padding: 0;
}

.search-bar form {
    display: flex;
}

.search-bar input {
    flex-grow: 1;
    border: none;
    border-radius: var(--leftbr);
    padding: 0.5rem 2rem;
}

.search-bar input::placeholder {
    color: var(--tmava);
    font-weight: 500;
}

.search-bar button {
    background: var(--orange);
    color: var(--biela);
    border: none;
}

.search-bar button:hover,
.search-bar button:focus,
.search-bar button:active {
    background: var(--lightorange);
    color: var(--orange);
    border: none;
}

@media only screen and (max-width:768px) {
    .search-bar {
        flex-direction: column;
        background: transparent;
        border: none;
        width: 80% !important;
        gap: 1rem;
    }

    .search-bar input {
        border-radius: var(--br) !important;
        border: 2px solid var(--orange);
        padding: 20px 10px !important;
        text-align: center;
        font-size: 1.2rem;
    }

    .search-bar button {
        border-radius: var(--br) !important;
        width: 100%;
    }

    .home-banner .overlay {
        gap: 10%;
    }

    .home-banner h1 .cursive {
        top: -160px;
    }
}

.smudge-counters {
    width: 100%;
    position: absolute;
    transform: translateY(-48%);
}

.smudge-counters .smudge {
    text-align: center;
    padding: 0 2rem;
}

.smudge-counters .counters {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-self: center;
}

.counter {
    text-align: center;
    color: var(--green);
    font-family: "Lexend Mega";
    padding: 0 1.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.counter .number {
    font-size: 2.8rem;
    margin-bottom: 0.8rem;
}

.counter span {
    text-transform: uppercase;
    font-size: 0.9rem;
}

@media only screen and (max-width: 1024px) {
    .counter span {
        font-size: 0.8rem;
    }
}

@media only screen and (max-width: 991px) {
    .smudge-counters {
        transform: translateY(0);
    }

    .smudge-counters .counters {
        position: relative;
        padding-top: 18%;
    }

    .smudge-counters .smudge {
        position: absolute;
        transform: translateY(-65%);
        overflow: hidden;
    }

    .smudge-counters .smudge img {
        max-width: 120%;
        margin: 0 -10% 0 -10%;
    }

    .smudge-counters .counters .counter {
        margin-bottom: 3rem;
    }

    .counter .number {
        font-size: 3.2rem;
    }

    .counter span {
        max-width: 50%;
    }
}

.orange-bar {
    position: relative;
    display: inline-flex;
    background: var(--orange);
    border-radius: var(--br);
    padding: 0.5rem;
    margin: 0 auto;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
}

.orange-bar .nav {
    width: 100%;
    display: flex;
    justify-content: center;
}

.orange-bar .nav .nav-item {
    flex-grow: 1;
}

.orange-bar .nav .nav-item .btn {
    width: 100%;
    border-radius: var(--halfbr);
}

.orange-bar .custom-select .select-selected {
    width: 20rem;
    border: none !important;
    border-radius: var(--halfbr);
    padding: 1.2rem;
    color: var(--green);
}

.orange-bar .custom-select .select-items {
    top: 57px;
    border: none;
    border-radius: var(--halfbr);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.orange-bar .custom-select .select-items div {
    padding: 1rem 1.2rem;
}

.orange-box {
    border: 1px solid var(--orange);
    border-radius: var(--br);
}

.orange-box .orange-box-inner {
    padding: 2rem 1.2rem;
}

/*card*/
.card {
    border-radius: var(--br);
    border: none;
    overflow: hidden;
    height: 370px;
    margin-bottom: 3rem;
}

.card-sm {
    height: 280px !important;
}

@media only screen and (max-width: 1200px) {
    .card-sm {
        height: 320px !important;
    }
}

.card .card-photo {
    flex-grow: 1;
    height: calc(100% - 200px);
}

.card .card-photo img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.card .card-desc {
    padding: 1.5rem 1.5rem;
    bottom: 0;
    width: 100%;
    overflow-y: hidden;
    z-index: 2;
    height: 50%;
}

.card .card-desc.bb-orange {
    border-bottom: solid 1rem var(--lightorange);
}

.card .card-desc.bb-green {
    border-bottom: solid 1rem var(--lightgreen);
}

.card-desc:hover {
    overflow-y: auto !important;
}

.card .card-title {
    margin-bottom: 1rem;
}

.hover-card .card-desc.card-desc-hover {
    left: 0;
    right: 0;
    max-height: calc(4rem + 1rem);
    overflow: hidden;
    transition: all 1s ease-out !important;
}

.hover-card:hover .card-desc-hover {
    max-height: 100%;
}

.card-desc-hover .card-title {
    margin-bottom: 2rem;
}

.card-accent {
    position: absolute;
    top: 0;
    left: 2rem;
    padding: 0.5rem;
    border-radius: var(--downbr);
    text-align: center;
    font-size: 0.9rem;
    z-index: 99;
}

.card:hover .card-photo img {
    transform: scale(1.05);
}

@media only screen and (max-width: 991px) {
    .hover-card {
        height: fit-content !important;
    }

    .hover-card .card-desc.card-desc-hover {
        max-height: unset;
        height: 100%;
    }

    .hover-card .card-photo img {
        height: 300px !important;
    }

    .guide-mobile {
        height: 100% !important;
        margin-bottom: 0.5rem !important;
    }

    .guide-mobile .card-photo {
        height: 330px;
    }

    .guide-mobile .card-body {
        height: 100%;
    }
}

/*cards in /kontakt*/
.contact-box {
    height: 100% !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 3rem !important;
    padding-top: 4rem !important;
}

.contact-box .card-title {
    text-align: center;
    line-height: 140%;
    margin-top: 1rem;
}

@media only screen and (max-width:1199px) {
    .card {
        height: 450px;
    }

    .card .card-desc {
        height: 65%;
    }
}

@media only screen and (max-width:1024px) {
    .contact-box .card-title {
        font-size: 1.2rem;
    }

    .contact-box .btn {
        font-size: 0.8rem;
    }
}

@media only screen and (max-width:991px) {
    .card {
        height: 500px;
    }

    .hover-card .card-desc-hover {
        max-height: 100%;
    }

    .trip-mini-params {
        justify-content: flex-start !important;
        gap: 2rem;
    }
}

/*trip parameters*/
.trip-mini-params {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.trip-mini-params .trip-param {
    display: flex;
    gap: 0.5rem;
    align-items: start;
    /*these 3 styles ensure the elements have equal widths*/
    flex-basis: 0;
    min-width: 0;
    flex-grow: 1;
}

.trip-mini-params .trip-param .param-img {
    width: 25px;
}

.trip-mini-params .trip-param .param-text {
    font-size: 0.8rem;
}

.trip-mini-params.trip-mini-params-2-columns {
    flex-wrap: wrap;
}

.trip-mini-params.trip-mini-params-2-columns .trip-param {
    width: 50%;
    margin-bottom: 1.25rem;
}

.trip-mini-params.trip-mini-params-2-columns .trip-param .param-img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.trip-mini-params.trip-mini-params-2-columns .trip-param .param-text {
    font-weight: 500;
    color: var(--green);
    font-size: 0.85rem;
}

.trip-mini-params-2-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.trip-param {
    width: 100% !important;
}


@media only screen and (min-width: 992px) and (max-width:1200px) {
    .trip-mini-params .trip-param {
        gap: 0.3rem;
    }

    .trip-mini-params .trip-param .param-img {
        width: 20px;
    }

    .trip-mini-params .trip-param .param-text {
        font-size: 0.7rem;
    }
}

@media only screen and (max-width:991px) {
    .trip-mini-params .trip-param {
        gap: 0.5rem;
    }

    .trip-mini-params .trip-param .param-img {
        width: 30px;
        height: 30px;
        object-fit: contain;
    }

    .trip-mini-params .trip-param .param-text {
        font-size: 1rem;
    }
}

/*buttons*/
.btn {
    border-radius: var(--br);
    background-color: var(--orange);
    color: var(--biela);
    font-family: Lexend Mega;
    font-weight: 600;
    text-transform: uppercase;
    padding: 1.2rem 2rem;
    margin-bottom: 0.5rem;
}

.btn:hover,
.btn:active,
.btn:focus-within,
.btn:focus {
    background-color: var(--lightorange);
    color: var(--orange);
    box-shadow: none;
    text-decoration: none;
}

.btn.btn-white-orange {
    background-color: var(--biela);
    color: var(--orange);
}

.btn.btn-white-orange:hover,
.btn.btn-white-orange:active,
.btn.btn-white-orange:focus {
    background-color: var(--lightorange);
    color: var(--orange);
}

.btn.btn-green {
    background-color: var(--green);
    color: var(--biela);
}

.btn.btn-green:hover,
.btn.btn-green:active,
.btn.btn-green:focus {
    background-color: var(--lightgreen);
    color: var(--green);
}

.btn.btn-white-green {
    background-color: var(--biela);
    color: var(--green);
}

.btn.btn-white-green:hover,
.btn.btn-white-green:active,
.btn.btn-white-green:focus {
    background-color: var(--lightgreen);
    color: var(--green);
}

.btn.btn-white-hover:hover,
.btn.btn-white-hover:active,
.btn.btn-white-hover:focus,
.btn.btn-white-hover.active {
    background-color: var(--white);
    color: var(--orange);
}

.btn.btn-big {
    padding: 1.6rem 3.8rem;
}

.btn.btn-small {
    font-size: 0.85rem;
    padding: 1.4rem 3.4rem;
}

@media only screen and (max-width: 1024px) {
    .btn.btn-small {
        font-size: 0.75rem;
        padding: 1.3rem 3rem;
    }
}

.btn.btn-slim {
    padding: 0.35rem 1.2rem;
    border-radius: var(--halfbr);
}

.btn.btn-leftbr {
    border-radius: var(--leftbr);
}

.btn.btn-rightbr {
    border-radius: var(--rightbr);
}

.btn.btn-topbr {
    border-radius: var(--topbr);
}

.btn.btn-bottombr {
    border-radius: var(--downbr);
}

.btn.btn-nobr {
    border-radius: var(--nobr);
}

/* table */
table {
    width: 100%;
    border-collapse: collapse;
}

table tbody tr {
    border-top: 1px solid var(--dark);
}

table td,
table th {
    padding: 1rem 0.5rem;
    font-size: 0.9rem;
    color: var(--orange);
    text-align: center;
}

table td img,
table th img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin-right: 0.5rem;
}

table td.termin-guide img,
table th.termin-guide img {
    border-radius: 50%;
    object-fit: cover;
}

table thead tr th:first-child,
table tbody tr td:first-child {
    text-align: left;
}

table thead tr th:last-child,
table tbody tr td:last-child {
    text-align: right;
}

table td a {
    text-decoration: underline;
}

/*novinky*/
.novinka {
    display: flex;
    align-items: center;
    height: 750px;
}

.novinka-photo {
    width: 50%;
    height: 100%;
}

.novinka-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.novinka-info {
    width: 50%;
    height: 100%;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 3rem;
}

@media only screen and (max-width: 991px) {
    .novinka {
        flex-direction: column;
        height: auto;
    }

    .novinka-photo {
        width: 100%;
        height: 400px;
        object-fit: cover;
    }

    .novinka-info {
        width: 100%;
        min-height: 400px;
    }

    #news-block .square-img {
        height: 350px;
    }
}

/*owl nav*/
.owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 2rem;
}

.owl-nav button {
    background-size: contain !important;
    width: 30px;
    height: 30px;
}

.owl-nav button:hover,
.owl-nav button:active,
.owl-nav button:focus,
.owl-nav button:focus-within {
    outline: none;
    box-shadow: none;
    background-color: transparent !important;
    opacity: 0.7;
}

.owl-prev {
    background-image: url('/owl/prev.svg') !important;
}

.owl-next {
    background-image: url('/owl/next.svg') !important;
}

.owl-prev span,
.owl-nav span {
    display: none;
}

/*zmysly*/
.zmysly img {
    max-height: 120px;
    min-height: 120px;
    object-fit: contain;
}

.zmysly h6 {
    text-align: center;
}

/* calendar */
.calendar-months {
    row-gap: 2rem;
}

.calendar-months .month-title {
    background-color: var(--orange);
    color: var(--biela);
    border-radius: var(--br);
    padding: 2rem;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    font-family: "Lexend Mega";
    margin-bottom: 1rem;
}

.calendar-months .zajazd {
    display: block;
    margin: 2rem 0;
}

.calendar-months .zajazd-infos {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 0.2rem;
}

.calendar-months .zajazd-infos .zajazd-info {
    display: flex;
    gap: 0.3rem;
    align-items: center;
}

.calendar-months .zajazd-infos .zajazd-info img {
    display: flex;
    gap: 0.3rem;
    align-items: center;
    width: 18px;
}

.calendar-months .zajazd-infos .zajazd-info span {
    font-weight: 700;
    color: var(--orange);
    font-size: 0.9rem;
    text-wrap: nowrap;
}

/*custom radio buttons*/
.radio-btn {
    display: block;
    position: relative;
    padding-left: 1.75rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.radio-btn input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 16px;
    width: 16px;
    background-color: transparent;
    border: 1px solid var(--orange);
    border-radius: 50%;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.radio-btn input:checked~.checkmark:after {
    display: block;
}

.radio-btn .checkmark:after {
    top: 2px;
    left: 2px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--orange);
}

/*orange sidebar*/
.sidebar .alert {
    margin: 0 10px;
}

.sidebar-filter .form-group {
    margin-bottom: 0;
}

.sidebar-filter .form-category {
    margin: 1.5rem 0 1rem 0;
    color: var(--green);
}

.sidebar-filter label {
    margin: 0.85rem 0;
    color: var(--green);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
}

.sticky-sidebar {
    position: -webkit-sticky;
    /* Safari */
    position: sticky;
    top: 1rem;
}

@media only screen and (min-width: 991px) and (max-width: 1200px) {
    .sidebar button[type="submit"] {
        white-space: normal;
    }
}

@media only screen and (max-width: 991px) {
    .sidebar .orange-box {
        border: none !important;
    }
}

/*mini článok*/
.mini-clanok {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    margin-bottom: 2rem;
}

.mini-clanok img {
    width: 130px;
    max-width: 130px;
    min-width: 130px;
    height: 130px;
    max-height: 130px;
    min-height: 130px;
    object-fit: cover;
}

.mini-clanok .mini-clanok-info h6 {
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.4;
}

.mini-clanok .mini-clanok-info a {
    font-weight: 600;
    font-size: 0.9rem;
}

/*detail článku*/
.clanok-detail .clanok-detail-podnadpis {
    font-size: 2rem;
    line-height: 2.5rem;
    padding: 1rem 0;
}

.clanok-detail p img {
    margin: 2rem 0;
}

.clanok-detail h1 {
    color: var(--green);
    font-size: 3.5rem;
}

.clanok-detail h2 {
    color: var(--green);
    font-size: 2.5rem
}

.clanok-detail h3 {
    color: var(--green);
    font-size: 1.5rem
}

.clanok-galeria {
    padding: 1rem 0 1rem 0;
}

.clanok-galeria.owl-carousel:not(.owl-loaded) > .item:not(:first-child) {
    display: none;
}

.clanok-galeria .owl-stage-outer {
    border-radius: var(--br);
    overflow: hidden;
}

.blog-fotogaleria {
    margin-top: 2rem;
    padding-top: 2rem;
}

.blog-fotogaleria-main {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

.blog-fotogaleria-main .blog-gallery-img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    object-position: center;
    display: block;
}

.blog-fotogaleria-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
    margin-bottom: 0;
}

.blog-gallery-thumb {
    flex: 0 0 auto;
    width: 88px;
    height: 58px;
    padding: 0;
    border: 3px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    background: #eee;
    transition: border-color 0.2s, opacity 0.2s;
    outline: none;
    box-shadow: none;
}

.blog-gallery-thumb:hover {
    opacity: 0.9;
}

.blog-gallery-thumb.active,
.blog-gallery-thumb:focus,
.blog-gallery-thumb:focus-visible {
    outline: none;
    border-color: var(--orange);
    box-shadow: 0 0 0 1px var(--orange);
}

.blog-fotogaleria + .blog-clanok-cta {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.blog-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.blog-gallery-counter {
    font-size: 0.9rem;
    margin-bottom: 8px;
}

/*orange circle smudge*/
.orange-circle-smudge {
    background-image: url('/images/frontend/orange-circle-smudge.png');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -80px;
    left: -60px;
    height: 170px;
    width: 170px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.2rem;
}

.orange-circle-smudge h6 {
    font-size: 0.85rem;
    font-weight: 600;
}

.orange-circle-smudge span {
    font-size: 0.75rem;
}

@media only screen and (max-width: 1024px) {
    .orange-circle-smudge {
        left: -5px !important;
    }
}

/*orange terracota side bg*/
.side-bg {
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat;
    height: calc(100% - 3rem);
    width: 40%;
    overflow: hidden;
}

.side-bg.terra-bg {
    background-image: url('/images/frontend/terra-bg.png');
}

.side-bg.green-bg {
    background-image: url('/images/frontend/footer.jpg');
}

.side-bg.left {
    border-radius: var(--rightbr);
}

.side-bg.right {
    border-radius: var(--leftbr);
    right: 0;
}

/*side bg in tablets/mobiles*/
@media only screen and (min-width: 992px) {
    .side-bg.pc {
        display: block;
    }

    .side-bg.mobile {
        display: none;
    }
}

@media only screen and (max-width: 991px) {
    .side-bg.pc {
        display: none;
        position: relative;
    }

    .side-bg.mobile {
        display: block;
        height: 510px;
        width: 510px;
        border-radius: 10px;
        top: -20px;
        left: 50%;
        transform: translateX(calc(-50% - 20px));
        z-index: -1;
    }

    .text-center-mobile {
        text-align: center;
    }

    .text-right-mobile {
        text-align: right;
    }
}

@media only screen and (max-width: 576px) {
    .side-bg.mobile {
        display: none;
    }
}

/*recenzia*/
.review-block {
    margin-bottom: 4rem;
}

.review-block .review-rating {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.review-block .review-rating .review-rating-stars {
    display: flex;
    gap: 0.5rem;
}

.review-block .review-rating .review-rating-stars img {
    width: 22px;
}

.review-block .review-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

/*zajazdy*/
.zajazdy-grid {
    display: grid;
    grid-gap: 2rem;
    grid-template-columns: 1fr 1fr 1fr;
}

.zajazdy-grid .zajazd:nth-child(1),
.zajazdy-grid .zajazd:nth-child(4),
.zajazdy-grid .zajazd:nth-child(5) {
    grid-column: span 2;
}

.zajazdy-grid .zajazd {
    height: 400px;
    border-radius: var(--br);
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    cursor: pointer;
}

.zajazdy-grid .zajazd .zajazd-info {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    opacity: 0;
}

.zajazdy-grid .zajazd .zajazd-info h3 {
    line-height: 110%;
}

.zajazdy-grid .zajazd:hover .zajazd-info {
    opacity: 0.9;
}

.zajazdy-grid .zajazd .zajazd-detaily {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    color: var(--biela);
    flex-wrap: wrap;
}

.zajazdy-grid .zajazd .zajazd-detaily .detail {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    max-width: calc(50% - 0.4rem);
    justify-content: center;
}

.zajazdy-grid .zajazd .zajazd-detaily .detail img {
    filter: brightness(0) invert(1);
}

.zajazdy-grid .zajazd .zajazd-detaily .detail span {
    text-wrap: nowrap;
    font-size: 0.8rem;
}

@media only screen and (max-width: 1199px) {
    .zajazdy-grid .zajazd .zajazd-detaily .detail img {
        width: 20px;
    }

    .zajazdy-grid .zajazd .zajazd-detaily .detail span {
        font-size: 0.75rem;
    }

    .zajazdy-grid .zajazd .zajazd-detaily .detail {
        gap: 0.4rem;
    }
}

/*zoznam vsetkych zajazdov*/
zoznam-zajazdov. .zajazd img {
    height: 300px;
}

.zoznam-zajazdov .zajazd-attributes {
    display: flex;
    gap: 2rem;
    align-items: center;
    padding: 0.3rem 0 0.7rem 0;
}

.zoznam-zajazdov .zajazd-attributes .attribute {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.zoznam-zajazdov .zajazd-attributes .attribute img {
    height: 15px;
}

.zoznam-zajazdov .zajazd-attributes .attribute {
    font-size: 0.8rem;
}

.zoznam-zajazdov .zajazd-popis {
    border-bottom: 1px solid var(--orange);
}

.dashed-border {
    background-image: linear-gradient(to right, var(--orange) 60%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 9px 0.07rem;
    background-repeat: repeat-x;
}

@media only screen and (max-width: 991px) {
    .zajazdy-sidebar {
        z-index: 2;
    }
}

/* sprievodcovia */
.guide {
    border-radius: var(--br);
    overflow: hidden;
}

.guide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guide .guide-overlay {
    position: absolute;
    top: 0;
    opacity: 0;
    height: 100%;
    width: 100%;
    padding: 1.5rem;
}

.guide:hover .guide-overlay {
    background-color: var(--lightgreen);
    opacity: 1 !important;
}

.guide .guide-overlay .guide-overlay-inner {
    border: 1px solid var(--green);
    border-radius: var(--halfbr);
    padding: 1rem;
    height: 100%;
}

.guide .guide-overlay .guide-overlay-inner p {
    padding-bottom: 1rem;
    overflow-y: scroll;
    height: 100%;
}

.guide .guide-overlay .guide-overlay-inner p::-webkit-scrollbar {
    display: none;
}

@media only screen and (max-width: 991px) {
    #our-team .rounded-img {
        width: 480px;
        height: 480px;
        object-fit: cover;
    }
}

/*zajazd podstranka*/
@media only screen and (max-width: 991px) {
    .zajazd-tabs-container {
        top: 30px !important;
        background-color: transparent !important;
    }

    .zajazd-tabs-container .nav-pills {
        flex-direction: column;
    }

    .zajazd-tabs-container .nav-pills .nav-item:first-child {
        margin-top: 1rem;
    }

    .zajazd-tabs-container .nav-pills .nav-item .btn {
        background-color: var(--white);
        color: var(--green) !important;
        border-color: var(--green) !important;
        font-size: 1.3 rem !important;
    }

    .zajazd-tabs-container .nav-pills .nav-item .btn .pill-icon {
        margin-right: 10px;
    }

    .zajazd-tabs-container .nav-pills .nav-item .btn:hover,
    .zajazd-tabs-container .nav-pills .nav-item .btn.active {
        background-color: var(--green);
        color: var(--white) !important;
    }

    .zajazd-tabs-container .nav-pills .nav-item .btn:hover .pill-icon,
    .zajazd-tabs-container .nav-pills .nav-item .btn.active .pill-icon {
        filter: brightness(0) invert(1);
    }

    #order-form .modal-content {
        padding: 2rem 5% !important;
    }

    .tab-header {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        justify-content: center;
        align-items: center;
        margin: 2rem 0;
    }

    .tab-header .tab-header-icon {
        width: 45px;
        height: 45px;
        object-fit: contain;
    }

    .tab-header .tab-header-title {
        font-size: 2.5rem !important;
        text-align: center;
    }

    .zajazd-perex {
        font-size: 1.5rem;
    }

    #zajazd-content .tab-pane:not(#recenzie) {
        padding: 0 2rem;
    }

    .tab-pane#recenzie .smudge-title:before {
        width: 131%;
        height: 128%;
        transform: translate(-6%, 0%);
    }

    .tab-pane#recenzie .smudge-title span {
        font-size: 11rem;
    }

    .tab-pane#recenzie .smudge-mt {
        margin-top: 10rem !important;
    }

    .tab-pane#recenzie .zajazd-testimonials .item>div {
        min-height: 390px;
    }
}

@media only screen and (min-width: 992px) {
    .zajazd-tabs-container .nav-pills .nav-item .btn .pill-icon {
        display: none;
    }
}

@media only screen and (max-width: 1199px) {
    .container-lg {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (min-width: 1200px) {
    .container-lg {
        max-width: 1140px;
        margin-left: auto;
        margin-right: auto;
    }
}

.zajazd-testimonials .owl-stage {
    display: flex;
    align-self: center;
}

.zajazd-testimonials .owl-stage .item,
.zajazd-testimonials .item .vertical-center {
    height: 100% !important;
}

.zajazd-testimonials .owl-nav {
    padding: 0 1rem !important;
}

.zajazd-testimonials .item>div {
    min-height: 590px;
}

.zajazd-testimonials .item>div p {
    width: 90%;
}

.zajazd-testimonials .row .col-lg-6 {
    background-size: cover;
    background-position: bottom right;
    padding: 3rem 4rem;
}

@media only screen and (max-width: 1200px) {
    .zajazd-testimonials .row .col-lg-6 {
        padding: 2.4rem;
    }
}

@media only screen and (max-width: 1024px) {
    .zajazd-testimonials-buttons {
        flex-direction: column;
        align-items: center;
    }
}

.program-zajazdu {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.program-zajazdu .program-modul {
    width: 100%;
    display: flex;
    align-items: start;
    gap: 1rem;
    overflow: hidden;
}

.program-zajazdu .program-modul .program-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    align-self: stretch;
}

.program-zajazdu .program-modul .program-left .program-cislo {
    width: 60px;
    min-width: 60px;
    max-width: 60px;
    height: 60px;
    min-height: 60px;
    max-height: 60px;
    border-radius: 50%;
    background-color: var(--orange);
    color: var(--biela);
    font-size: 1.5rem;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 2px;
    font-family: "Lexend Mega";
}

.program-zajazdu .program-modul .program-left .program-line {
    background-image: linear-gradient(to bottom, var(--orange) 60%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 0.07rem 9px;
    background-repeat: repeat-y;
    width: 5px;
    height: 100%;
}

.program-zajazdu .program-modul .program-right {
    width: 100%;
}

.program-zajazdu .program-modul .program-right .program-fotky {
    display: flex;
    gap: 1rem;
    margin-bottom: 3rem;
}

.program-zajazdu .program-modul .program-right .program-fotky img {
    width: calc(50% - 0.5rem);
    max-height: 240px;
    object-fit: cover;
}

.zajazd-detail-modul {
    border-top: 1px solid var(--dark);
    width: 100%;
    padding: 2rem 0;
    display: flex;
}

.zajazd-detail-modul-left {
    width: 18%;
    min-width: 18%;
    max-width: 18%;
    padding-right: 0.5rem;
}

.zajazd-detail-modul-right {
    flex-grow: 1;
}

.zajazd-detail-modul p,
.zajazd-detail-modul h2,
.zajazd-detail-modul h3,
.zajazd-detail-modul h4,
.zajazd-detail-modul h5,
.zajazd-detail-modul h6 {
    margin-bottom: 0;
}

.zajazd-detail-modul h2,
.zajazd-detail-modul h3,
.zajazd-detail-modul h4,
.zajazd-detail-modul h5,
.zajazd-detail-modul h6 {
    color: var(--green);
    line-height: 150%;
}

.zajazd-detail-modul-left h6 {
    color: var(--green);
    font-size: 0.9rem;
    line-height: 1.5;
}

.zajazd-detail-modul-left h6.text-orange {
    color: var(--orange);
}

/* faq-cards - accordion - collapsible elements*/
.faq-cards .card {
    height: unset !important;
    border: 1px solid var(--orange);
    border-radius: var(--br);
    margin-bottom: 0.75rem;
}

.faq-cards .card .card-header {
    background: transparent;
    border-bottom: none;
    padding: 0;
}

.faq-cards .card .card-header button {
    width: 100%;
    background: transparent !important;
    color: var(--green);
    text-align: left;
    margin-bottom: 0;
    padding: 1rem 1.25rem !important;
    font-size: 0.9rem;
}

.faq-cards .card .card-body {
    padding-top: 0 !important;
}

/*custom select*/
/* The container must be positioned relative: */
.custom-select {
    position: relative;
    width: 100%;
    padding: 0 !important;
    border-radius: var(--halfbr);
    border: none;
    height: unset;
}

.custom-select .select-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1rem;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.custom-select select {
    display: none;
    /*hide original SELECT element: */
}

.select-selected {
    background-color: var(--biela);
    padding: 0.7rem 1rem;
    color: var(--green);
    cursor: pointer;
    border-radius: var(--br);
    border: 1px solid var(--orange);
    font-weight: 500;
    font-size: 0.9rem;
}

.custom-select.with-icon .select-selected {
    padding-left: 3.75rem;
}

/* Style the arrow inside the select element: */
.select-selected:after {
    position: absolute;
    content: "";
    top: calc(50% - 8px);
    right: 1.2rem;
    width: 12px;
    height: 12px;
    border: 1.5px solid transparent;
    border-color: var(--orange) var(--orange) transparent transparent;
    transform: rotate(135deg);
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
    transform: rotate(-45deg);
    top: calc(50% - 2px);
}

/* style the items (options), including the selected item: */
.select-items div {
    color: var(--dark);
    cursor: pointer;
    padding: 0.7rem 1rem;
    font-size: 0.9rem;
}

/* Style items (options): */
.select-items {
    position: absolute;
    background-color: var(--biela);
    top: 45px;
    left: 0;
    right: 0;
    z-index: 9999;
    border-radius: var(--br);
    overflow: hidden;
    border: 1px solid var(--orange);
}

/* Hide the items when the select box is closed: */
.select-hide {
    display: none;
}

.select-items div:hover,
.same-as-selected {
    background-color: var(--lightgreen);
}

form.orange-form .select-selected {
    color: var(--orange);
}

/*select on a lightorange background*/
#reviews-form .select-selected {
    background-color: var(--lightorange);
    border-color: var(--green);
}

#reviews-form .select-selected:after {
    border-color: var(--green) var(--green) transparent transparent;
}

#reviews-form .select-items {
    border: 1px solid var(--green);
}

#reviews-form .custom-select {
    background-color: transparent
}

/*end of custom select styles*/


/* custom price slider */
/* Styles for the price input container */
.price-input-container {
    width: 100%;
}

.price-input {
    justify-content: space-between;
}

.price-input .price-field {
    width: calc(50% - 1rem);
}

.price-field input {
    height: 35px;
    border-radius: var(--br);
    text-align: center;
    border: 1px solid var(--orange);
    width: 100%;
}

.price-field input:active,
.price-field input:focus,
.price-field input:focus-within,
.price-field input:hover {
    box-shadow: none;
    outline: none;
}

.price-input {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Remove Arrows/Spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.slider-container {
    width: 100%;
}

.slider-container {
    height: 6px;
    position: relative;
    background: transparent;
    border-radius: var(--halfbr);
    border: 1px solid var(--orange);
}

.slider-container .price-slider {
    height: 100%;
    left: 0%;
    right: 15%;
    position: absolute;
    border-radius: var(--halfbr);
    background: var(--orange);
    transition: all 0s ease-in-out;
}

.range-input {
    position: relative;
    z-index: 99;
}

.range-input input {
    position: absolute;
    width: 100%;
    height: 5px;
    background: none;
    top: 0;
    pointer-events: none;
    cursor: pointer;
    -webkit-appearance: none;
}

/* Styles for the range thumb in WebKit browsers */
input[type="range"]::-webkit-slider-thumb {
    height: 15px;
    width: 15px;
    border-radius: var(--br);
    background: var(--orange);
    pointer-events: auto;
    -webkit-appearance: none;
    border: 1px solid var(--biela);
}

input[type="range"]::-moz-range-thumb {
    height: 15px;
    width: 15px;
    border-radius: var(--br);
    background: var(--orange);
    border: 1px solid var(--biela);
    pointer-events: auto;
}

/* lightgallery custom styles*/
.lg-backdrop {
    background: transparent !important;
    backdrop-filter: blur(8px);
}

.lg-image {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    border-radius: var(--halfbr);
}

.lg-prev,
.lg-next {
    background-color: var(--orange);
    border-radius: 50%;
}

.lg-prev:active,
.lg-prev:focus,
.lg-prev:focus-within,
.lg-prev:hover,
.lg-next:active,
.lg-next:focus,
.lg-next:focus-within,
.lg-next:hover {
    outline: none;
    box-shadow: none;
}

.lg-next:before,
.lg-next:after {
    content: "" !important;
}

.lg-next:after {
    content: "" !important;
    background-image: url('/owl/next.svg') !important;
    background-size: contain;
    width: 25px;
    height: 25px;
    display: block;
}

.lg-prev:after {
    content: "" !important;
    background-image: url('/owl/prev.svg') !important;
    background-size: contain;
    width: 25px;
    height: 25px;
    display: block;
}

.yt-video-img {
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center
}

.richdefaults h1 {
    font-size: 3rem;
}

.richdefaults h2 {
    font-size: 2.25rem;
}

.richdefaults h3 {
    font-size: 1.5rem;
    line-height: 110%;
}

.readmore {
    color: #F58334 !important;
    font-weight: bold;
}

.readmore:hover {
    cursor: pointer;
    text-decoration: underline !important;
}

/*responz*/
.smudge-counters {
    position: relative !important;
}

@media only screen and (max-width: 1200px) {
    .g-recaptcha {
        transform: scale(0.85);
    }
}

@media only screen and (max-width: 991px) {
    .side-bg {
        width: 15%;
    }

    .zajazdy-grid {
        grid-template-columns: 1fr;
        padding: 0 10px;
    }

    .zajazdy-grid .zajazd {
        height: auto;
    }

    .zajazdy-grid .zajazd:nth-child(1),
    .zajazdy-grid .zajazd:nth-child(4),
    .zajazdy-grid .zajazd:nth-child(5) {
        grid-column: span 1;
    }

    .zajazdy-grid .zajazd .zajazd-info {
        opacity: 0.85;
    }

    .kontakt .overlay {
        padding-top: 0;
    }

    .banner-side-bg .overlay .overlay-inner {
        padding: 20px 12%;
    }

    .banner.kontakt {
        height: fit-content;
    }

    h1 {
        font-size: 4rem;
    }

    .zajazd-detail-modul-left {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* mobile responsive */
@media only screen and (max-width: 768px) {
    h1 {
        font-size: 2.5rem;
    }

    h1 .cursive {
        font-size: 10rem;
    }

    h1 #rotating-text,
    .magazine h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 2rem !important;
    }

    h3 {
        font-size: 1.8rem;
        line-height: 2.5rem;
    }

    .smudge-counters {
        position: relative !important;
    }

    .smudge-title span.cursive {
        font-size: 5.5rem !important;
    }

    .double-section-title .cursive {
        font-size: 8rem !important;
    }

    .smudge-mt {
        margin-top: 5rem;
    }

    .smudge-title {
        left: 55%;
    }

    .zajazd-nazov h3 {
        font-size: 2rem;
    }

    .zajazdy-grid .zajazd .zajazd-detaily .detail span {
        text-wrap: wrap;
    }

    .zajazdy-grid .zajazd .zajazd-detaily {
        display: block !important;
    }

    .zajazdy-grid .zajazd .zajazd-detaily .detail {
        padding: 5px 0px;
    }

    .cursive-pt {
        padding-top: 8rem;
    }

    .section-title span.cursive.extra-padding {
        top: -150px;
    }

    .card {
        height: auto;
    }

    .zoznam-zajazdov .zajazd-attributes,
    .trip-mini-params {
        display: block;
    }

    .zoznam-zajazdov .zajazd-attributes .attribute,
    .trip-mini-params .trip-param {
        padding-top: 5px;
    }

    .zajazd-testimonials .row .col-lg-6 {
        padding: 1rem 2rem;
    }

    .zajazd-detail-modul {
        display: block;
    }

    .zajazd-detail-modul-left {
        padding-bottom: 15px;
    }

    .review-block .review-title {
        display: block;
    }

    .zajazd-detail-modul-right .trip-param {
        margin-bottom: 0.75rem !important;
    }

    .tabulka-terminov thead {
        display: none;
    }

    .tabulka-terminov tbody tr {
        display: flex;
        flex-wrap: wrap;
        border-top: 1px solid var(--orange);
    }

    .tabulka-terminov tbody tr td {
        padding-bottom: 5px;
        padding-top: 5px;
    }

    .tabulka-terminov tbody tr td.termin-icon {
        width: fit-content;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-right: 0;
        padding-top: 15px;
    }

    .tabulka-terminov tbody tr td.termin-date {
        flex-grow: 1;
        display: flex;
        justify-content: space-between;
        padding-left: 0;
        padding-top: 15px;
    }

    .tabulka-terminov tbody tr td.termin-date br {
        display: none;
    }

    .tabulka-terminov tbody tr td.termin-guide {
        width: 100%;
    }

    .tabulka-terminov tbody tr td.termin-occupancy {
        width: 100%;
        text-align: left;
    }

    .tabulka-terminov tbody tr td.termin-price {
        width: 100%;
        text-align: left;
        padding-bottom: 15px;
    }

    .tabulka-terminov tbody tr td.termin-price br {
        display: none;
    }
}

@media only screen and (max-width: 576px) {
    h1.zajazd-title-h1 {
        font-size: 2rem !important;
    }

    .double-section-title .cursive {
        font-size: 7rem !important;
    }

    h2 .cursive {
        top: -100px;
    }

    .modal-content {
        padding: 3rem 2% !important;
    }

    .btn.btn-big {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .tab-header .tab-header-title {
        font-size: 2rem !important;
    }

    .program-zajazdu .program-modul .program-left .program-cislo {
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        height: 40px;
        min-height: 40px;
        max-height: 40px;
        border-radius: 50%;
        background-color: var(--orange);
        color: var(--biela);
        font-size: 1.2rem;
        font-weight: 500;
        display: flex;
        justify-content: center;
        align-items: center;
        letter-spacing: 1px;
    }

    .program-zajazdu .program-modul .program-right .program-fotky {
        flex-direction: column;
    }

    .program-zajazdu .program-modul .program-right .program-fotky img {
        width: 100% !important;
    }

    .zajazd-perex {
        font-size: 1.2rem;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .navbar-nav .nav-link {
        font-size: 0.85rem;
    }
}
