.cta-flag {
    padding: 50px 0;
    background-image: linear-gradient(to right, #043364, #285789);
    color: #FFF;
    position: relative;
}

.cta-flag:before,
.cta-flag:after {
    content: "";
    display: none;
    position: absolute;
    width: 100%;
    height: 100px;
    z-index: 7;
    background-image: linear-gradient(to right, #043364, #285789);
    -webkit-transform: skewY(-3deg);
            transform: skewY(-3deg);
}

.cta-flag.top-angle-type-1:before,
.cta-flag.top-angle-type-2:before {
    display: block;
}

.cta-flag.bottom-angle-type-1:after,
.cta-flag.bottom-angle-type-2:after {
    display: block;
}

.cta-flag.top-angle-type-1:before,
.cta-flag.bottom-angle-type-1:after {
    -webkit-transform: skewY(3deg);
        transform: skewY(3deg);
}

.cta-flag.top-angle-type-2:before,
.cta-flag.bottom-angle-type-2:after {
    -webkit-transform: skewY(-3deg);
        transform: skewY(-3deg);
}

.cta-flag.bottom-angle-type-1,
.cta-flag.bottom-angle-type-2 {
    margin: 40px 0 0;
}

.cta-flag.bottom-angle-type-1 + .wysiwyg,
.cta-flag.bottom-angle-type-2 + .wysiwyg {
    padding-top: 120px;
}

.cta-flag.top-angle-type-1 {
    margin-top: 80px;   
}

.cta-flag:before {
    top: -49px;
}

.cta-flag:after {
    bottom: -49px;
}

.cta-flag__container {
    max-width: 1092px;
    margin: 0 auto;
    z-index: 8;
    padding: 120px 140px;
}

.cta-flag__inner {
    position: relative;
    z-index: 13;
}

.cta-flag__inner:before,
.cta-flag__inner:after {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    z-index: 10;
}

.cta-flag__inner:before {
    background-image: url("/source/d165d21ac2898bfe58fe267c65fb42f8/icon-flag-top.svg");
    background-position: 56px center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 187px;
    height: 397px;
    top: -260px;
    right: 0;
    left: auto;
}

.cta-flag__inner:after {
    background-image: url("/source/c8503e60eeecef03cf22fe24d62aecf0/icon-flag-bottom.svg");
    background-position: -114px center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 334px;
    height: 514px;
    bottom: -326px;
}

.cta-flag.top-angle-type-1 .cta-flag__container,
.cta-flag.bottom-angle-type-1 .cta-flag__container {
    padding: 0;
}

.cta-flag.bottom-angle-type-2:after {
    z-index: 7;
}

.cta-flag.bottom-angle-type-2 .cta-flag__container {
    padding-bottom: 0;
}

.cta-flag.top-angle-type-1 .cta-flag__container,
.cta-flag.top-angle-type-2 .cta-flag__container {
    padding-top: 20px;
}

.cta-flag__title {
    font-size: 35px;
    text-align: center;
    margin-bottom: 25px;
}

.cta-flag__container h1,
.cta-flag__container h2,
.cta-flag__container h3 {
    margin-bottom: 25px;
    color: #fff;
}

.cta-flag__container p {
    margin: 0 0 20px;
}

.cta-flag__container ul,
.cta-flag__container ol {
	margin: 20px 0;
}

.cta-flag__container ul li:not(:last-child),
.cta-flag__container ol li:not(:last-child) {
	margin-bottom: 10px;
}

.cta-flag__container a[href*=tel] {
    display: inline-block;
}

.cta-flag__container a:not(.btn) {
    padding: 1px;
    color: #fff;
    box-shadow: inset 0 0 #fff;
    transition: box-shadow 0.3s ease-in-out,
                color 0.3s ease-in-out;
}

.cta-flag__container a:not(.btn):not(.has-image):hover {
    color:#043364;
    box-shadow: inset 0 -100px #fff;
}

.cta-flag__button {
    text-align: center; 
    margin-top: 25px;
}

/*
* Responsive
*/

@media (max-width: 1025px) {
    .cta-flag__container {
        padding: 130px 140px;
    }

    .cta-flag.bottom-angle-type-2 .cta-flag__container {
        padding-bottom: 0;
    }
    
    .cta-flag.top-angle-type-2 .cta-flag__container {
        padding-top: 20px;
    }

    .cta-flag.top-angle-type-1 .cta-flag__container,
    .cta-flag.bottom-angle-type-1 .cta-flag__container {
        padding: 0 140px 80px;
    }

    .cta-flag__inner:before {
        background-position: 54px center;
    }

    .cta-flag__inner:after {
        background-position: -218px center;
    }
}

@media (max-width: 600px) {
    .cta-flag__container {
        padding: 70px 30px;
    }

    .cta-flag.bottom-angle-type-1 + .wysiwyg,
    .cta-flag.bottom-angle-type-2 + .wysiwyg {
        padding-top: 100px;
    }

    .cta-flag.top-angle-type-1 .cta-flag__container,
    .cta-flag.top-angle-type-2 .cta-flag__container,
    .cta-flag.bottom-angle-type-1 .cta-flag__container,
    .cta-flag.bottom-angle-type-2 .cta-flag__container {
        padding: 0 30px;
    }

    .cta-flag.bottom-angle-type-1 .cta-flag__container,
    .cta-flag.bottom-angle-type-2 .cta-flag__container {
        padding-bottom: 0;
    }

    .cta-flag__inner:after,
    .cta-flag__inner:before {
        display: none;  
    }

    .cta-flag__title {
        font-size: 25px;
    }

    .cta-flag__description p {
        font-size: 16px;
        font-weight: 400;
    }

    .cta-flag__button .btn {
        display: block;
        width: 100%;
        margin: 0 0 15px;
    }
}