/* standard: public */
/*#region*/

@media (min-width: 768px) {
    .scroll {
        overflow-x: hidden;
        overflow-y: auto;
    }
}

@media (max-width: 767px) {
    .scroll {
        overflow-x: auto;
        overflow-y: hidden;
    }
}

.page-wrap .container {
    max-width: 1280px;
}

footer .wrap {
    margin: 0 auto;
    max-width: calc(100% - 200px);
}

.section-51, .section-52, .section-53, .section-54 {
    padding: 80px 0;
}

.section-51 h2, .section-52 h2, .section-53 h2, .section-54 h2 {
    margin: 0 0 50px;
    padding: 0 0 30px;
    font-size: 80px;
    font-weight: 500;
    line-height: 1;
    color: #333;
    text-align: center;
    border-bottom: 1px solid #000;
}

.section-57 b, .section-57 strong,
.section-56 b, .section-56 strong {
    font-weight: 500;
}

@media (max-width: 767px) {
    .section-51, .section-52, .section-53, .section-54 {
        padding: 40px 0;
    }

    .section-51 h2, .section-52 h2, .section-53 h2, .section-54 h2 {
        margin-bottom: 20px;
        padding-bottom: 20px;
        font-size: 48px;
    }

    footer .wrap {
        max-width: calc(100% - 30px);
    }
}

/*#endregion*/

/* standard: banner */
/*#region*/

.standard-banner .box {
    position: relative;
}

.standard-banner .img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
}

.standard-banner .img:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: #1f325ab3;
}

.standard-banner .img img {
    position: relative;
    z-index: 0;
    width: 100%;
}

.standard-banner .wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.standard-banner .txt {
    color: #fff;
    text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
}

.standard-banner .txt h1 {
    margin: 0;
    font-size: 150px;
}

.standard-banner .txt p {
    margin: 30px 0 0;
    font-size: 30px;
    line-height: 1.4;
}

.standard-banner .txt a {
    margin-top: 30px;
    padding: 12px 24px;
    display: inline-block;
    border: 2px solid #fff;
    font-size: 30px;
    line-height: 1;
    text-decoration: none;
    border-radius: 30px;
    color: #fff;
}

@media (min-width: 768px) {

    .standard-banner .wrap {
        min-height: 600px;
    }
}

@media (max-width: 767px) {

    .standard-banner .wrap {
        min-height: 350px;
    }

    .standard-banner .txt h1 {
        font-size: 48px;
    }

    .standard-banner .txt p {
        font-size: 20px;
    }

    .standard-banner .txt a {
        font-size: 20px;
    }
}


/*#endregion*/

/* standard: 51 */
/*#region*/

.section-51 {
    padding: 150px 0 50px;
}

.section-51 h3 {
    position: relative;
    margin: 0;
    text-align: left;
    font-size: 80px;
    font-weight: 500;
}

.section-51 .editor {
    margin-top: 40px;
    font-size: 20px;
    font-weight: 400;
    line-height: 2;
}

@media (min-width: 768px) {

    .section-51 .img {
        padding: 50px;
    }

    .section-51 .img img {
        transform: scale(1);
        animation: imgscale 3s ease-in-out infinite;
    }

    .section-51 .txt {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        justify-content: center;
    }
}

@media (max-width: 767px) {

    .section-51 {
        padding: 50px 0 20px;
    }

    .section-51 .img {
        margin: 0 10% 20px;
    }

    .section-51 .txt {
        margin: 0 5px;
    }

    .section-51 h3 {
        font-size: 48px;
        text-align: center;
    }

    .section-51 p {
        font-size: 16px;
        font-weight: 300;
        text-align: justify;
    }
}

@keyframes imgscale {

    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.1)
    }

    100% {
        transform: scale(1)
    }
}

/*#endregion*/

/* standard: 52 */
/*#region*/

.section-52, .section-54 {
    background: #f7f7f7;
}

.section-52 .grid {
    margin-bottom: 50px;
}

.section-52 .item {
    margin: 0 15px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
    border-radius: 15px 15px 15px 15px;
    overflow: hidden;
}

.section-52 .item h5 {
    margin: 0;
    padding: 20px 10px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.section-52 .item a {
    color: #5a5a5a;
    text-decoration: none;
}

@media (min-width: 768px) {

    .section-52 .item .img {
        overflow: hidden;
    }

    .section-52 .item img {
        transform: scale(1);
        transition: all .5s;
    }

    .section-52 .item:hover img {
        transform: scale(1.2);
    }
}


@media (max-width: 767px) {

    .section-52 {
        padding: 50px 0 0;
    }

    .section-52 .grid {
        margin-bottom: 30px;
    }

    .section-52 .item {
        margin-left: -5px;
        margin-right: -5px;
    }

    .section-52 .item h5 {
        padding: 20px 0;
        font-size: 16px;
    }
}

/*#endregion*/

/* standard: 53 */
/*#region*/
.section-53 {
    margin-bottom: 50px;
}

.section-53 .txt {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
}

.section-53 .txt h3 {
    margin: 0 0 30px;
    font-size: 54px;
    font-weight: 400;
    line-height: 1;
}

.section-53 .txt p {
    margin: 0;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.8;
    text-align: justify;
}

@media (min-width: 768px) {

    .section-53 .img {
        max-width: 90%;
    }

}

@media (max-width: 767px) {
    .section-53 .img {
        margin: 0 10%;
    }

    .section-53 .txt {
        margin-top: 20px;
    }

    .section-53 .txt h3 {
        font-size: 36px;
        text-align: center;
    }

    .section-53 .txt p {
        font-size: 16px;
    }
}

/*#endregion*/

/* standard: 58 */
/*#region*/
.section-58 {
    margin-bottom: 50px;
}

.section-58 .spec {
    width: 100%;
}

.section-58 .spec th,
.section-58 .spec td {
    padding: 10px 20px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.8;
}

.section-58 .spec th {
    margin: 0 0 30px;
    width: 30%;
    font-weight: 400;
}

/*#endregion*/

/* standard: single */
/*#region*/
.standard-wrap {
    padding: 30px 0;
}

.standard-wrap .section-55 h1 {
    margin: 0 0 10px;
    padding-bottom: 20px;
    font-size: 36px;
    font-weight: 400;
    line-height: 50px;
    letter-spacing: .6px;
    color: #2b2b2b;
    border-bottom: 1px solid #f1f1f1;
}

.standard-wrap .section-55 ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.standard-wrap .section-55 li:before {
    content: '';
    margin-right: 20px;
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #565656;
    vertical-align: middle;
}


.standard-wrap .section-55 li {
    font-size: 20px;
    line-height: 36px;
    color: #565656;
    font-weight: 300;
}

.section-56 h2, .section-57 h2, .section-58 h2 {
    background: #f2f2f2;
    margin: 20px 0;
    padding: 8px 15px 5px 15px;
    font-size: 24px;
    line-height: 1.8;
    text-align: left;
    color: #333;
}

.section-56 .editor, .section-57 .editor {
    padding: 5px 20px 50px 20px;
}

.section-56 p, .section-57 p, .section-58 p {
    margin: 0;
    font-size: 20px;
    line-height: 1.8;
    font-weight: 300;
    text-align: justify;
}

/*#endregion*/

.section-51 h3 span {
    position: relative;
    padding-right: 20px;
}

.section-51 h3 span:before,
.section-51 h3 span:after {
    position: absolute;
    width: 100px;
    height: 100px;
    color: #567969;

}

.section-51 h3 span:before {
    content: 'F';
    top: 7px;
    right: 0;
    padding-left: 12px;
    background: #fff;
    font-size: 80px;
}

.section-51 h3 span:after {
    content: '+';
    top: -3px;
    right: 0;
    padding-left: 60px;
    font-size: 60px;
}


.elementor-headline--style-highlight {
    --iteration-count: infinite;
    --animation-duration: 1200ms;
    --dynamic-text-color: #567969;

}

.elementor-headline--style-highlight svg {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 100px;
    height: 100px;
    overflow: visible;
}

.elementor-headline--style-highlight svg path {
    stroke: red;
    stroke-width: 9;
    fill: none;
    opacity: 0;
    stroke-dasharray: 0 1500;
    transition: .3s
}

.elementor-headline.e-animated svg path {
    animation: elementor-headline-dash forwards;
    animation-duration: var(--animation-duration, 1.2s);
    animation-iteration-count: 1
}

@media (prefers-reduced-motion: reduce) {
    .elementor-headline.e-animated svg path {
        animation-duration: 0s
    }
}

.elementor-headline.e-animated svg path:nth-of-type(2) {
    animation-delay: calc(var(--animation-duration, 1.2s) / 2)
}

@media (prefers-reduced-motion: reduce) {
    .elementor-headline.e-animated svg path:nth-of-type(2) {
        animation-delay: 0s
    }
}

.elementor-headline.e-hide-highlight svg path {
    opacity: 1;
    stroke-dasharray: 1500 1500;
    animation: hide-highlight .4s forwards;
    animation-iteration-count: 1
}


@media (max-width: 767px) {

    .section-51 h3 span {
        padding-right: 16px;
    }

    .section-51 h3 span:before,
    .section-51 h3 span:after {
        width: 65px;
        height: 65px;

    }

    .section-51 h3 span:before {
        top: 3px;
        right: 8px;
        padding-left: 0;
        font-size: 48px;
    }

    .section-51 h3 span:after {
        top: -3px;
        padding-left: 30px;
        font-size: 38px;
    }


    .elementor-headline--style-highlight svg {
        z-index: 1;
        width: 65px;
        height: 65px;
    }
}

@keyframes elementor-headline-dash {
    0% {
        stroke-dasharray: 0 1500;
        opacity: 1
    }

    to {
        stroke-dasharray: 1500 1500;
        opacity: 1
    }
}