#main h1 {
    margin-bottom: var(--space-3);
    line-height: 1.1;
    color: var(--color-blue-heading);
}

#main h2,
.home h2 {
    width: 100%;
    margin: var(--space-5) 0 var(--space-2);
    font-size: 40px;
    font-weight: 300;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--color-blue-heading);
}

:is(#main, .home) h2 > a {
    color: inherit;
}

:is(#main, .home) h2 > a:hover {
    color: var(--color-darkblue);
}

.home h2 {
    text-align: center;
}

#main h3 {
    margin: var(--space-4) 0 var(--space-2);
    font-size: 2rem;
    line-height: 1.1;
    color: var(--color-darkblue);
}

#main h4 {
    margin: var(--space-3) 0 var(--space-1);
    font-size: var(--text-xl);
    line-height: 1.1;
}

#main .page-slogan h2 {
    margin: var(--space-3) 0 var(--space-4) !important;
    font-family: var(--font-body);
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.3;
    text-transform: none;
    color: var(--color-black) !important;
}

.page-template-page-news #main h3 {
    margin: 0 0 20px;
}

.maincontent img {
    margin: var(--space-3) 0;
    border-radius: var(--radius-md);
}

.maincontent :is(p, li) {
    line-height: 1.65;
}

.maincontent p {
    margin-bottom: 1.1em;
}

.last-updated {
    display: none;
}



#main :is(.content-left, .content-center) {
    padding-top: var(--space-3);
}

#main :is(h1, h2, h3):first-child {
    margin-top: 0;
}

#main .content-center ol li {
    list-style: inherit;
}

#main .content-center :not(.woocommerce) li:not(.product) {
    position: relative;
    margin: 10px 0;
    padding: 0 0 0 20px;
    list-style: none;
}

#main .content-center :not(.woocommerce) ul li:not(.product)::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: 8px;
    background: var(--color-blue);
    border-radius: 50%;
}

#main .content-center ul li.wc_payment_method::before {
    background: transparent;
}

.content-center a:not(.btn):hover {
    text-decoration: underline;
}

.content-wrap.is-hidden {
    display: none;
}

.page-video iframe {
    width: 100% !important;
}

.page-icons {
    font-size: 0.85em;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

.page-icons.top {
    margin: var(--space-4) 0;
}

.page-icons.top .img-wrap {
    height: 45px;
    margin-bottom: 10px;
}

.page-icons.top .img-wrap img {
    width: auto;
    height: 100%;
}

#main .content-left #circle {
    margin-bottom: var(--space-4);
}

#main .content-right {
    padding: 0 var(--space-3);
}

#main .page-icons.right {
    text-align: center;
}

#main .page-icons.right img {
    margin-bottom: 10px;
}

#main .page-icons.right .item {
    margin-bottom: var(--space-4);
}

#main .page-icons.right a {
    color: var(--color-black);
}

#main .page-icons.right .icon_title {
    display: block;
    width: 140px;
    margin: auto;
}

#main .mangu_hind.item {
    width: 100%;
}

.iconclick-content {
    position: relative;
}

.panel-close {
    position: absolute;
    top: 30px;
    right: 0;
    padding: 0 10px;
    font-size: 3rem;
    line-height: 1;
    color: var(--color-darkblue);
    background: none;
    border: 0;
}

.panel-close:hover {
    color: var(--color-blue-strong);
    background: none;
    box-shadow: none;
}

.osalejate_muljed_content {
    position: relative;
    padding: var(--space-2) var(--space-4);
    background: var(--color-grey-50);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
}

.osalejate_muljed_content .item-block {
    margin-top: var(--space-4);
    padding-bottom: var(--space-4);
}

.muljed_nimi,
.muljed_ettevote_uritus {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
}

.muljed_ettevote_uritus {
    margin-bottom: var(--space-4);
}

.related-contact-person {
    position: relative;
    width: 255px;
    height: 255px;
    color: var(--color-white);
    text-align: center;
    background: var(--color-blue-strong);
    border-radius: 50%;
}

.related-contact-person a {
    color: var(--color-white);
}

.related-contact-person a:hover {
    color: var(--color-white);
    text-decoration: underline;
}

.related-slogan {
    width: 70%;
    height: 70px;
    margin: auto;
    padding-top: 8%;
    line-height: 1;
    text-align: center;
}

.related-contact-person .related-title {
    width: 90%;
    margin: auto;
    font-family: var(--font-body);
    font-size: 1.2rem;
    font-weight: 600;
    text-align: center;
}

.related-content {
    margin: auto;
    line-height: 1.1;
}

.related-content a {
    font-weight: 400;
}

.team-member-image .img {
    position: relative;
    width: 150px;
    height: 150px;
    margin: auto;
}

.related-contact-person .team-member-image .img {
    width: 95px;
    height: 95px;
    margin: 5px auto;
}

.team-member-image img,
.related-contact-person img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.contact-booking .wpcf7 {
    margin-top: var(--space-4);
}

.gallery::after {
    content: "";
    display: table;
    clear: both;
}

.gallery img.wp-post-image {
    display: block;
    width: auto;
    max-height: 450px;
    margin: 0 0 20px;
}

img.aligncenter,
div.aligncenter,
figure.aligncenter {
    display: block;
    margin: 1em auto;
}

img.alignright,
div.alignright,
figure.alignright {
    float: right;
    margin: 1em 0 1em 2em;
}

img.alignleft,
div.alignleft,
figure.alignleft,
img.wp-post-image.attachment-thumb {
    float: left;
    margin: 1em 1em 2em 0;
}

p img.alignright,
p img.alignleft {
    margin-top: 0;
}

.gallery figure {
    float: left;
    margin: 0 2% 1em 0;
}

.gallery figure img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.gallery.gallery-columns-1 figure { float: none; width: 100%; margin: 0 0 1em; }
.gallery.gallery-columns-2 figure { width: 49%; }
.gallery.gallery-columns-3 figure { width: 32%; }
.gallery.gallery-columns-4 figure { width: 23.25%; }
.gallery.gallery-columns-5 figure { width: 18%; }
.gallery.gallery-columns-6 figure { width: 14.2%; }
.gallery.gallery-columns-7 figure { width: 12%; }
.gallery.gallery-columns-8 figure { width: 10.2%; }
.gallery.gallery-columns-9 figure { width: 8.85%; }

.gallery.gallery-columns-2 figure:nth-of-type(even) { margin-right: 0; }
.gallery.gallery-columns-2 figure:nth-of-type(odd) { clear: left; }
.gallery.gallery-columns-3 figure:nth-of-type(3n+3) { margin-right: 0; }
.gallery.gallery-columns-3 figure:nth-of-type(3n+4) { clear: left; }
.gallery.gallery-columns-4 figure:nth-of-type(4n+4) { margin-right: 0; }
.gallery.gallery-columns-4 figure:nth-of-type(4n+5) { clear: left; }
.gallery.gallery-columns-5 figure:nth-of-type(5n+5) { margin-right: 0; }
.gallery.gallery-columns-5 figure:nth-of-type(5n+6) { clear: left; }
.gallery.gallery-columns-6 figure:nth-of-type(6n+6) { margin-right: 0; }
.gallery.gallery-columns-6 figure:nth-of-type(6n+7) { clear: left; }
.gallery.gallery-columns-7 figure:nth-of-type(7n+7) { margin-right: 0; }
.gallery.gallery-columns-7 figure:nth-of-type(7n+8) { clear: left; }
.gallery.gallery-columns-8 figure:nth-of-type(8n+8) { margin-right: 0; }
.gallery.gallery-columns-8 figure:nth-of-type(8n+9) { clear: left; }
.gallery.gallery-columns-9 figure:nth-of-type(9n+9) { margin-right: 0; }
.gallery.gallery-columns-9 figure:nth-of-type(9n+10) { clear: left; }

.wpcf7 {
    margin: var(--space-5) 0;
}

.form-item {
    border-bottom: 1px solid var(--color-black);
}

.form-item p {
    margin-bottom: 0;
}

.form-item label {
    width: 100%;
}

.form-item input,
.form-item textarea {
    background: none;
    border-bottom: none;
}

body.contact .form-item input {
    width: 100%;
    padding: 10px 0;
}

body.contact .form-item textarea {
    padding: 10px 0;
}

.form-item select {
    width: 60%;
    margin: 0;
    font-family: var(--font-body);
    font-size: 1rem;
    background: transparent;
    border: none;
}

#cf7-form .form-item select {
    box-sizing: border-box;
    width: 100%;
    padding: 8px 12px;
    line-height: 1.6;
    background-color: var(--color-white);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--color-grey-800) 50%),
        linear-gradient(135deg, var(--color-grey-800) 50%, transparent 50%);
    background-position:
        calc(100% - 18px) calc(50% - 6px),
        calc(100% - 12px) calc(50% - 6px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    border: 1px solid transparent;
    appearance: none;
}

#cf7-form .form-item select option {
    padding-left: 12px;
    line-height: 1.6;
}

#cf7-form .form-item select option:first-child {
    font-style: italic;
}

.wpcf7-form.sent .file-upload,
.wpcf7-form.sent input,
.wpcf7-form.sent button,
.wpcf7-form.sent .form-item {
    display: none;
}

.wpcf7-response-output {
    font-family: var(--font-body);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color-grey-text);
    text-align: left;
}

.wpcf7-not-valid-tip {
    display: block;
    color: var(--color-red-text);
}

.wpcf7-turnstile.cf-turnstile {
    margin-top: var(--space-5);
}

.wpcf7-list-item input[type="checkbox"],
:not(.woocommerce) > input[type=checkbox] {
    position: absolute;
    opacity: 0;
}

.wpcf7-list-item .wpcf7-list-item-label,
:not(.woocommerce) input[type=checkbox] + label {
    position: relative;
    display: inline-block;
    min-height: 28px;
    padding: 0 0 0 42px;
    cursor: pointer;
}

.wpcf7-list-item .wpcf7-list-item-label::before,
:not(.woocommerce) input[type=checkbox] + label::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 28px;
    height: 28px;
    background: var(--color-white);
    border: 2px solid var(--color-grey-500);
    border-radius: 50%;
    transform: translateY(-50%);
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpcf7-list-item input[type="checkbox"]:hover + .wpcf7-list-item-label::before,
:not(.woocommerce) input[type=checkbox]:hover + label::before {
    border-color: var(--color-darkblue);
}

.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::before,
:not(.woocommerce) input[type=checkbox]:checked + label::before {
    background: var(--color-darkblue);
    border-color: var(--color-darkblue);
}

.wpcf7-list-item input[type="checkbox"]:focus-visible + .wpcf7-list-item-label::before,
:not(.woocommerce) input[type=checkbox]:focus-visible + label::before {
    box-shadow: 0 0 0 4px var(--color-darkblue-ring);
}

.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after,
:not(.woocommerce) input[type=checkbox]:checked + label::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 14px;
    width: 7px;
    height: 13px;
    border: solid var(--color-white);
    border-width: 0 3px 3px 0;
    transform: translate(-50%, -62%) rotate(45deg);
}

:not(.woocommerce) input[type=checkbox]:disabled + label {
    color: var(--color-grey-400);
    cursor: auto;
}

:not(.woocommerce) input[type=checkbox]:disabled + label::before {
    background: var(--color-grey-300);
    border-color: var(--color-grey-300);
}

.form-order-service {
    margin-top: var(--space-6);
}

.form-order-service p {
    margin-bottom: 0;
}

.form-order-service :is(input[type="text"], input[type="tel"], input[type="search"], input[type="email"], input.wpcf7-file, textarea) {
    padding: 10px 0;
}

.form-order-service textarea {
    height: 80px;
}

.form-order-service button.submit {
    margin-top: 10px;
}

.locationmap {
    display: none;
}

.locationmap p {
    margin: 0;
    padding: 0;
}

.contact .locationmap {
    display: block;
    margin-top: -70px;
}

.locationmap img {
    width: 255px;
    height: 255px;
    border-radius: 50%;
}

section.error-404 {
    text-align: center;
}

h1.error-title {
    font-size: 250%;
}

section.error-404 .error-text {
    margin: var(--space-4);
    font-size: 180%;
}

.search-form-screen button {
    padding: 8px 14px;
    font-size: 1.2rem;
    line-height: 1;
}

.pages-nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
    margin-top: var(--space-4);
}

.pages-nav .page-numbers {
    display: block;
    padding: 10px 20px;
    color: var(--color-white);
    text-decoration: none;
    background: var(--color-blue-strong);
}

.pages-nav .page-numbers:hover {
    color: var(--color-white);
    background: var(--color-black);
}

.pages-nav .current {
    background: var(--color-darkblue);
}

.pages-nav .dots {
    color: var(--color-black);
    background: transparent;
}

#main.search-results .item {
    margin-top: var(--space-3);
    padding: var(--space-3);
    background: var(--color-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
}

#main.search-results .item h2 {
    margin: 0 0 10px;
    font-family: var(--font-body);
    font-size: var(--text-xl);
    font-weight: 700;
    text-transform: none;
}

#main.search-results .item .entry-date {
    margin-bottom: 20px;
    font-weight: 600;
}

.search-form {
    font-family: var(--font-body);
}

.subcat-area {
    margin: 0 0 var(--space-5);
}

.subcat-area ul.subcat-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.subcat-area ul.subcat-links li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.subcat-area li a.btn {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 18px;
    font-size: var(--text-base);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-black);
    text-transform: none;
    background: var(--color-white);
    border: 1px solid var(--color-line-strong);
    border-radius: var(--radius-control);
    box-shadow: none;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.subcat-area li a.btn:hover,
.subcat-area li a.btn:focus-visible {
    color: var(--color-white);
    background: var(--color-black);
    border-color: var(--color-black);
    box-shadow: 0 0 0 4px var(--color-darkblue-ring);
}

.subcat-area li.active a.btn,
.subcat-area li.active a.btn:hover {
    color: var(--color-white);
    background: var(--color-darkblue);
    border-color: var(--color-darkblue);
    box-shadow: 0 0 0 4px var(--color-darkblue-ring);
}

.single-meeskonnakoolitused :is(a:hover, #main h1, #main h2, #main h3, .content-center a),
.single-meeskonnamangud :is(a:hover, #main h1, #main h2, #main h3, .content-center a) {
    color: var(--color-darkblue);
}

.single-meeskonnakoolitused .page-icons.right img[src$=".svg"],
.single-meeskonnamangud .page-icons.right img[src$=".svg"] {
    filter: invert(22%) sepia(61%) saturate(6018%) hue-rotate(183deg) brightness(98%) contrast(101%);
}

.single-meeskonnakoolitused :is(.divider, .related-contact-person, #main .content-center ul li::before),
.single-meeskonnamangud :is(.divider, .related-contact-person, #main .content-center ul li::before) {
    color: var(--color-white);
    background: var(--color-darkblue);
}

.single-meeskonnakoolitused :is(blockquote, .btn),
.single-meeskonnamangud :is(blockquote, .btn) {
    border-color: var(--color-darkblue);
}

.single-rent :is(a:not(.btn):hover, #main h1, #main h2, #main h3) {
    color: var(--color-orange-text);
}

.single-rent .page-icons.right img[src$=".svg"] {
    filter: invert(82%) sepia(18%) saturate(7212%) hue-rotate(321deg) brightness(104%) contrast(101%);
}

.single-rent :is(.divider, .related-contact-person, #main .content-center ul li::before) {
    color: var(--color-white);
    background: var(--color-orange-strong);
}

.single-rent blockquote {
    border-color: var(--color-orange);
}

.single-matkad :is(a:hover, #main h1, #main h2, #main h3, .content-center a) {
    color: var(--color-green-text);
}

.single-matkad .page-icons.right img[src$=".svg"] {
    filter: invert(55%) sepia(70%) saturate(385%) hue-rotate(93deg) brightness(92%) contrast(95%);
}

.single-matkad :is(.divider, .related-contact-person, #main .content-center ul li::before) {
    color: var(--color-white);
    background: var(--color-green-strong);
}

.single-matkad :is(blockquote, .btn) {
    border-color: var(--color-green-dark);
}

@media (max-width: 767px) {
    #main h1 {
        font-size: 28px;
    }

    #main h2,
    .home h2 {
        font-size: 2.2rem;
    }

    img.alignright,
    div.alignright,
    figure.alignright,
    img.alignleft,
    div.alignleft,
    figure.alignleft,
    img.wp-post-image.attachment-thumb {
        display: block;
        float: none;
        margin: 1em auto;
    }

    .gallery:is(.gallery-columns-4, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8, .gallery-columns-9) figure {
        float: none;
        width: 100%;
        margin: 0 0 1em;
    }
}

@media (max-width: 991px) {
    #main .content-right {
        padding: var(--space-4) var(--space-3);
        border-top: 1px solid var(--color-black);
    }

    #main .mangu_hind.item img {
        float: right;
    }

    .muljed_ettevote_uritus {
        margin-bottom: 10px;
    }

    .form-item select {
        padding: 10px 0;
    }

    .locationmap .circle_image_area {
        margin: auto;
    }

    .contact .locationmap {
        margin-top: 0;
    }
}

@media (min-width: 991px) and (max-width: 1199px) {
    .related-contact-person {
        width: 220px;
        height: 220px;
    }

    .related-contact-person .team-member-image {
        width: 75px;
        height: 75px;
    }
}

@media (min-width: 992px) {
    #main .content-right.page-icons {
        position: fixed;
        right: 0;
    }

    body:not(.single-post) #main .content-right {
        position: fixed;
        top: 200px;
        right: 0;
    }
}

@media (max-width: 1199px) {
    .page-icons {
        font-size: 0.65em;
        font-weight: 400;
    }

    .page-icons.top .img-wrap {
        height: 25px;
        margin-bottom: 5px;
    }
}

@media (min-width: 1200px) {
    #main .content-center {
        padding-right: 65px;
    }

    .single-post #main .content-center {
        padding-right: 100px;
        padding-left: 100px;
    }

    #main .content-left {
        padding-right: 65px;
    }

    .panel-toggle:not(.is-open) {
        display: none;
    }
}
