body {
    background: var(--teflie-background-warm) !important;
    color: var(--teflie-text-primary);
}

#primary {
    margin: 3rem 0 !important;
}

.ast-container,
.outer-section {
    max-width: 1240px !important;
    margin: 0 auto !important;
}

h1, h2, h3, h4 {
    color: var(--teflie-text-primary-dark) !important;
}

p {
    color: var(--teflie-text-primary) !important;
    line-height: 140% !important;
}

.main__banner__heading {

    text-transform: uppercase;

    font-size: 1.775rem;

    font-weight: 400;

    text-align: center;

    margin-bottom: 1rem;
    line-height: 1.25;

}

.main__banner__subheading {

    font-size: 1.125rem;

    text-align: center;

    color: #444D55;

    font-weight: 400;

    opacity: 0.9;

}


.main__banner__heading span {

    font-weight: 700;

}

.main__banner__heading_image {

    height: 32.5rem;

    background-position: bottom center;

    border-radius: 0 0 25px 25px;

    background-size: cover;

    background-repeat: no-repeat;

    margin-bottom: 50px;

}

.main__container {

    margin-top: 100px;

}

.voucher__item {

    background: #d2d8db;

    border-radius: 25px;

    overflow: auto;

    display: block;

}

.voucher__item__image {

    min-height: 230px;

    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;

    margin: 50px;

}

.voucher__item__info {

    background: #fff;

    text-align: center;

    padding: 20px;

}

.voucher__item__info div {

    font-weight: 700;

    margin-top: 5px;

}

.voucher__item__gift {

    display: flex;

    justify-content: flex-end;

    margin: 58px -10px -90px 0;

}

.voucher__item__gift span {

    background: #BEDDEC;

    text-transform: uppercase;

    font-size: 12px;

    font-weight: 600;

    padding: 8px 16px;

    border-radius: 8px;

}

.voucher__item__add__to__cart {

    background: #2D3846;

    color: white;

    text-align: center;

    display: block;

    margin: 1.5rem 1rem 0;

    text-transform: uppercase;

    border-radius: 50px;

    font-size: 12px;

    padding: 0.75rem;

}

.voucher__item__add__to__cart:hover {

    color: white;

}

.product__item {

    background: #fff;

    overflow: auto;

    display: block;

    padding: 25px;

}

.product__item__image {

    min-height: 260px;

    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;

}

.product__item__info {

    text-align: center;

    padding: 20px 0 0;

}

.product__item__info span {

    min-height: 70px;

    display: block;

}

.product__item__action {

    border-top: 2px solid #eaeaea;

    margin-top: 1rem;

    padding-top: 1rem;

    display: flex;

    align-items: center;

    justify-content: space-between;

}

.product__item__price {

    font-size: 18px;

    font-weight: 700;

}

.product__item__get__the__guide {

    background: #ddb250;

    color: white;

    border-radius: 50px;

    font-size: 12px;

    padding: 0.5rem 1rem;

}

.product__item__get__the__guide:hover {

    color: white;

}

.main__container h5 {

    font-size: 1.775rem;

    font-weight: 400;

    margin-bottom: 1rem;

    min-height: 90px;

    text-align: center;

}

.callback__content {

    color: #444D55;

    font-weight: 400;

    opacity: 0.9;

}

.left__border {

    border-left: 3px solid #d3d9dc;

    margin-left: -20px;

    padding-left: 20px;

}

.callback__form {

    background: #d1d7da;

    max-width: 992px;

    margin: auto;

    padding: 50px 30px;

    border-radius: 25px;

}

input[type=submit] {
    background: var(--teflie-teal) !important;
}

label {

    font-size: 14px;

}

.wpcf7 .wpcf7-form-control-wrap {

    margin-top: 5px;

}

input[type=email],
input[type=number],
input[type=password],
input[type=reset],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {

    color: #193847;

    border: 0;

    border-radius: 10px;

    font-family: "zeitung-micro";

}

.menu-toggle,
button,
.ast-button,
.ast-custom-button,
.button,
input#submit,
input[type="button"],
input[type="submit"],
input[type="reset"] {

    font-size: 12px;

    padding: 15px 30px;

}

@media only screen and (max-width: 768px) {

    .left__border {

        border-left: 0 none;

    }

    .main__container h5 {

        min-height: auto;

    }

    .mobile__top {

        margin-top: 50px;

    }

}

span[data-name="when-to-call"]+br {
    display: none;
}

span.time-note {
    font-weight: 700;
    font-size: smaller;
}