.footer {
    overflow: hidden !important;
}

.footer_top .et_pb_column_4_4 .et_pb_button_module_wrapper {
    display: inline-block;
    float: none;
    margin: 0!important;
    vertical-align: middle
}

.footer_top .et_pb_column_4_4 .et_pb_button_module_wrapper:not(:last-child) {
    margin-right: 1.5vw!important
}

#page-container #main-content .footer_top .button_round:hover {
    border-color: transparent!important;
    color: #512da8!important
}

.footer_top .button_round:after,
.footer_top .button_round:before {
    content: '';
    display: block!important;
    border-style: solid;
    position: absolute;
    z-index: 5;
    border-radius: 5px;
    box-sizing: content-box;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s
}

.footer_top .button_round:after {
    width: calc(100% + 4px);
    height: 0;
    border-width: 0;
    bottom: -2px;
    left: -2px;
    margin-left: 0!important;
    display: block!important;
    box-shadow: inset -2px 0 0 #512da8, inset 2px 0 0 #512da8
}

.footer_top .button_round:before {
    width: 0;
    height: calc(100% + 4px);
    border-width: 0;
    top: -2px;
    right: -2px;
    -webkit-transition-delay: 50ms;
    transition-delay: 50ms;
    box-shadow: inset 0 -2px 0 #512da8, inset 0 2px 0 #512da8
}

.footer_top .button_round:hover:before {
    width: calc(100% + 4px)
}

.footer_top .button_round:hover:after {
    height: calc(100% + 4px)
}

.footer_top .button_round:hover:after,
.footer_top .button_round:hover:before {
    opacity: 1!important
}

.footer a {
    color: #fff!important;
    display: block;
    margin-bottom: 2px
}

.footer .vertical_link_contact a {
    transform: rotate(-90deg);
    transform-origin: left bottom 0;
    position: absolute;
    left: -25px;
    top: 6.7vw
}

.footer .vertical_link_follow p {
    transform: rotate(-90deg);
    transform-origin: right bottom 0;
    position: absolute;
    right: -29px;
    top: -160px
}

.footer .et_pb_social_media_follow li {
    float: right;
    margin-bottom: 8px;
    clear: both
}

.footer .footer_row .et_pb_promo_description p:last-child {
    letter-spacing: 1.4px
}

.footer .footer_row .et_pb_promo_description p a:not(:first-child) {
    margin-bottom: 85px
}

.footer .et_pb_row:not(.footer_top) a {
    transition: .3s
}

body.ie .footer .et_pb_row:not(.footer_top) a {
    transition: 0s
}

.footer .et_pb_row:not(.footer_top) a:hover {
    opacity: .5
}

.footer .et_pb_social_media_follow li:last-child a {
	margin-right: 5px !important;
}

@media only screen and (max-width:1390px) {
    .footer .vertical_link_follow p {
        transform-origin: right top 0;
        right: 0;
        top: -133px
    }
    .footer .vertical_link_contact a {
        left: 0;
        top: 11.7vw
    }
    #page-container .footer_top .et_pb_promo_description h2 {
        font-size: 24px!important;
        font-weight: 700!important
    }
    .footer ul.et_pb_social_media_follow {
        top: 120px!important
    }
}

@media only screen and (max-width:980px) {
    #page-container .footer .et_pb_row:nth-child(2) {
        max-width: 100%!important;
        width: 90%!important
    }
    .footer_top .et_pb_column_4_4 .et_pb_promo {
        display: block;
        margin: 0 0 20px!important;
        text-align: center
    }
    .footer .footer_row .et_pb_promo_description p {
        text-align: center
    }
    .footer .footer_row .et_pb_promo_description p:not(:last-child) {
        padding-bottom: 60px
    }
    .footer .footer_row .et_pb_promo_description p a:not(:first-child) {
        margin-bottom: 40px
    }
}

@media only screen and (max-width:767px) {
    #page-container .footer .et_pb_row:nth-child(2) {
        width: 80%!important
    }
    #page-container .footer_top .et_pb_promo_description h2 {
        font-size: 20px!important
    }
    .footer .vertical_link_follow p {
        top: -130px
    }
}

@media only screen and (max-width:480px) {
    #page-container .footer .et_pb_row:nth-child(2) {
        width: 78%!important
    }
    .footer .footer_row .et_pb_promo_description p:not(:last-child) {
        padding-bottom: 20px
    }
    .footer .vertical_link_follow p {
        top: -198px
    }
    .footer ul.et_pb_social_media_follow {
        top: 50px!important
    }
    .footer_top .et_pb_column_4_4 .et_pb_button_module_wrapper a {
        display: block!important;
        padding: 7px 2px!important
    }
    .footer_top .et_pb_column_4_4 .et_pb_button_module_wrapper {
        display: block;
        float: none;
        margin: 0 auto!important;
        max-width: 190px;
        vertical-align: middle
    }
    .footer_top .et_pb_column_4_4 .et_pb_button_module_wrapper:not(:last-child) {
        margin-right: auto!important;
        margin-bottom: 20px!important
    }
    #page-container .footer_top .et_pb_promo_description h2 {
        padding: 0 10vw
    }
}