.ltg-search-wrap {
    display: inline-block;
}

.ltg-search-wrap > summary {
    list-style: none;
}

.ltg-search-wrap > summary::-webkit-details-marker {
    display: none;
}

.ltg-search {
    display: inline-flex;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ltg-color-primary);
    cursor: pointer;
}

.ltg-search svg {
    display: inline-block;
    width: 1.75rem;
    height: 1.75rem;
}

.ltg-search:focus-visible,
.ltg-search-modal-close:focus-visible,
.ltg-search-control:focus-visible,
.ltg-search-modal .btn:focus-visible {
    outline: 2px solid #000;
    outline-offset: 3px;
}

.ltg-search-modal-backdrop {
    display: flex;
    position: fixed;
    z-index: 1050;
    inset: 0;
    align-items: flex-start;
    justify-content: center;
    padding: 2.5rem 1rem;
    overflow-y: auto;
    background: rgb(0 0 0 / 40%);
}

.ltg-search-modal {
    width: 600px;
    max-width: 100%;
}

.ltg-search-modal-content {
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    animation: ltg-search-modal-fade-down 0.3s backwards;
}

.ltg-search-modal-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 20px 20px 0;
}

.ltg-search-modal-header h2 {
    margin: 0;
}

.ltg-search-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border: 0;
    background: #fff;
    color: var(--ltg-color-primary);
    cursor: pointer;
}

.ltg-search-modal-body {
    padding: 20px;
}

.ltg-search-modal-form-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
}

.ltg-search-control-wrap {
    display: flex;
    position: relative;
}

.ltg-search-control {
    width: 100%;
    min-width: 0;
    padding: 1rem 3rem 1rem 1.5rem;
    border: 1px solid #d0d3d4;
    border-radius: 1rem;
    font: inherit;
}

.ltg-search-control-icon {
    display: flex;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    color: var(--ltg-color-primary);
    pointer-events: none;
}

.ltg-search-modal .btn-black {
    padding: 0.75rem 1.25rem;
    border: 1px solid #000;
    border-radius: 0.5rem;
    background: #000;
    color: #fff;
    font: inherit;
    cursor: pointer;
}

.ltg-search-modal .ribbon-wrap {
    display: flex;
    padding: 30px 0;
}

.ltg-search-modal .ribbon-wrap .ltg-ribbon {
    display: flex;
    flex: 1 0 50%;
    min-width: 20px;
}

.ltg-search-modal .ribbon-wrap .ltg-ribbon-museum {
    flex: 1 0 100%;
    height: 40px;
    background-color: var(--ltg-color-primary);
    --ribbon-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120.25313mm' height='10.589588mm' viewBox='0 0 107.78769 10.589588'%0A%3E%3Cpath style='fill:%23000000' d='m -6.7524348,5.29792 v -5.291667 0 H 5.5412415 V 5.29792 10.589587 H -6.7524348 v 0 z M 14.955862,10.258857 C 14.904292,10.076956 14.728569,9.435189 14.565377,8.832707 14.186285,7.433164 12.56255,5.933838 10.962519,5.505895 L 9.774575,5.188168 V 2.594084 0 l 1.124479,0.172266 c 2.712767,0.415588 5.689989,2.118595 7.054966,4.035527 0.94343,1.324927 1.834478,3.520317 2.026409,4.992731 l 0.181068,1.389063 h -2.555931 c -1.818346,0 -2.582992,-0.09544 -2.649704,-0.33073 z m 11.355171,-0.05932 C 24.92246,9.698433 23.382722,8.028266 23.000415,6.608481 22.474987,4.657197 23.077835,2.809605 24.706544,1.37958 26.190388,0.076747 27.057091,-0.031852 35.258553,0.0574 c 7.390439,0.08042 7.466861,0.08699 8.60707,0.73976 3.401489,1.947345 3.401489,7.054177 0,9.001521 -1.145167,0.655604 -1.185495,0.658899 -8.823341,0.720699 -6.14209,0.0497 -7.884064,-0.01411 -8.731249,-0.319843 z m 26.792776,0.14017 C 49.766495,9.272272 48.303114,5.602238 50.035852,2.645542 c 1.973275,-3.367138 7.029733,-3.340717 8.946361,0.04675 1.366549,2.415253 0.565304,5.648938 -1.73351,6.996133 -1.213472,0.711141 -3.053712,1.000298 -4.144894,0.651285 z M 62.426657,5.297921 V 0.006254 h 5.291666 5.291667 v 5.291667 5.291667 H 67.718323 62.426657 Z M 84.230098,10.31689 C 79.80042,9.438662 76.471108,5.860723 75.805376,1.263025 L 75.623398,0.006254 h 2.662047 c 2.499681,0 2.662045,0.03279 2.662045,0.537665 0,0.779608 0.727056,2.399248 1.401691,3.122494 0.760801,0.815626 2.370045,1.631508 3.217976,1.631508 h 0.671999 v 2.645833 c 0,2.945549 0.126204,2.796474 -2.009058,2.373136 z m 8.56121,0.0092 C 89.479821,9.328987 87.990949,5.601614 89.723351,2.645494 c 1.126707,-1.922582 3.590221,-2.975525 5.638485,-2.409972 4.056921,1.120171 5.350034,5.740522 2.425184,8.665365 -1.468363,1.468361 -3.206014,1.964088 -4.995712,1.425203 z M 102.11416,5.297874 V 0.006207 l 13.04018,0 v 0 5.291667 5.291667 0 l -13.04018,0 z' /%3E%3C/svg%3E%0A");
    -webkit-mask: var(--ribbon-pattern);
    mask: var(--ribbon-pattern);
}

.ltg-search-modal .ltg-ribbon .string {
    flex-grow: 1;
    min-width: 0;
}

.ltg-search-modal .ltg-ribbon .string-left,
.ltg-search-modal .ltg-ribbon .string-right {
    height: 25px;
}

.ltg-search-modal .ltg-ribbon .knot {
    width: 25px;
    height: 25px;
    border-top-right-radius: 13.5px;
    border-bottom-left-radius: 13.5px;
    transform: rotate(135deg);
}

.ltg-search-modal .ltg-ribbon .knot-wrap {
    padding-left: 5.3125px;
}

.ltg-search-modal .ltg-ribbon .string-left {
    margin-right: -22px;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px;
}

.ltg-search-modal .ltg-ribbon .string-left + .knot-wrap {
    padding-right: 5.3125px;
    padding-left: 0;
}

.ltg-search-modal .ltg-ribbon .string-right {
    margin-left: -22px;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
}

.ltg-search-modal .bg-primary {
    background-color: var(--ltg-color-primary);
}

.ltg-search-modal .bg-black {
    background-color: #000;
}

body.ltg-search-modal-open {
    overflow: hidden;
}

.ltg-search-wrap--editor {
    min-width: 2rem;
    min-height: 2rem;
}

html.ltg-a11y-contrast-true .ltg-search,
html.ltg-a11y-contrast-true .ltg-search-modal {
    color: #ff0;
}

html.ltg-a11y-contrast-true .ltg-search-modal-content,
html.ltg-a11y-contrast-true .ltg-search-modal-close {
    border-color: #fff;
    background: #272727;
    color: #ff0;
}

html.ltg-a11y-contrast-true .ltg-search-modal .ribbon-wrap {
    display: none;
}

html.ltg-a11y-contrast-true .ltg-search-modal .btn-black {
    color: #ff0;
}

@media screen and (max-width: 767px) {
    .ltg-search-modal-backdrop {
        padding-top: 1rem;
    }

    .ltg-search-modal-form-group {
        display: flex;
        flex-direction: column;
    }

    .ltg-search-control-wrap {
        margin-bottom: 1rem;
    }

    .ltg-search-modal .btn-black {
        align-self: center;
    }
}

@media screen and (min-width: 1025px) {
    .ltg-search-modal .ltg-ribbon .knot {
        width: 50px;
        height: 50px;
        border-top-right-radius: 26px;
        border-bottom-left-radius: 26px;
    }

    .ltg-search-modal .ltg-ribbon .knot-wrap {
        padding-left: 10.625px;
    }

    .ltg-search-modal .ltg-ribbon .string-left,
    .ltg-search-modal .ltg-ribbon .string-right {
        height: 50px;
    }

    .ltg-search-modal .ltg-ribbon .string-left {
        margin-right: -47px;
        border-top-right-radius: 50px;
        border-bottom-right-radius: 50px;
    }

    .ltg-search-modal .ltg-ribbon .string-left + .knot-wrap {
        padding-right: 10.625px;
    }

    .ltg-search-modal .ltg-ribbon .string-right {
        margin-left: -47px;
        border-top-left-radius: 50px;
        border-bottom-left-radius: 50px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ltg-search-modal-content {
        animation: none;
    }
}

@keyframes ltg-search-modal-fade-down {
    from {
        opacity: 0;
        transform: translateY(-2rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
