.fronttop{
    overflow: hidden;
    background: url(../img/frontpage/blue-grad.jpg) center top no-repeat;
    background-size: 100% 100%;
    position: relative;
    /* background: url(../img/frontpage/hero.svg) var(--dark) calc(50% + 405px) top no-repeat; */
}
.fronttop__pic{
    position: absolute;
    left: calc(50% + 80px);
    top: 0;
    height: 100%;
}
@media (min-width:1600px){
    .fronttop{
        background-position: right top;
    }
    .fronttop__pic{
        right: 0;
        left: auto;
    }
}
.fronttop .hdr{
    background: none;
    border-bottom-color: transparent;
}
.fronthero {
    background: none;
    padding-bottom: 19rem;
    padding-top: 9rem;
    color:#000;
}
.fronthero__button{
    width: 190px;
    height: 50px;
    font-size: 1.8rem;
}


.frontblue {
    position: relative;
    background: var(--blue4);
}
.fronttopcards {
    align-items: stretch;
    justify-content: space-between;
    transform: translateY(-60px);
}
.frontcard {
    width: calc(50% - 15px);
    background: #FFFFFF;
    border-radius: 1rem;
    padding: 40px;
    color:#000;
    text-decoration: none;
}
.frontcard:hover{
    color:#000;
    text-decoration: none; 
}
.frontcard__prises {
    align-items: center;
}
.frontcard__price {
    width: calc(100% / 3);
    overflow: hidden;
    align-items: center;
}
.frontcard__iconwrap {
    flex-shrink: 0;
    width: 7rem;
    height: 7rem;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    border-radius: 10rem;
    background: #FAE1E2;
    margin-right: 10px;
}
.frontcard__iconwrap--blue {
    background: var(--blue4);
}
.frontcard__iconwrap--grey {
    background: var(--grey3);
}
.frontcard__iconwrap img{
    display: block;
    margin: auto;
    width: 43px;
    height: 43px;
    transform: translateY(2px);
}
.frontcard__network img{
    display: block;
    width: 65px;
    height: 65px;
}


.forntcodes {
    padding-top: calc(15rem - 65px);
    padding-bottom: 10rem;
}
.forntcodes__menu {
    padding-top: 3.2rem;
    width: 30rem;
    flex-shrink: 0;
}
.forntcodes__menu li:not(:last-child){
    margin-bottom: 4.3rem;
}
.forntcodes__menu ul a{
    display: block;
    color:#000;
    position: relative;
}
.forntcodes__menu ul a:hover{
    text-decoration: none;
    color:var(--blue);
}
.forntcodes__menu ul a.actie:hover{
    color:#000;
}
.forntcodes__menu ul  a.active{
    padding-left: 23px;
    font-weight: 700;
}
.forntcodes__menu a.active::before{
    content:"";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 34px;
    background: #000;
    transform: translateY(-50%);
}
.forntcodes__menumore {
    margin-top: 5.5rem;
    display: inline-block;
    color:#000;
    text-decoration: underline;
}
.forntcodes__menumore:hover{
    text-decoration: underline;
}



.forntcodes__tabwraps {
    position: relative;
    min-width: 0;
    flex-grow: 1;
    max-width: 866px;
}
.forntcodes__tab {
    display: none;
}
.forntcodes__tab>p{
    max-width: 750px;
}
.forntcodes__tab.active{
    display: block;
}
.forntcodes__tabtitle {
    font-weight: 700;
}
.forntcodes__tab .nativecode__link:not(.active){
    background: transparent;
}
.forntcodes__tab .nativecode__link:not(.active):hover{
    background: #fff;
}
.forntcodes__bottom {
    padding-top: 5rem;
    text-align: center;
}
.forntcodes__bottom .button{
    padding-left: 45px;
    padding-right: 45px;
    font-size: 20px;
    height: 53px;
    display: inline-flex;
}
.forntcodes__innertabs .nativecode__tabctrls{
    padding-top: 4rem;
}




.frontnewcards {
    padding-top: 13rem;
    padding-bottom: 6rem;
}
.frontnewcards__wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    grid-gap: 3rem;
}
.frontsimplecard{
    padding: 4rem 3.5rem 13rem;
}
.frontsimplecard .cardsimple__title{
    padding-bottom: 2rem;
}
.frontsimplecard .cardsimple__bottom{
    left: 3.5rem;
    bottom: 3.5rem;
}



.frontstories {
    padding-top: 7rem;
    padding-bottom: 6rem;
}
.frontstories__checkers {
    display: grid;
    grid-template-columns: 2fr 3fr 1fr;
    grid-gap: 40px 0;
    max-width: 920px;
}
.frontstories__checkers li{
    position: relative;
    padding-left: 35px;
    line-height: 24px;
    background: url(../img/frontpage/icon-done.svg) left top no-repeat;
    background-size: 24px;
}
.frontstories__sliderwrap {
    margin-top: 6rem;
    position: relative;
    margin-bottom: 33px;
}
.ctrl {
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 60px;
    border:none;
    background: none;
    cursor: pointer;
    position: absolute;
    top: 50%;
    margin-top: -2rem;
    z-index: 10;
}
.ctrl img{
    display: block;
    width: 100%;
    height: 100%;
}
.ctrl:hover img{
    filter: brightness(1.02);
}
.ctrl--prev{
    left: -70px;
}
.ctrl--next {
    right: -70px;
}
.ctrl--next img{
    transform: rotate(180deg);
}

@media (max-width:1439px){
    .jsFrontVideosSwiper {
        margin-left: 20px;
        margin-right: 20px;
    }
    .ctrl--prev{
        left: -30px;
    }
    .ctrl--next{
        right: -30px;
    }
}

.frontstories__pag{
    position: absolute;
    width: 100%;
    bottom: -30px !important;
    height: 3px;
    left: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: center;
}
.frontstories .comvideo .comvideo__descr{
    display: none;
}
.swiper-pagination-bullet{
    width: 20px;
    border-radius: 0;
    opacity: 1;
    background: var(--grey2);
    height: auto;
}
.swiper-pagination-bullet:hover{
    background: var(--grey4);
}
.swiper-pagination-bullet-active{
    background: var(--blue);
}
.frontstories__bottom{
    text-align: center;
}
.frontstories__bottom .button{
    display: inline-flex;
    width: 195px;
}



.frontconfs {
    padding-top: 7rem;
}
.frontconfs__wrap {
    padding-top: 6rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    grid-gap: 3rem;
}
.frontconfcard {
    display: block;
    color:#000;
    background: var(--grey3);
    border-radius: 10px;
    padding: 35px 35px 135px;
    transition: box-shadow 0.25s ease;
    position: relative;
}
.frontconfcard:hover{
    color:#000;
    text-decoration: none;
    box-shadow: 8px 8px 10px rgba(0, 0, 0, 0.1);
}
.frontconfcard--red {
    background: #FEEFF0;
}
.frontconfcard--blue{
    background: var(--blue4);
}
.frontconfs__iconwrap {
    height: 7rem;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    box-sizing: content-box;
}
.frontconfs__iconwrap img{
    display: block;
    max-height: 100%;
}
.frontconfcard__title {
    font-weight: 700;
}
.frontconfcard__bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 35px;
    right: 0;
    display: block;
}
.frontconfcard__bottom .capstext small{
    text-transform: none;
    letter-spacing: normal;
    font-size: 100%;
}
.frontconfcard__cal {
    margin-top: 1rem;
    padding-left: 26px;
    line-height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.188 1.594h-3.282V.344a.157.157 0 0 0-.156-.156h-1.094a.157.157 0 0 0-.156.156v1.25h-5V.344a.157.157 0 0 0-.156-.156H4.25a.157.157 0 0 0-.156.156v1.25H.812a.624.624 0 0 0-.625.625v12.969c0 .345.28.624.625.624h14.376c.345 0 .624-.279.624-.624V2.217a.624.624 0 0 0-.624-.624Zm-.782 12.812H1.594V6.984h12.812v7.422ZM1.594 5.656V3h2.5v.938c0 .085.07.156.156.156h1.094c.086 0 .156-.07.156-.157V3h5v.938c0 .085.07.156.156.156h1.094c.086 0 .156-.07.156-.157V3h2.5v2.656H1.594Z' fill='%232d2d2d'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 0 center;
    background-size: 16px;
}
.frontconfcard--red .frontconfcard__cal {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.188 1.594h-3.282V.344a.157.157 0 0 0-.156-.156h-1.094a.157.157 0 0 0-.156.156v1.25h-5V.344a.157.157 0 0 0-.156-.156H4.25a.157.157 0 0 0-.156.156v1.25H.812a.624.624 0 0 0-.625.625v12.969c0 .345.28.624.625.624h14.376c.345 0 .624-.279.624-.624V2.217a.624.624 0 0 0-.624-.624Zm-.782 12.812H1.594V6.984h12.812v7.422ZM1.594 5.656V3h2.5v.938c0 .085.07.156.156.156h1.094c.086 0 .156-.07.156-.157V3h5v.938c0 .085.07.156.156.156h1.094c.086 0 .156-.07.156-.157V3h2.5v2.656H1.594Z' fill='%23CE2034'/%3E%3C/svg%3E");
}
.frontconfcard--blue .frontconfcard__cal {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.188 1.594h-3.282V.344a.157.157 0 0 0-.156-.156h-1.094a.157.157 0 0 0-.156.156v1.25h-5V.344a.157.157 0 0 0-.156-.156H4.25a.157.157 0 0 0-.156.156v1.25H.812a.624.624 0 0 0-.625.625v12.969c0 .345.28.624.625.624h14.376c.345 0 .624-.279.624-.624V2.217a.624.624 0 0 0-.624-.624Zm-.782 12.812H1.594V6.984h12.812v7.422ZM1.594 5.656V3h2.5v.938c0 .085.07.156.156.156h1.094c.086 0 .156-.07.156-.157V3h5v.938c0 .085.07.156.156.156h1.094c.086 0 .156-.07.156-.157V3h2.5v2.656H1.594Z' fill='%230070cc'/%3E%3C/svg%3E");
}
.frontconfs__bottom {
    text-align: center;
}
.frontconfs__bottom .button{
    display: inline-flex;
    width: 195px;
}




.fronteventsbanner {
    padding-top: calc(10rem - 60px);
    padding-bottom: 0;
}



.frontresourse {
    padding-top: 7rem;
    padding-bottom: 6rem;
}
.frontresourse__subtitle {
    font-size: 3.2rem;
    line-height: 1.3;
}
.frontresourse__wrap {
    padding-top: 10rem;
    justify-content: space-between;
}
.frontresourse__col {
    width: calc(50% - 15px);
}
.frontresitem {
    height: 120px;
    border-radius: 1rem;
    margin-bottom: 1rem;
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    background: var(--grey);
    padding-left: 10rem;
    padding-right: 6rem;
    color:#000;
}
.frontresitem:hover{
    color:#000;
    text-decoration: none;
}
.frontresitem__icon {
    position: absolute;
    left: 28px;
    top: 50%;
    width: 48px;
    height: 48px;
    margin-top: -24px;
}
.frontresitem__icon img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.frontresitem--black,
.frontresitem--black:hover{
    background: var(--dark);
    color:#fff;
}
.frontresitem--red,
.frontresitem--red:hover{
    background: var(--red2);
    color:#fff;
}
.frontresitem--rose,
.frontresitem--rose:hover{
    background: var(--red5);
}



.toolingend--front{
    margin-top: 6rem;
}
.toolingend--front .toolingend__main{
    min-height: auto;
    padding: 6rem 0 6rem 8rem;
}
.toolingend--front .button{
    padding-left: 4rem;
    padding-right: 4rem;
}
.toolingend--front .toolingend__action{
    margin-left: auto;
    font-size: 20px;
    padding-right: 8rem;
    margin-right: 0;
}
.toolingend--front .button{
    font-size: 20px;
    height: 60px;
}
















@media (max-width:1199px){
    .frontcard__prises{
        align-items: flex-start;
        margin-bottom: -2rem;
    }
    .frontcard__price{
        flex-flow: column nowrap;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .frontcard__iconwrap{
        width: 6rem;
        height: 6rem;
        margin-bottom: 1rem;
    }
    .frontcard__iconwrap img{
        width: 60%;
        height: 60%;
    }
    .frontconfs__wrap{
        grid-gap: 15px;
    }
    .frontconfcard{
        padding-left: 15px;
        padding-right: 15px;
    }
    .frontresitem__icon{
        left: 2rem;
    }
    .frontresitem__text{
        font-size: 15px;
    }
    .toolingend--front .toolingend__main{
        padding-left: 3rem;
    }
    .toolingend--front .toolingend__action{
        padding-right: 3rem;
    }
} /* END MEDIA 1199px */










@media (max-width:992px){
    .forntcodes__menu{
        width: 25rem;
    }
    .frontconfs__wrap{
        grid-gap: 3rem;
        grid-template-columns: 1fr;
    }
    .frontnewcards__wrap{
        grid-gap: 3rem;
        grid-template-columns: 1fr;
    }
    .frontresourse{
        padding-bottom: 0;
    }
    .frontresourse__wrap{
        flex-flow: column nowrap;
    }
    .frontresourse__col{
        width: 100%;
    }
    .frontresourse__col:first-child{
        padding-bottom: 6rem;
    }
    .frontresourse__col .capstext{
        padding-bottom: 2rem;
    }
    .toolingend--front{
        padding-bottom: 5rem;
    }
    .toolingend--front .container{
        padding: 5rem;
        border-radius: 1rem;
    }
    .toolingend--front .toolingend__main{
        padding: 0;
    }
    .toolingend--front .toolingend__action{
        margin-left: 0;
    }
} /* END MEDIA 992px */









@media (max-width:767px){
    .fronttop__pic{
        left: 0;
        opacity: 0.3;
    }
    .fronthero{
        padding-top: 7rem;
        padding-bottom: 17rem;
    }
    .fronthero .innerhero__pre{
        line-height: 1.8;
        max-width: 80%;
    }
    .fronthero .h1{
        font-size: 4rem;
        line-height: 1.3;
    }
    .fronthero .h1 br{
        display: none;
    }
    .fronthero .innerhero__action {
        padding-top: 3rem;
    }
    .fronthero__button{
        font-size: 16px;
    }
    .fronttopcards{
        flex-flow: column nowrap;
        align-items: stretch;
    }
    .frontcard{
        width: 100%;
        padding: 3rem;
    }
    .frontcard:first-child{
        border-radius: 1rem 1rem 0 0;
        border-bottom: 1px solid var(--grey3);
    }
    .frontcard:last-child{
        border-radius: 0 0 1rem 1rem;
    }
    .frontcard__prises{
        margin-bottom: 0;
    }
    .frontcard__network img{
        width: 6rem;
        height: 6rem;
    }
    .frontcard__title.pt-3{
        padding-top: 2rem;
    }
    .forntcodes{
        padding-top: 0;
        padding-bottom: 7rem;
    }
    .forntcodes br,
    .frontconfs br,
    .frontresourse br{
        display: none;
    }
    .forntcodes__wrap {
        flex-flow: column nowrap;
    }
    .forntcodes__menu{
        width: 100%;
    }
    .forntcodes__menu li:not(:last-child){
        margin-bottom: 2rem;
    }
    .forntcodes__menu a.active::before{
        height: 3rem;
        width: 3px;
        margin-top: -1px;
    }
    .forntcodes__menu ul a.active{
        padding-left: 2rem;
        color:#000 !important;
    }
    .forntcodes__menumore{
        display: none;
    }
    .forntcodes__tabwraps{
        padding-top: 5rem;
        width: 100%;
        overflow: hidden;
    }
    .forntcodes__tabwraps .nativecode__link{
        padding-left: 3rem;
        padding-right: 3rem;
        width: auto;
    }
    .forntcodes__bottom{
        padding-top: 3rem;
    }
    .forntcodes__bottom .button{
        font-size: 14px;
    }
    .frontnewcards{
        padding-top: 7rem;
        padding-bottom: 0;
    }
    .frontnewcards__wrap{
        padding-top: 2rem;
    }
    .frontsimplecard{
        padding: 3rem;
    }
    .frontsimplecard .cardsimple__bottom{
        position: relative;
        left: auto;
        bottom: auto;
    }
    .frontstories{
        padding-bottom: 0;
    }
    .frontstories__checkers{
        padding-top:3rem;
        grid-template-columns: 1fr;
        grid-gap: 10px;
    }
    .frontstories__checkers li:nth-child(3){
        grid-column: auto;
    }
    .ctrl--prev{
        left: -7px;
    }
    .ctrl--next{
        right: -7px;
    }
    .jsFrontVideosSwiper{
        margin-left: 30px;
        margin-right: 30px;
    }
    .frontstories__bottom{
        padding-top: 3rem;
    }
    .frontconfs__wrap{
        padding-top: 3rem;
    }
    .frontconfcard{
        padding: 3rem 2rem;
    }
    .frontconfcard__bottom{
        position: relative;
        left: auto;
        bottom: auto;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        padding-top: 3rem;
    }
    .fronteventsbanner{
        padding-top: 0;
        padding-bottom: 60px;
    }
    .frontresourse__wrap{
        padding-top: 3rem;
    }
    .toolingend--front .container{
        border-radius: 0;
    }
    .toolingend--front .button{
        font-size: 17px;
        width: 100%;
    }
    .toolingend--front .toolingend__action{
        padding-right: 0;
        padding-top: 4rem;
    }
} /* END MEDIA 767px */