body {
    font-family: 'Sweet Sans Pro', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    margin: 0;
    color: #000;
    background: #F7F9FD;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
}

.home {
    background-image: url("../../assets/images/home-bg.png");
    background-repeat: no-repeat;
    background-position: 100% calc(100% - 300px);
}

.site-branding {
    max-width: 288px;
}

.footer-logo-wrap {
    max-width: 369px;
}

.site-branding img,
.footer-logo-wrap img {
    width: 100%;
}

/* ===== Fixed Header ===== */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.3s ease;
}

.site-header .container-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 50px 0 16px;
    transition: all 0.3s ease;
}

.site-header.scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    top: var(--wp-admin--admin-bar--height, 0);
}

.home .site-header.scrolled {
    background-color: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(5px);
}

.site-header.scrolled .container-header {
    padding: 5px 0;
}

.site-header.scrolled .site-branding img {
    width: 90%;
}

/* ===== Navigation ===== */
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 24px;
}

.main-navigation a {
    text-decoration: none;
    color: #000;
    text-transform: uppercase;
}

.home .main-navigation a {
    color: #fff;
}

/* ===== Burger Menu ===== */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    width: 75px;
    height: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    align-items: end;
}

.burger-line {
    width: 100%;
    height: 3px;
    background: #000;
    margin: 3px 0;
    transition: 0.3s;
    border-radius: 5px;
}

.menu-toggle .burger-line:nth-child(2) {
    width: 48px;
}

.menu-toggle.active .burger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active .burger-line:nth-child(2) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* ===== Buttons ===== */
.button-style-1 {
    display: flex;
    text-decoration: none;
}

.button-style-1 .button-text {
    display: inline-block;
    padding: 14px 18px 14px 20px;
    background: #771312;
    color: #fff;
    text-decoration: none;
    border-radius: 300px;
    font-weight: 500;
    transition: all 0.3s ease;
    font-size: 18px;
    line-height: 1;
    text-transform: uppercase;
}

.button-style-2 .button-text {
    padding: 14px 45px 14px 45px;
    background: #000;
}

.button-style-3 .button-text {
    background: #fff;
    color: #771312;
}

.button-style-3 .button-arrow-block {
    background: #771312;
}

.button-arrow-block {
    background: #fff;
    border-radius: 18px;
    position: absolute;
    top: 9px;
    height: 25px;
    width: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 9px;
    transition: all 0.3s ease;
}

.button-arrow-wrap {
    position: relative;
    top: 17px;
    left: -10px;
}

.button-style-1 svg path {
    transition: all 0.3s ease;
}

.button-style-1:hover .button-text {
    color: #771312;
    background: #fff;
}

.button-style-1:hover .button-arrow-bg svg path {
    fill: #fff;
}

.button-style-1:hover .button-arrow-block {
    background: #771312;
}

.button-style-1:hover .button-arrow-block svg path {
    fill: #fff;
}

:IS(.button-style-2, .button-style-3):hover .button-text {
    color: #fff;
    background: #771312;
}

:IS(.button-style-2, .button-style-3):hover .button-arrow-bg svg path {
    fill: #771312;
}

:IS(.button-style-2, .button-style-3):hover .button-arrow-block {
    background: #fff;
}

:IS(.button-style-2, .button-style-3):hover .button-arrow-block svg path {
    fill: #771312;
}

/* ===== Blocks ===== */
.block-top-title {
    position: relative;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1.68px;
    text-transform: uppercase;
    margin: 0 0 16px 0;
    padding-left: 20px;
    /*display: flex;
    gap: 12px;
    align-items: center;*/
    line-height: 16px;
}

.block-top-title:before {
    position: absolute;
    content: '';
    left: 0;
    top: calc(50% - 5px);
    display: block;
    width: 10px;
    height: 10px;
    background: #771312;
    border-radius: 50%;
}

.block-bottom-title {
    color: #771312;
    font-size: 20px;
    line-height: 1.2;
    margin-top: 24px;
    font-weight: 500;
    letter-spacing: normal;
}

.block-title {
    font-size: 40px;
    line-height: 1.1;
    margin: 0;
    font-weight: 400;
    text-transform: uppercase;
}

.block-text {
    font-family: 'Aleo', sans-serif;
    font-size: 18px;
    line-height: 22px;
}

/* ===== Footer ===== */
.site-footer {
    background: #000;
    padding-top: 45px;
    padding-bottom: 45px;
    margin-top: 100px;
}

.footer-block-title {
    color: #fff;
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.footer-menu .menu {
    flex-direction: column;
    gap: 16px;
}

.footer-menu .main-navigation a {
    text-transform: none;
    font-family: 'Aleo', sans-serif;
    color: #fff;
}

.footer-top {
    display: flex;
    justify-content: space-between;
}

.footer-info-wrap {
    display: flex;
    gap: 100px;
}

.footer-contacts-info,
.footer-contacts-info a{
    color: #fff;
    font-family: 'Aleo', sans-serif;
    text-decoration: none;
}

.footer-contacts-info {
    display: flex;
    gap: 16px;
    flex-direction: column;
    max-width: 213px;
}

.footer-bottom {
    margin-top: 40px;
    padding-top: 44px;
    border-top: 1px solid #fff;
    font-family: 'Aleo', sans-serif;
    color: #fff;
    display: flex;
    justify-content: space-between;
}

.footer-menu-privacy a {
    text-transform: none;
    color: #fff;
}

.footer-menu-privacy li {
    padding: 0 10px;
    border-left: 1px solid #fff;
}

.footer-menu-privacy li:first-child {
    padding-left: 0;
    border-left: none !important;
}

.footer-menu-privacy ul {
    gap: 0;
}

/* ===== Form ===== */
.form-input-block {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-top: 40px;
    margin-bottom: 40px;
}

.form-input-block p {
    width: 100%;
    overflow: hidden;
}

.wpcf7-form label {
    color: #771312;
    margin-bottom: 8px;
    display: block;
}

.wpcf7-form label span {
    font-size: 12px;
    padding-left: 4px;
}

.form-input-block input,
.wpcf7-form textarea {
    padding: 12px 0;
    border: none;
    background: transparent;
    font-family: 'Aleo', sans-serif;
    border-bottom: 1px solid #CBCFD2;
    width: 100%;
    transition: all .3s ease;
}

.wpcf7-form p {
    margin: 0;
}

.wpcf7-form br {
    display: none;
}

.form-input-block input:focus,
.wpcf7-form textarea:focus {
    outline: none;
}

.wpcf7-form textarea {
    width: 100%;
    height: 19px;
}

.wpcf7-form-control-wrap[data-name="your-phone"]:before {
    content: 'UK';
    position: absolute;
    top: 0;
}

.wpcf7-form-control-wrap[data-name="your-phone"] input {
    padding-left: 32px;
}

.wpcf7-list-item {
    margin: 0;
}

.wpcf7-list-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}

.wpcf7-checkbox label,
.wpcf7-acceptance label {
    margin: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
    position: relative;
    padding-left: 32px;
    cursor: pointer;
    line-height: 24px;
    display: inline-block;
    transition: color .3s ease;
}

.wpcf7-checkbox .wpcf7-list-item-label:hover,
.wpcf7-acceptance .wpcf7-list-item-label:hover {
    color: #771312;
}

.wpcf7-checkbox .wpcf7-list-item-label::before,
.wpcf7-acceptance .wpcf7-list-item-label::before {
    content: "";
    width: 24px;
    height: 24px;
    background: url("../../assets/images/checkbox.svg") no-repeat;
    position: absolute;
    left: 0;
    top: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label:hover::before,
.wpcf7-acceptance .wpcf7-list-item-label:hover::before {
    background: url("../../assets/images/checkbox-hover.svg") no-repeat;
}

.wpcf7-checkbox .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after,
.wpcf7-acceptance .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: "";
    width: 24px;
    height: 24px;
    background: url("../../assets/images/checkbox-active.svg") no-repeat;
    position: absolute;
    left: 0;
    top: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
    color: #4F575E;
    font-family: 'Aleo', sans-serif;
    font-size: 16px;
}

.form-checkbox-block {
    margin-bottom: 40px;
    max-width: 80%;
}

.form-message-block,
.form-acceptance-block {
    margin-bottom: 40px;
}

.form-acceptance-block > p {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-acceptance-block a {
    color: #771312;
}

.wpcf7-submit {
    display: inline-block;
    padding: 17px 18px 13px 20px;
    background: #771312;
    color: #fff;
    text-decoration: none;
    border-radius: 300px;
    font-weight: 500;
    transition: all 0.3s ease;
    font-size: 18px;
    text-transform: uppercase;
    border: none;
    width: 171px;
    transition: all .3s ease;
}

.submit-wrap {
    display: flex;
    max-width: fit-content;
}

.submit-wrap .wpcf7-spinner {
    display: none !important;
}

.submit-wrap .button-arrow-block > p {
    line-height: 14px;
}

.submit-wrap svg path {
    transition: all 0.3s ease;
}

.form-input-block .wpcf7-not-valid-tip {
    padding-top: 5px;
}

.form-input-block :is(input, textarea).wpcf7-not-valid {
    border-color: #FF3932;
}

.form-input-block :is(input, textarea):not(:placeholder-shown) {
    border-color: #000;
}

.form-input-block input:focus,
.wpcf7-form textarea:focus {
    border-color: #771312;
}

.submit-wrap:hover .wpcf7-submit {
    color: #771312;
    background: #fff;
}

.submit-wrap:hover .button-arrow-bg svg path {
    fill: #fff;
}

.submit-wrap:hover .button-arrow-block {
    background: #771312;
}

.submit-wrap:hover .button-arrow-block svg path {
    fill: #fff;
}

/* ===== Popup ===== */
.popup {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    pointer-events: none;
}

.popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.popup__content {
    position: relative;
    z-index: 2;
    background: #fff;
    padding: 25px;
    border-radius: 5px;
    max-width: 1280px;
    width: 90%;
    box-shadow: 0 5px 30px rgba(0,0,0,0.25);
    transform: translateY(-60px);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

#popup-thankyou .popup__content {
    max-width: 619px;
}

#popup-thankyou .popup-title {
    color: #771312;
    font-size: 40px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 16px;
    margin-top: 56px;
    text-align: center;
}

#popup-thankyou p {
    text-align: center;
    font-size: 18px;
    font-family: 'Aleo', sans-serif;
}

#popup-thankyou hr {
    margin: 28px 0 32px;
    opacity: 0.5;
    background: #771312;
    border: none;
    height: 1px;
}

#popup-thankyou .btn-wrap {
    display: flex;
    justify-content: center;
    gap: 24px;
}

#popup-thankyou .btn-wrap a {
    text-decoration: none;
    font-size: 18px;
    text-transform: uppercase;
    border-radius: 30px;
    border: 1px solid #771312;
    width: 188px;
    text-align: center;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#popup-thankyou .btn-wrap a:nth-child(1) {
    color: #771312;
}

#popup-thankyou .btn-wrap a:nth-child(2) {
    background: #771312;
    color: #fff;
}

#popup-thankyou .btn-wrap .popup__close {
    position: unset;
}

.popup.active {
    pointer-events: auto;
}

.popup.active .popup__overlay {
    opacity: 1;
}

.popup.active .popup__content {
    transform: translateY(0);
    opacity: 1;
}

.popup .contact-form-block {
    padding-top: 0;
    background-image: url("../../assets/images/popup-bg.png");
    background-repeat: no-repeat;
    background-position: 85% 100%;
    background-size: contain;
}

.popup__close {
    position: absolute;
    right: 25px;
    border: none;
    background: transparent;
    cursor: pointer;
}


/* ===== Go to top ===== */
.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: #771312;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.scroll-top.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-top:hover {
    background: #333;
}

/* ===== 404 ===== */
.error-404 {
    height: calc(100vh - 685px);
    padding-top: 120px;
    text-align: center;
}

/* ===== Content ===== */
p {
    margin-top: 0;
}

ul {
    padding-left: 20px;
}

.wp-singular .site-content {
    padding-top: 149px;
}

.home.wp-singular .site-content {
    padding-top: 0;
}

.portfoli-location {
    position: relative;
    padding-left: 24px;
    margin: 15px 0;
    font-family: "Sweet Sans Pro";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1.68px;
    color: #000;
}

.portfoli-location:before {
    content: '';
    position: absolute;
    top: 3px; /*calc(50% - 8px);*/
    left: 0;
    width: 13px;
    height: 16px;
    background: 50% 50% transparent no-repeat;
    background-image: url('/wp-content/themes/prime_renovation/assets/images/location.svg');
    background-size: contain;
}

.portfoli-name {
    font-family: "Sweet Sans Pro";
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 35px;
}

/*
.gallery-slider .swiper-slide a{
	pointer-events:none;
}
*/
.home-top-block:before{
	content:'';
	position:absolute;
	width:100%;
	height:100%;
    background: linear-gradient(182deg, rgba(0, 0, 0, 0.55) 8.87%, rgba(0, 0, 0, 0.00) 53.74%), linear-gradient(103deg, rgba(0, 0, 0, 0.00) 48.15%, rgba(0, 0, 0, 0.25) 66.71%), linear-gradient(107deg, rgba(0, 0, 0, 0.00) 32.47%, rgba(0, 0, 0, 0.25) 58.29%), linear-gradient(140deg, rgba(0, 0, 0, 0.00) 45.03%, rgba(0, 0, 0, 0.90) 86.03%);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	top:0;
	left:0;
    transform: scaleX(-1);
}
.accordion-block {
    padding-top: 100px;
}

.accordion-block .block-top-wrap {
    display: flex;
    gap: 24px;
    flex-direction: column;
}

.accordion-block .accordion-btn {
    cursor: pointer;
    padding: 36px 15px;
    width: 100%;
    text-align: left;
    border: 1px solid #000;
    border-left: 0;
    border-right: 0;
    outline: none;
    transition: 0.4s;
    font-family: 'Sweet Sans Pro',sans-serif;
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    background: transparent;
    margin-bottom: 24px;
    position: relative;
    box-sizing: border-box;
}

.accordion-block .accordion-btn a {
    color: inherit;
}
.accordion-block .accordion-btn a:hover,
.accordion-block .accordion-btn a:focus {
    text-decoration: none;
}

.accordion-block .accordion:last-child {
    margin-bottom: 0;
}

.accordion-block .active, .accordion:hover {
    background-color: #771312;
    color: #fff;
}

.accordion-block .active {
    margin-bottom: 0;
    border-bottom: none;
}

.accordion-block .panel {
    background-color: #771312;
    overflow: hidden;
    height: 0;
    transition: height 0.4s ease;
    color: #fff;
    font-size: 20px;
    display: flex;
    gap: 37px;
    justify-content: space-between;
}

.accordion-block .accordion-item.active .panel {
    margin-bottom: 24px;
    padding: 24px 60px;
}

.accordion-block .accordion-item.active .panel--noimg {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.accordion-block .panel strong {
    font-family: 'Sweet Sans Pro',sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    /*text-decoration: underline;*/
    font-weight: 400;
    text-transform: uppercase;
}

.accordion-block .panel p {
    margin-top: 0;
    font-family: 'Aleo';
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.accordion-block .panel a {
    color: inherit;
}

.accordion-block .panel a:hover,
.accordion-block .panel a:focus {
    text-decoration: none;
}


.accordion-block .panel .image-wrap {
    height: 303px;
    min-width: 462px;
    background-size: cover;
    background-position: center;
    border-radius: 5px;
}

.accordion-block .accordion-btn:after {
    content: '';
    background-image: url("../../assets/images/accordion-arrow.svg");
    float: right;
    margin-left: 5px;
    display: block;
    width: 35px;
    height: 35px;
    position: absolute;
    right: 20px;
    top: 33px;
}

.accordion-block .active:after {
    content: "";
    background-image: url("../../assets/images/accordion-arrow-active.svg");
}

.accordion-block .block-accordion-wrap {
    margin-top: 40px;
}

.accordion-item.active {
    background-color: #771312;
}

.categories-block {
    padding-top: 100px;
}

.categories-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.categories-block .block-top-right {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 32px;
}

.categories-block .image-wrap {
    border-radius: 5px;
    height: 392px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.categories-block .categories-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 40px;
}

.categories-block .categories-item {
    height: 480px;
    display: flex;
    border-radius: 5px;
    background-position: center;
    background-size: cover;
    position: relative;
    flex-direction: column;
    gap: 16px;
    padding: 25px;
    justify-content: end;
    color: #fff;
}
.categories-block .categories-item:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(350deg,rgba(0,0,0,0) 47.11%,#000 109.05%),linear-gradient(180deg,rgba(0,0,0,0) 28.26%,#000 99.94%);
    pointer-events: none;
    z-index: 1;
}

.categories-block .categories-item .categories-title,
.categories-block .categories-item .categories-text {
    position: relative;
    z-index: 2;
}

.categories-block .categories-item .categories-title {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: normal;
}

.categories-block .categories-item .categories-text {
    font-family: 'Aleo', sans-serif;
    font-size: 18px;
}
.choose-us-block {
    padding-top: 100px;
}

.choose-us-block .block-top-wrap {
    display: flex;
    justify-content: space-between;
}

.choose-us-block .block-top-right {
    max-width: 645px;
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 32px;
}

.choose-us-block .image-wrap {
    border-radius: 5px;
    height: 392px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.choose-us-block .block-bottom-wrap {
    display: flex;
    gap: 35px;
    margin-top: 40px;
}

.choose-us-block .block-bottom {
    flex: 1;
}

.choose-us-block .block-bottom-left {
    max-width: 532px;
    display: flex;
    gap: 25px;
    flex-direction: column;
}

.choose-us-block .row-text {
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 25px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.35);
    border-bottom: 1px solid rgba(0, 0, 0, 0.35);
}

.commitment-block {
    padding-top: 100px;
}

.commitment-block .block-wrap {
    display: flex;
    gap: 40px;
    border-bottom: 1px solid #a1a2a5;
    padding-bottom: 40px;
}

.commitment-block .image-wrap {
    border-radius: 5px;
    height: 274px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 32px;
}

.commitment-block .block-left {
    min-width: 799px;
}

.commitment-block .block-right {
    display: flex;
    flex-direction: column;
    align-items: end;
    padding-left: 40px;
    border-left: 1px solid #a1a2a5;
}

.commitment-block .row-block {
    display: flex;
    border-top: 1px solid #a1a2a5;
    padding: 21px 0;
    gap: 24px;
    flex-direction: column;
}

.commitment-block .row-block:first-child {
    border-top: none;
    padding-top: 0;
}

.commitment-block .row-block:last-child {
    padding-bottom: 0;
}

.commitment-block .row-title {
    color: #771312;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 24px;
}

.commitment-block .row-text {
    font-family: 'Aleo', sans-serif;
    font-size: 16px;
    max-width: 768px;
}
.contact-form-block {
    padding-top: 100px;
}

.contact-form-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.contacts-block {
    padding-top: 100px;
}

.contacts-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.contacts-block .image-wrap {
    border-radius: 5px;
    height: 587px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.contacts-block .block-top-center {
    display: flex;
    justify-content: space-between;
}

.contacts-block .info-block-title {
    color: #771312;
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.contacts-block .block-top-center a {
    color: #000;
    font-size: 18px;
    font-family: 'Aleo', sans-serif;
    text-decoration: none;
}

.contacts-block .block-top-center .phone:last-child {
    margin-top: 10px;
}

.custom-content {
    padding-top: 40px;
}

.custom-content .block-top-wrap {
    display: flex;
    gap: 40px;
    flex-direction: column;
}

.custom-content h3,
.custom-content h4 {
    color: #771312;
    font-size: 24px;
    text-transform: uppercase;
    font-weight: 400;
    font-family: 'Sweet Sans Pro', sans-serif;
    margin-top: 0;
}

.custom-content h4 {
    font-size: 16px;
}

.custom-content a {
    color: #771312;
    text-decoration: none;
}

.faq-block {
    padding-top: 80px;
}

@media (max-width: 991px) {
    .faq-block {
        padding-top: 20px;
    }
}

.faq-block .block-top-wrap {
    display: flex;
    gap: 24px;
    flex-direction: column;
}

.faq-block .panel-group {
    margin-top: 40px;
}

.faq-block .panel {
    border-bottom: 1px solid rgba(0, 0, 0, 0.35);
    background: #771312;
    color: #fff;
    border-radius: 5px;
}
.faq-block .panel.ps-collapsed {
    background: none;
    color: inherit;
}

.faq-block .panel-heading a {
    display: block;
    cursor: pointer;
    padding: 30px 55px 25px 25px;
    width: 100%;
    text-align: left;
    border-left: 0;
    border-right: 0;
    outline: none;
    transition: 0.4s;
    font-family: 'Sweet Sans Pro', sans-serif;
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    background: transparent;
    margin-bottom: 0;
    position: relative;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
}

.faq-block .ps-collapsed .panel-heading a {
    padding-top: 48px;
    padding-bottom: 29px;
}


.faq-block .panel-heading a:after {
    content: '';
    background-image: url(../../assets/images/accordion-arrow-active.svg);
    float: right;
    margin-left: 5px;
    display: block;
    width: 35px;
    height: 35px;
    position: absolute;
    right: 25px;
    top: 36px;
}

.faq-block .ps-collapsing a:after,
.faq-block .ps-collapsed a:after {
    background-image: url(../../assets/images/accordion-arrow.svg);
    right: 25px;
    top: 50px;
}

.faq-block .panel-body {
    padding: 6px 26px 19px 26px;
}

.faq-block .panel-body p {
    margin-top: 0;
    font-family: 'Aleo';
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.home-top-block {
    position: relative;
    background-size: cover;
    background-position: 50% 50%;
    color: #fff;
    padding: 32px 0 200px;
    min-height: calc(100vh - 232px);
    display: flex;
    align-items: end;
}

/*.home-top-block::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    background: rgba(0, 0, 0, 0.4);*/
/*}*/

.home-top-block .container {
    position: relative;
    z-index: 2;
    width: 100%;
}

.home-top-title {
    font-size: 60px;
    margin-bottom: 24px;
    text-transform: uppercase;
    font-weight: normal;
    max-width: 70%;
    margin-top: 0;
}

.home-top-subtitle {
    font-family: 'Aleo', sans-serif;
    font-size: 18px;
    margin-bottom: 40px;
}

.left-right-block {
    padding-top: 100px;
}

.left-right-block .image-wrap {
    border-radius: 5px;
    height: 369px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-width: 588px;
}

.left-right-block .block-top-wrap {
    display: flex;
    gap: 32px;
}

.left-right-block .block-text p {
    margin-top: 0;
}

.left-right-block .block-title {
    margin-bottom: 24px;
}

.left-right-block.img-left .block-top-wrap {
    flex-direction: row-reverse;
}

@media (max-width: 991px) {
    .left-right-block.img-left .block-top-wrap {
        flex-wrap: wrap;
    }

    .left-right-block.img-left .block-top-wrap .block-top-right {
        flex: 0 0 100%;
    }
}

.location-block {
    padding-top: 100px;
}

.location-block .block-top-wrap {
    display: flex;
    justify-content: space-between;
}

.location-block .block-title {
    margin-bottom: 32px;
}

.location-block .block-text {
    color: #771312;
    margin-bottom: 24px;
}

.location-block .row-text {
    font-size: 18px;
    font-family: 'Aleo', sans-serif;
    display: flex;
    gap: 12px;
}

.location-block .locations-wrap {
    display: flex;
    gap: 12px;
    flex-direction: column;
}

.location-block .locations-wrap svg {
    position: relative;
    top: -3px;
}

.location-block .image-wrap {
    border-radius: 5px;
    height: 320px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-width: 616px;
}

.offer-block {
    padding-top: 100px;
}

.offer-block .block-top-wrap {
    display: flex;
    gap: 24px;
    flex-direction: column;
}

.offer-block .block-items-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: 40px;
}

.offer-block .block-item {
    padding: 40px 25px;
    display: flex;
    gap: 14px;
    border-radius: 5px;
    flex-direction: column;
    background-color: #fff;
    position: relative;
    overflow: hidden;
}

.offer-block .item-title {
    font-size: 20px;
    text-transform: uppercase;
}

.offer-block .item-text {
    color: #4F575E;
    font-family: 'Aleo', sans-serif;
}

.offer-block .block-item:nth-child(odd) {
    background-color: #771312;
    color: #fff;
}

.offer-block .block-item:nth-child(odd) .item-text {
    color: #fff;
}

.offer-block .block-item:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 0;
}

.offer-block .block-item:nth-child(1)::after {
    background-image: url('../../assets/images/offer-bg-1.png');
    background-position: right;
    right: 0;
}

.offer-block .block-item:nth-child(2)::after {
    background-image: url('../../assets/images/offer-bg-2.png');
    background-position: left;
    left: 0;
}

.offer-block .block-item:nth-child(4)::after {
    background-image: url('../../assets/images/offer-bg-3.png');
    background-position: right;
    right: 0;
}

.offer-block .block-item:nth-child(5)::after {
    background-image: url('../../assets/images/offer-bg-4.png');
    background-position: left;
    left: 0;
}
.page-top-block {
    padding-top: 40px;
}

.page-top-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.page-top-block .block-top-right {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 32px;
}

.page-top-block .block-bottom-wrap {
    margin-top: 40px;
    display: flex;
}

.page-top-block .row-block {
    display: flex;
    border-right: 1px solid #771312;
    padding: 0 15px;
    gap: 14px;
    flex-direction: column;
    text-align: center;
    flex: 1;
    justify-content: space-between;
}

.page-top-block .row-block:last-child {
    border-right: none;
}

.page-top-block .image-wrap {
    text-align: center;
    margin-top: 40px;
}

.page-top-block .image-wrap img {
    max-width: 100%;
}

.page-top-block .row-title {
    color: #771312;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 24px;
}

.page-top-block .row-text {
    font-family: 'Aleo', sans-serif;
    font-size: 14px;
}

.page-top-block.style_2 .block-top-wrap {
    flex-direction: row;
    justify-content: space-between;
}

.page-top-block.style_2 .block-top-right {
    max-width: 550px;
}

.page-top-block p {
    margin-top: 0;
}

.page-top-block p:last-child {
    margin-bottom: 0;
}

.page-top-block--fullimg {
    overflow: hidden;
}

.page-top-block .image-wrap--full {
    position: relative;
    width: 100vw;
    width: 100dvw;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
}

.page-top-block .image-wrap--full img {
    object-fit: cover;
    margin: 0 auto;
    display: block;
    /* max-width: 1512px; */
    width: 100%;
    max-height: 738px;
}

.portfolio-block {
    padding-top: 100px;
}

.portfolio-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.portfolio-block .portfolio-list .portfolio-title {
    cursor: pointer;
    border-radius: 30px;
    padding: 10px 25px;
    letter-spacing: 1.68px;
    font-size: 14px;
    text-transform: uppercase;
    display: flex;
    gap: 12px;
    align-items: center;
    border: 1px solid #771312;
}

.portfolio-block .portfolio-list .portfolio-title:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #771312;
    border-radius: 50%;
}

.portfolio-block .portfolio-list .portfolio-title.active {
    color: #fff;
    background: #771312;
}

.portfolio-block .portfolio-list .portfolio-title.active:before {
    background: #fff;
}

.portfolio-block .item-large img {
    width: 100%;
    display: block;
    height: 428px;
    border-radius: 5px;
}

.portfolio-block .grid-bottom {
    display: grid;
    grid-template-columns: 50% 25% 25%;
    gap: 16px;
    margin-top: 16px;
    width: calc(100% - 32px);
}

.portfolio-block .grid-bottom img {
    height: 284px;
}

.portfolio-block .item img {
    width: 100%;
    display: block;
    object-fit: cover;
    border-radius: 5px;
    overflow: hidden;
}

.portfolio-block .item figure {
    margin: 0;
}

.portfolio-block .item-large img {
    position: relative;
    z-index: 8;
}

.portfolio-block figure {
    position: relative;
    z-index: 5;
}

.portfolio-block figure a {
    cursor: default;
}

.portfolio-block .img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent 50% 50% no-repeat;
    background-size: cover;
    z-index: 10;
    border-radius: 5px;
    overflow: hidden;
}

.portfolio-block .swiper-pagination .swiper-pagination-bullet {
    border-radius: 5px;
    width: 70px;
    height: 4px;
    background: #ECEDEE;
    opacity: 1;
}

.portfolio-block .swiper-pagination .swiper-pagination-bullet-active {
    background: #771312;
}

.portfolio-block .gallery-slider {
    padding-bottom: 50px;
}

.portfolio-block .pswp__counter {
    color: #fff;
}

.portfolio-list {
    margin: 47px 15px 25px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.pre-footer-block {
    margin-top: 100px;
}

.pre-footer-block .block-wrap {
    padding: 25px 45px;
    background-size: cover;
    color: #fff;
    min-height: 433px;
    display: flex;
    position: relative;
    flex-direction: column;
    border-radius: 5px;
    justify-content: center;
    overflow: hidden;
}

.pre-footer-block .block-wrap:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(268deg, rgba(0, 0, 0, 0) 10.08%, #000 74.15%);
    pointer-events: none;
    z-index: 1;
}

.pre-footer-block .block-title {
    font-size: 40px;
    margin-bottom: 24px;
    text-transform: uppercase;
    font-weight: normal;
    margin-top: 0;
    position: relative;
    z-index: 2;
}

.pre-footer-block .block-text {
    font-family: 'Aleo', sans-serif;
    font-size: 18px;
    position: relative;
    z-index: 2;
    margin-bottom: 32px;
    max-width: 700px;
}

.pre-footer-block .button-style-1 {
    position: relative;
    z-index: 2;
}

.reviews-block {
    padding-top: 100px;
}

.reviews-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.reviews-block .reviews-wrap {
    margin-top: 40px;
    border-radius: 3px;
}

.reviews-block .reviews-slide-wrap {
    display: flex;
    gap: 24px;
    padding: 32px;
    background: #fff;
}

.reviews-block .image-wrap {
    border-radius: 5px;
    height: 268px;
    min-width: 482px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.reviews-block .reviews-title {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 400;
    margin-bottom: 30px;
}

.reviews-block .reviews-text {
    font-family: 'Aleo', sans-serif;
    font-size: 16px;
    position: relative;
    line-height: 1.45;
    max-height: calc(1.45em * 4);
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.reviews-block hr {
    background: #771312;
    display: block;
    height: 1px;
    margin: 24px 0;
    width: 100%;
    border: none;
}

.reviews-text-wrap {
    display: flex;
    flex-direction: column;
    align-items: end;
}

.reviews-block .rev-info-wrap {
    padding: 16px;
}

.reviews-block .swiper-button-next svg,
.reviews-block .swiper-button-prev svg {
    display: none;
}

.reviews-block .swiper-button-next,
.reviews-block .swiper-button-prev {
    background-image: url("../../assets/images/review.svg");
    background-repeat: no-repeat;
    background-position: center;
    width: 32px;
    height: 32px;
}

.reviews-block .swiper-button-prev {
    background-image: url("../../assets/images/reviews-prev.svg");
}

.reviews-block .reviews-text.expanded {
    max-height: 2000px;
}

.reviews-block .readmore-toggle {
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    color: #771312;
    font-weight: 500;
    order: 3;
    display: flex;
    gap: 8px;
    align-items: center;
}

.reviews-block .readmore-toggle:after {
    content: "";
    display: block;
    background-image: url("../../assets/images/read-more.svg");
    width: 9px;
    height: 5px;
}

.reviews-block .readmore-toggle.active:after {
    transform: rotate(180deg);
}

.reviews-block .rating {
    display: flex;
    gap: 10px;
    margin-top: 32px;
    align-items: center;
}

.reviews-block .rating-text {
    font-size: 24px;
    line-height: 1;
    margin-top: -5px;
}

.reviews-block .swiper-pagination .swiper-pagination-bullet {
    border-radius: 5px;
    width: 70px;
    height: 4px;
    background: #ECEDEE;
    opacity: 1;
}

.reviews-block .swiper-pagination .swiper-pagination-bullet-active {
    background: #771312;
}

.reviews-block .swiper-wrapper  {
    margin-bottom: 59px;
}
.seotext-block {
    padding-top: 100px;
}

.seo-container {
    margin-left: 20px;
    margin-right: 20px;
}

.seo-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-inline-start: auto; margin-inline-end: auto; }

.seo-block__text {
    position: relative;
    height: 135px;
    color: rgb(0 0 0 / .6);
    text-align: center;
    overflow: hidden;
    transition: height 0.4s ease;
}

.seo-block__text:after {
    content: "";
    opacity: 1;
    background: linear-gradient(180deg, rgb(247 249 253 / 0%), rgb(247 249 253 / 100%));
    width: 100%;
    height: 160px;
    transition: opacity .3s;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
}

.seo-block.is-expanded .seo-block__text:after {
    opacity: 0;
}

.seo-block.is-expanded .seo-block__text {
    height: auto;
}

.seo-block__toggle {
    display: flex;
    align-items: center;
    justify-content: safe center;
    cursor: pointer;
    position: relative;
}

.seo-block__button {
    position: relative;
    font-size: 11px;
    height: 15px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgb(0 0 0 / .6);
}

.seo-block__button:hover {
    color: #000;
}

.seo-block__button:before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -1px;
    background-color: rgb(0 0 0 / .2);
    opacity: 1;
    visibility: visible;
    transition: transform .3s, opacity .3s;
    transform: translateY(0);
}

.seo-block__button:after {
    content: "";
    width: 0;
    height: 1px;
    background-color: rgb(0 0 0);
    ; position: absolute;
    right: 0;
    bottom: -1px;
    opacity: 1;
    visibility: visible;
    transition: width .3s;
    transform: translateY(0);
}

.seo-block__button:hover:after {
    width: 100%;
    left: 0;
    right: auto;
}

@media screen and (min-width: 700px) {
    .seo-block {
        max-width: 720px;
    }
}

@media screen and (min-width: 1400px) {
    .seo-block {
        max-width: 921px;
    }
}

@media screen and (max-width: 700px) {
}

.seo-block [hidden] {
    display: none !important;
}
.services-block {
    padding-top: 100px;
}

.services-block .block-top-wrap {
    display: flex;
    justify-content: space-between;
}

.services-block .block-top-right {
    max-width: 645px;
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 32px;
}

.services-block .image-wrap {
    border-radius: 5px;
    height: 392px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.services-block .services-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 40px;
}

.services-block .service-item {
    height: 480px;
    display: flex;
    border-radius: 5px;
    background-position: center;
    background-size: cover;
    position: relative;
    flex-direction: column;
    gap: 16px;
    padding: 25px;
    justify-content: end;
    color: #fff;
    overflow: hidden;
}

.services-block .service-item:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(350deg, rgba(0, 0, 0, 0.00) 47.11%, #000 109.05%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 28.26%, #000 99.94%);
    pointer-events: none;
    z-index: 1;
}

.services-block .service-item .service-title,
.services-block .service-item .service-text {
    position: relative;
    z-index: 2;
}

.services-block .service-item .service-title {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: normal;
}

.services-block .service-item .service-text {
    font-family: 'Aleo', sans-serif;
    font-size: 18px;
}
.steps-block {
    padding-top: 100px;
}

.steps-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.steps-block .steps-wrap {
    margin-top: 40px;
    border-radius: 3px;
}

.steps-block .steps-slide-wrap {
    display: flex;
    gap: 32px;
    padding: 25px;
    background: #fff;
}

.steps-block .image-wrap {
    border-radius: 5px;
    height: 372px;
    min-width: 538px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.steps-block .step-title {
    text-transform: uppercase;
    font-size: 40px;
    font-weight: 400;
    margin-bottom: 24px;
}

.steps-block .step-text {
    font-family: 'Aleo', sans-serif;
    font-size: 18px;
}

.step-text-wrap {
    display: flex;
    flex-direction: column;
    align-items: end;
}

.steps-block .step-info-wrap .block-top-title span {
    margin-left: -6px;
}

.steps-block .swiper-button-next svg,
.steps-block .swiper-button-prev svg {
    display: none;
}

.steps-block .steps-wrap .swiper-button-next,
.steps-block .steps-wrap .swiper-button-prev {
    background-image: url("../../assets/images/steps-next.svg");
    background-repeat: no-repeat;
    background-position: center;
    width: 188px;
    height: 59px;
    bottom: 85px;
    top: auto;
    position: unset;
    margin: 0;
}

.steps-block .steps-wrap .swiper-button-prev {
    background-image: url("../../assets/images/steps-back.svg");
    left: 25px;
}

.steps-block .steps-wrap .swiper-button-next {
    left: 150px;
}

.steps-block .swiper-button-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
}

.steps-block p {
    margin-top: 0;
}

.steps-block .swiper-button-disabled {
    opacity: 0 !important;
}

.steps-block .step-info-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.text-image-block {
    padding-top: 100px;
}

.text-image-block .block-top-wrap {
    display: flex;
    gap: 24px;
    flex-direction: column;
}

.text-image-block .image-wrap {
    border-radius: 5px;
    height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 32px;
}

.timeline-block {
    padding-top: 100px;
}

.timeline-block .block-top-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.timeline-block .block-top-right {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 32px;
}

.timeline-block .block-text {
    width: 100%;
}

.timeline-block .block-bottom-wrap {
    margin-top: 40px;
}

.timeline-block--vertical .block-bottom-wrap {
    margin-top: 0;
}

.timeline-block .row-block {
    display: flex;
    border-top: 1px solid #771312;
    padding: 24px 0;
    justify-content: space-between;
}

.timeline-block .row-block--vertical {
    flex-direction: column;
    gap: 15px;
    padding-top: 18px;
    padding-bottom: 25px;
}

.timeline-block .row-block--vertical:first-child {
    border-top: none;
    padding-top: 17px;
}

.timeline-block .row-title {
    color: #771312;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 24px;
    max-width: 680px;
}

.timeline-block .row-text {
    font-family: 'Aleo', sans-serif;
    font-size: 16px;
    max-width: 768px;
}

.timeline-block--vertical .row-text {
    font-size: 18px;
}
.works-block {
    padding-top: 100px;
    overflow-x: hidden;
}

.works-block .block-top-wrap {
    display: flex;
    justify-content: space-between;
}

.works-block .block-top-right {
    max-width: 645px;
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 32px;
}

.works-block .image-wrap {
    border-radius: 5px;
    height: 373px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 24px;
}

.works-block .works-title {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 500;
    color: #771312;
    margin-bottom: 16px;
}

.works-block .works-text {
    font-family: 'Aleo', sans-serif;
    font-size: 16px;
}

.works-block .works-slider {
    overflow: visible;
    position: relative;
}

.works-block .swiper-slide {
    width: 602px;
    flex-shrink: 0;
}

.works-block .swiper-button-wrap {
    display: flex;
    margin-top: 40px;
    justify-content: center;
    gap: 10px;
}

.works-block .swiper-button-prev,
.works-block .swiper-button-next {
    color: #A83530;
    position: unset;
    border-radius: 4px;
    border: 1px solid #771312;
    width: 45px;
    height: 45px;
    margin: 0 !important;
}

.works-block .swiper-button-prev svg,
.works-block .swiper-button-next svg {
    width: 11px;
}

.works-wrap {
    margin-top: 40px;
}