body:has(.search-screen.show) {
    overflow-y: hidden;
}

.search-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #CE132E;
    z-index: 99999;
    transition: all 0.35s ease;
    padding: 25vh 0 0;
    color: #FFF;
    visibility: hidden;
    opacity: 0;
    display: none;
}

.search-screen.show {
    visibility: visible;
    opacity: 1;
}

.search-screen .search-controls {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    column-gap: 30px;
}

.search-screen .search-controls a.search {
    background: url(../../resources/v1/images/close.svg) no-repeat center center;
    display: block;
    width: 54px;
    height: 54px;
    background-size: 44px;
    border: 3px solid #FFF;
    border-radius: 100%;
}

.search-screen .search-controls h2 {
    font-family: 'TrajanPro-Regular';
    font-weight: bold;
    font-size: 45px;
    line-height: 60px;
}

.search-screen form {
    margin: 50px auto 0;
    max-width: 1000px;
    position: relative;
}

.search-screen form input.search-word {
    width: 100%;
    padding: 15px 25px;
    font-family: 'AvenirLTStd-Medium';
    font-size: 18px;
    line-height: 24px;
    border: 3px solid;
    background: transparent;
    color: #FFF;
    border-radius: 30px;
}

.search-screen form input.search-word::placeholder {
    color: inherit;
    opacity: 0.7;
}

.search-screen form input.search-submit {
    position: absolute;
    top: calc(50% - 20px);
    right: 20px;
    width: 40px;
    height: 40px;
    border: none;
    background: url(../../resources/v1/images/header-search.svg) no-repeat center center;
    background-size: 40px;
    cursor: pointer;
}

/* begin SEARCH RESULTS PAGE */

section.search-form {
    float: left;
    width: 100%;
    margin: 30px 0 50px;
}

section.search-form h1 {
    font-size: 45px;
    line-height: 60px;
    font-family: 'TrajanPro-Bold';
    font-weight: bold;
}

section.search-form form {
    margin: 30px auto 0;
    max-width: 1000px;
    position: relative;
}

section.search-form form input.search-word {
    width: 100%;
    padding: 15px 25px;
    font-family: 'AvenirLTStd-Medium';
    font-size: 18px;
    line-height: 26px;
    border: 2px solid;
    background: transparent;
    color: #282828;
    border-radius: 30px;
}

section.search-form form input.search-submit {
    position: absolute;
    background: url(../../resources/v1/images/header-search-b.svg) no-repeat center center;
    top: calc(50% - 20px);
    width: 40px;
    height: 40px;
    right: 20px;
    border: none;
    background-size: 100%;
    cursor: pointer;
}

section.search-results {
    float: left;
    width: 100%;
    margin: 20px 0 50px;
}

section.search-results .results-count {
    margin: 0 0 20px;
}

section.search-results .results-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 35px 2%;
}

section.search-results .results-list ul li.search-result {
    flex: 0 1 32%;
}

section.search-results .results-list ul li.search-result a .result-img {
    height: 250px;
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

section.search-results .results-list ul li.search-result a .result-img img {
    transition: all 0.35s ease;
}

section.search-results .results-list ul li.search-result a:focus .result-img img,
section.search-results .results-list ul li.search-result a:hover .result-img img {
    scale: 1.05;
}

section.search-results .results-list ul li.search-result a .result-img span.label {
    position: absolute;
    top: 15px;
    left: 20px;
    background: #FFF;
    padding: 2px 10px;
    font-size: 14px;
    line-height: 20px;
    border-radius: 20px;
    color: #ce132e;
    font-family: 'AvenirLTStd-Medium';
    border: 1px solid;
}

section.search-results .results-list ul li.search-result a .result-cont {
    padding: 15px 0 0;
}

section.search-results .results-list ul li.search-result a .result-cont h3 {
    font-family: 'AvenirLTStd-Book';
    font-size: 22px;
    line-height: 28px;
}

section.search-results .results-list ul li.search-result a .result-cont span.match {
    color: #CE132E;
}

section.search-form .filters {
    margin: 30px 0 0;
}

section.search-form .filters ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

section.search-form .filters ul li a {
    font-family: 'AvenirLTStd-Black';
    font-size: 18px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

section.search-form .filters ul li a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: -10px;
    left: 0;
    background-color: #CE132E;
    transform-origin: center;
    transform: scaleX(0);
    transition: all 0.35s ease;
}

section.search-form .filters ul li a.active::after,
section.search-form .filters ul li a:focus::after,
section.search-form .filters ul li a:hover::after {
    transform: scaleX(1);
}

section.search-form .filters ul li a span.count {
    background-color: #CE132E;
    padding: 3px 5px;
    border-radius: 5px;
    color: #FFF;
    transition: all 0.35s ease;
    border: 2px solid #CE132E;
    font-size: 14px;
    line-height: 14px;
}

section.search-form .filters ul li a.active span.count,
section.search-form .filters ul li a:focus span.count,
section.search-form .filters ul li a:hover span.count {
    color: #CE132E;
    background: #FFF;
}

section.search-form .filters ul li a span.count.zero {
    background-color: #8f8f8f;
    border-color: #8f8f8f;
}

section.search-form .filters ul li a:focus span.count.zero,
section.search-form .filters ul li a:hover span.count.zero {
    color: #8f8f8f;
    background-color: #fff;
}

/* end SEARCH RESULTS PAGE */