.tech-search-page,
.tech-contact-page {
    padding-bottom: 6rem;
    background: #fff;
    color: #303942;
    font-family: "Open Sans", sans-serif;
}

.tech-search-page h1,
.tech-search-page h2,
.tech-search-page h3,
.tech-contact-page h1,
.tech-contact-page h2,
.tech-contact-page h3 {
    font-family: "Open Sans", sans-serif;
}

.tech-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin: 2.4rem 0 2.6rem;
    padding-bottom: 1.8rem;
    border-bottom: 1px solid #e1e7ec;
}

.tech-page-heading h1 {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 0 .6rem;
    color: #14599d;
    font-size: 3rem;
    font-weight: 700;
}

.tech-page-heading h1 i {
    color: #008fca;
    font-size: 2.5rem;
}

.tech-page-heading p {
    margin: 0;
    color: #69747e;
    font-size: 1.6rem;
    line-height: 1.6;
}

.tech-page-heading p strong,
.tech-page-heading p span {
    color: #26323b;
}

/* Search */
.tech-search-query-form {
    display: flex;
    flex: 0 1 50rem;
    overflow: hidden;
    min-height: 5rem;
    margin: 0 !important;
    border: 1px solid #ccd8e2;
    border-radius: 2.8rem;
    background: #fff;
    box-shadow: 0 .6rem 2rem rgba(31, 74, 113, .07);
}

.tech-search-query-form input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 1.8rem;
    border: 0;
    color: #26323b;
    font-family: "Open Sans", sans-serif;
    font-size: 1.6rem;
    outline: 0;
}

.tech-search-query-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 6rem;
    border: 0;
    background: #14599d;
    color: #fff;
    font-size: 1.8rem;
    cursor: pointer;
}

.tech-search-query-form button:hover,
.tech-search-query-form button:focus {
    background: #008fca;
}

.tech-search-layout {
    align-items: flex-start;
}

.tech-search-layout > aside {
    align-self: stretch;
}

.tech-search-sidebar {
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
    border: 1px solid #dfe6ec;
    border-radius: .7rem;
    background: #fff;
    will-change: transform;
}

.tech-search-filter-block {
    padding: 1.8rem;
    border-bottom: 1px solid #e4e9ed;
}

.tech-search-filter-block:last-child {
    border-bottom: 0;
}

.tech-search-filter-block h2 {
    margin: 0 0 1.3rem;
    color: #222529;
    font-size: 1.7rem;
    font-weight: 700;
}

.tech-search-filter-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tech-search-filter-list li + li {
    border-top: 1px solid #edf0f3;
}

.tech-search-filter-list button,
.tech-search-filter-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1rem 0;
    border: 0;
    background: transparent;
    color: #4d5862;
    font-size: 1.4rem;
    text-align: left;
    cursor: pointer;
}

.tech-search-filter-list button:hover,
.tech-search-filter-list button:focus,
.tech-search-filter-list button.is-active,
.tech-search-filter-list a:hover,
.tech-search-filter-list a:focus {
    color: #14599d;
}

.tech-search-filter-list button.is-active {
    font-weight: 700;
}

.tech-search-filter-list span {
    flex: 0 0 auto;
    color: #89939c;
    font-size: 1.3rem;
}

.tech-search-filter-list button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.tech-search-help {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    align-items: center;
    column-gap: .6rem;
    padding: 1.8rem;
    background: #f3f8fd;
}

.tech-search-help i {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #14599d;
    font-size: 2rem;
}

.tech-search-help strong {
    display: block;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: #2f3d49;
    font-size: 1.4rem;
    white-space: nowrap;
}

.tech-search-help p {
    grid-column: 1 / -1;
    margin: 1rem 0;
    color: #68747e;
    font-size: 1.3rem;
    line-height: 1.55;
}

.tech-search-help a {
    grid-column: 1 / -1;
    color: #14599d;
    font-size: 1.4rem;
    font-weight: 700;
}

.tech-search-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.tech-search-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.tech-search-tabs button {
    min-height: 4.2rem;
    padding: .8rem 1.7rem;
    border: 1px solid #d4dee7;
    border-radius: 2.2rem;
    background: #fff;
    color: #45515c;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
}

.tech-search-tabs button:hover,
.tech-search-tabs button:focus,
.tech-search-tabs button.is-active {
    border-color: #14599d;
    background: #14599d;
    color: #fff;
}

.tech-search-toolbar > span {
    color: #7b858e;
    font-size: 1.4rem;
}

.tech-search-group {
    margin-bottom: 3.5rem;
}

.tech-search-group[hidden] {
    display: none !important;
}

.tech-search-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e1e6eb;
}

.tech-search-section-heading h2 {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0;
    color: #14599d;
    font-size: 2.1rem;
    font-weight: 700;
}

.tech-search-section-heading h2 i {
    color: #008fca;
}

.tech-search-section-heading span {
    color: #7d8790;
    font-size: 1.3rem;
}

.tech-search-products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.tech-search-products .product-default {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    border: 1px solid #dfe5ea;
    border-radius: .6rem;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.tech-search-products .product-default:hover {
    border-color: #b9cee0;
    box-shadow: 0 .8rem 2.4rem rgba(30, 72, 111, .09);
    transform: translateY(-2px);
}

.tech-search-products .product-default figure {
    overflow: hidden;
    margin: .5rem;
    background: #fff;
}

.tech-search-products .product-default figure img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.tech-search-products .product-details {
    flex: 1 1 auto;
    width: 100%;
    padding: 1.5rem 1.5rem 1.7rem !important;
    text-align: left;
}

.tech-search-products .category-wrap {
    width: 100%;
    margin-bottom: .5rem;
}

.tech-search-products .product-title {
    display: -webkit-box;
    min-height: 4.6rem;
    margin: 0 0 .7rem;
    overflow: hidden;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.tech-search-products .product-title a {
    color: #27323b;
}

.tech-search-products .product-title a:hover,
.tech-search-products .product-title a:focus {
    color: #14599d;
}

.tech-search-products .ratings-container {
    margin-bottom: .8rem;
}

.tech-search-products .price-box {
    margin-top: auto;
}

.tech-search-load-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 2.4rem;
}

.tech-search-load-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-width: 19rem;
    min-height: 4.4rem;
    padding: .8rem 2rem;
    border: 1px solid #14599d;
    border-radius: 2.4rem;
    background: #fff;
    color: #14599d;
    font-family: "Open Sans", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.tech-search-load-more:hover,
.tech-search-load-more:focus {
    background: #14599d;
    color: #fff;
    box-shadow: 0 .5rem 1.4rem rgba(20, 89, 157, .18);
}

.tech-search-load-more i {
    font-size: 1.2rem;
}

.tech-search-news {
    display: grid;
    gap: 1.4rem;
}

.tech-search-news .news-card {
    grid-template-columns: 22rem minmax(0, 1fr);
    gap: 1.8rem;
    min-height: 0;
    margin: 0;
    padding: 1.2rem;
    border: 1px solid #e0e6eb;
    border-radius: .6rem;
    background: #fff;
}

.tech-search-news .news-card-image {
    align-self: center;
    border-radius: .4rem;
}

.tech-search-news .news-card-content {
    align-self: center;
    min-width: 0;
}

.tech-search-news .news-archive-card .news-card-content h3 {
    margin: 0 0 .7rem;
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.45;
}

.tech-search-news .news-archive-card .news-card-content h3 a {
    color: #26313a;
}

.tech-search-news .news-archive-card .news-card-content h3 a:hover,
.tech-search-news .news-archive-card .news-card-content h3 a:focus {
    color: #14599d;
}

.tech-search-news .news-read-more {
    margin-top: .6rem;
}

.tech-search-empty {
    padding: 5rem 2rem;
    border: 1px dashed #cfdae3;
    border-radius: .7rem;
    background: #f8fbfd;
    text-align: center;
}

.tech-search-empty i {
    margin-bottom: 1.5rem;
    color: #9dbbd3;
    font-size: 5rem;
}

.tech-search-empty h2 {
    margin-bottom: .8rem;
    font-size: 2.2rem;
}

.tech-search-empty p {
    margin-bottom: 1.5rem;
    color: #6e7982;
    font-size: 1.5rem;
}

/* Contact */
.tech-contact-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3rem;
    align-items: center;
    margin-bottom: 2.6rem;
    padding: 2.5rem 3rem;
    border-radius: .8rem;
    background: linear-gradient(115deg, #14599d, #008fca);
    color: #fff;
}

.tech-contact-intro h2 {
    margin: 0 0 .7rem;
    color: #fff;
    font-size: 2.3rem;
    font-weight: 700;
}

.tech-contact-intro p {
    max-width: 80rem;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 1.5rem;
    line-height: 1.7;
}

.tech-contact-action {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    min-height: 5.4rem;
    padding: 1rem 1.8rem;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 3rem;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    white-space: nowrap;
}

.tech-contact-action i {
    color: #ffdf00;
    font-size: 2.3rem;
}

.tech-contact-action span,
.tech-contact-action small,
.tech-contact-action strong {
    display: block;
}

.tech-contact-action small {
    color: rgba(255, 255, 255, .84);
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.tech-contact-action strong {
    color: #fff;
    font-size: 1.8rem;
}

.tech-branch-section {
    margin-bottom: 3rem;
}

.tech-section-title {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e1e6eb;
    color: #14599d;
    font-size: 2.2rem;
    font-weight: 700;
}

.tech-section-title i {
    color: #008fca;
}

.tech-branch-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.tech-branch-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 2rem;
    border: 1px solid #dfe6eb;
    border-top: .4rem solid #14599d;
    border-radius: .7rem;
    background: #fff;
    transition: box-shadow .2s ease, transform .2s ease;
}

.tech-branch-card:hover,
.tech-branch-card.is-active {
    box-shadow: 0 .8rem 2.4rem rgba(29, 72, 111, .1);
    transform: translateY(-2px);
}

.tech-branch-card.is-active {
    border-top-color: #ffca05;
}

.tech-branch-card h3 {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0 0 1.2rem;
    color: #26323b;
    font-size: 1.8rem;
    font-weight: 700;
}

.tech-branch-card h3 i {
    color: #14599d;
}

.tech-branch-list {
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.tech-branch-list li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .7rem;
    margin-bottom: .8rem;
    color: #5d6973;
    font-size: 1.4rem;
    line-height: 1.55;
}

.tech-branch-list i {
    margin-top: .35rem;
    color: #008fca;
    text-align: center;
}

.tech-branch-list a {
    color: #14599d;
    font-weight: 600;
}

.tech-branch-map-button {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    align-self: flex-start;
    margin-top: auto;
    padding: .8rem 1.2rem;
    border: 1px solid #cbd8e3;
    border-radius: .4rem;
    background: #fff;
    color: #14599d;
    font-size: 1.3rem;
    font-weight: 700;
    cursor: pointer;
}

.tech-branch-map-button:hover,
.tech-branch-map-button:focus,
.tech-branch-card.is-active .tech-branch-map-button {
    border-color: #14599d;
    background: #14599d;
    color: #fff;
}

.tech-contact-layout {
    align-items: stretch;
}

.tech-contact-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #dfe5eb;
    border-radius: .8rem;
    background: #fff;
}

.tech-contact-card:not(.tech-contact-map-card) {
    display: flex;
    flex-direction: column;
}

.tech-contact-card-heading {
    padding: 1.7rem 2rem;
    border-bottom: 1px solid #e2e7ec;
    background: #f7faff;
}

.tech-contact-card-heading h2 {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0 0 .4rem;
    color: #222529;
    font-size: 2rem;
    font-weight: 700;
}

.tech-contact-card-heading h2 i {
    color: #14599d;
}

.tech-contact-card-heading p {
    margin: 0;
    color: #737e87;
    font-size: 1.4rem;
}

.tech-contact-form {
    margin: 0;
    padding: 2rem;
}

.tech-contact-card:not(.tech-contact-map-card) .tech-contact-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.tech-contact-field {
    margin-bottom: 1.5rem;
}

.tech-contact-field label {
    display: block;
    margin-bottom: .6rem;
    color: #313b44;
    font-size: 1.4rem;
    font-weight: 700;
}

.tech-contact-field label span {
    color: #d9272e;
}

.tech-contact-field input,
.tech-contact-field textarea {
    width: 100%;
    border: 1px solid #d5dee6;
    border-radius: .5rem;
    background: #fff;
    color: #27313a;
    font-family: "Open Sans", sans-serif;
    font-size: 1.5rem;
}

.tech-contact-field--message {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 18rem;
}

.tech-contact-field--message textarea {
    flex: 1 1 auto;
    min-height: 18rem;
}

.tech-contact-field input {
    height: 4.7rem;
    padding: .9rem 1.2rem;
}

.tech-contact-field textarea {
    min-height: 15rem;
    padding: 1rem 1.2rem;
    line-height: 1.6;
    resize: vertical;
}

.tech-contact-field input:focus,
.tech-contact-field textarea:focus {
    border-color: #14599d;
    box-shadow: 0 0 0 .2rem rgba(20, 89, 157, .1);
    outline: 0;
}

.tech-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 4.7rem;
    padding: .9rem 2rem;
    border-color: #14599d;
    background: #14599d;
    font-size: 1.5rem;
    font-weight: 700;
    align-self: flex-start;
}

.tech-contact-submit:hover,
.tech-contact-submit:focus {
    border-color: #008fca;
    background: #008fca;
}

.tech-contact-status {
    min-height: 2.2rem;
    margin: 1rem 0 0;
    color: #138a42;
    font-size: 1.4rem;
    line-height: 1.5;
}

.tech-contact-status:empty {
    display: none;
}

.tech-contact-notice {
    margin: 0 0 1.5rem;
    padding: 1rem 1.2rem;
    border: 1px solid #bfe2ca;
    border-radius: .5rem;
    background: #f1fbf4;
    color: #13783a;
    font-size: 1.4rem;
    line-height: 1.55;
}

.tech-contact-notice--error {
    border-color: #f0c1c5;
    background: #fff5f6;
    color: #b7212b;
}

.tech-contact-field.has-error input,
.tech-contact-field.has-error textarea {
    border-color: #cf2835;
}

.tech-contact-error {
    display: block;
    margin-top: .5rem;
    color: #c82333;
    font-size: 1.25rem;
    line-height: 1.45;
}

.tech-contact-map-card {
    display: flex;
    flex-direction: column;
}

.tech-contact-map-wrap {
    position: relative;
    flex: 1 1 auto;
    min-height: 48rem;
    background: #eef3f7;
}

.tech-contact-map-wrap iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 48rem;
    border: 0;
}

.tech-contact-map-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.3rem 1.8rem;
    border-top: 1px solid #e1e6eb;
    color: #66727c;
    font-size: 1.4rem;
}

.tech-contact-map-caption strong {
    color: #14599d;
}

@media (max-width: 1199px) {
    .tech-search-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tech-search-news .news-card {
        grid-template-columns: 18rem minmax(0, 1fr);
    }
}

@media (max-width: 991px) {
    .tech-page-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .tech-search-query-form {
        flex-basis: auto;
        width: 100%;
    }

    .tech-search-sidebar {
        position: static;
        margin-bottom: 2rem;
        transform: none !important;
    }

    .tech-branch-grid {
        grid-template-columns: 1fr;
    }

    .tech-contact-intro {
        grid-template-columns: 1fr;
    }

    .tech-contact-action {
        justify-self: start;
    }

    .tech-contact-map-card {
        margin-top: 2rem;
        height: auto;
    }
}

@media (max-width: 575px) {
    .tech-search-page,
    .tech-contact-page {
        padding-bottom: 4rem;
    }

    .tech-page-heading {
        margin-top: 1.8rem;
    }

    .tech-page-heading h1 {
        align-items: flex-start;
        font-size: 2.4rem;
    }

    .tech-page-heading p {
        font-size: 15px;
    }

    .tech-search-query-form input,
    .tech-contact-field input,
    .tech-contact-field textarea {
        font-size: 16px;
    }

    .tech-search-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .tech-search-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    .tech-search-tabs button {
        padding-right: .8rem;
        padding-left: .8rem;
        font-size: 13px;
    }

    .tech-search-products {
        grid-template-columns: 1fr;
    }

    .tech-search-news .news-card {
        grid-template-columns: 1fr;
    }

    .tech-contact-intro {
        padding: 2rem;
    }

    .tech-contact-action {
        width: 100%;
    }

    .tech-branch-card,
    .tech-contact-form {
        padding: 1.6rem;
    }

    .tech-contact-map-wrap,
    .tech-contact-map-wrap iframe {
        min-height: 36rem;
    }

    .tech-contact-map-caption {
        align-items: flex-start;
        flex-direction: column;
    }
}
