/************************************/
/*           GENERAL STYLES         */
/************************************/

section,
.section {
    width: 100%;
    position: relative;
}

.section--boxed {
    max-width: 1250px;
    margin: 0 auto;
    width: 100%;
}

.overflow--hidden {
    overflow: hidden;
}

.overflow--visible {
    overflow: visible;
}

.overflow--auto {
    overflow: auto;
}

.overflowY--scroll {
    overflow-y: scroll;
}

.text--center {
    text-align: center;
}

.text--left {
    text-align: left;
}

.text--right {
    text-align: right;
}

/* MARGINS */

.mlr--auto {
    margin-right: auto;
    margin-left: auto;
}

.mb--sm {
    margin-bottom: 1vw;
}

.mb--md {
    margin-bottom: calc(20px + 20 * (100vw - 320px) / 1280);
}

.mb--lg {
    margin-bottom: 3vw;
}

.mb--xlg {
    margin-bottom: calc(30px + 95 * (100vw - 320px) / 1280);
}

.mb--none { margin-bottom: 0; }

.mt--sm {
    margin-top: 1vw;
}

.mt--md {
    margin-top: calc(20px + 20 * (100vw - 320px) / 1280);
}

.mt--lg {
    margin-top: 3vw;
}

.mt--xlg {
    margin-top: calc(30px + 35 * (100vw - 320px) / 1280);
}

.ml--sm {
    margin-left: 1vw;
}

.ml--md {
    margin-left: calc(20px + 20 * (100vw - 320px) / 1280);
}

.ml--lg {
    margin-left: 3w;
}

.mr--sm {
    margin-right: 1vw;
}

.mr--md {
    margin-right: calc(20px + 20 * (100vw - 320px) / 1280);
}

.mr--lg {
    margin-right: 3vw;
}

/* PADDINGS */

.p--sm {
    padding: calc(20px + 20 * (100vw - 320px) / 1280);
}

.p--md {
    padding: calc(30px + 20 * (100vw - 320px) / 1280);
}

.p--lg {
    padding: calc(30px + 30 * (100vw - 320px) / 1280);
}

.p--xlg {
    padding: calc(30px + 95 * (100vw - 320px) / 1280);
}

.p--max {
    padding: 12vw calc(30px + 60 * (100vw - 320px) / 1280);
}


.pb--sm {
    padding-bottom: calc(20px + 20 * (100vw - 320px) / 1280);
}

.pb--md {
    padding-bottom: calc(30px + 35 * (100vw - 320px) / 1280);
}

.pb--lg {
    padding-bottom: calc(30px + 60 * (100vw - 320px) / 1280);
}

.pb--xlg {
    padding-bottom: calc(30px + 95 * (100vw - 320px) / 1280);
}

.pt--sm {
    padding-top: calc(20px + 20 * (100vw - 320px) / 1280);
}

.pt--md {
    padding-top: calc(30px + 35 * (100vw - 320px) / 1280);
}

.pt--lg {
    padding-top: calc(30px + 60 * (100vw - 320px) / 1280);
}

.pt--xlg {
    padding-top: calc(30px + 95 * (100vw - 320px) / 1280);
}

.pl--sm {
    padding-left: calc(20px + 20 * (100vw - 320px) / 1280);
}

.pl--md {
    padding-left: calc(30px + 35 * (100vw - 320px) / 1280);
}

.pl--lg {
    padding-left: calc(30px + 60 * (100vw - 320px) / 1280);
}

.pl--xlg {
    padding-left: calc(30px + 95 * (100vw - 320px) / 1280);
}

.pr--sm {
    padding-right: calc(20px + 20 * (100vw - 320px) / 1280);
}

.pr--md {
    padding-right: calc(30px + 35 * (100vw - 320px) / 1280);
}

.pr--lg {
    padding-right: calc(30px + 60 * (100vw - 320px) / 1280);
}

.pr--xlg {
    padding-right: calc(30px + 95 * (100vw - 320px) / 1280);
}

/************************************/
/*           COLUMNS DESIGN         */
/************************************/

.vermColumns,
.vermColumns--ul,
.vermColumns--ut,
.vermColumns--um,
.vermColumns--l,
.vermColumns--t {
    display: flex;
    justify-content: space-between;
}

.vermWrap {
    flex-wrap: wrap;
}

.align--start {
    align-items: flex-start;
}

.align--end {
    align-items: flex-end;
}

.align--center {
    align-items: center;
}

.justify--start {
    justify-content: flex-start;
}

.justify--end {
    justify-content: flex-end;
}

.justify--center {
    justify-content: center;
}

.vermColumn--33 {
    width: 33%;
}

.vermColumn--25 {
    width: 25%;
}

.vermColumn--10 {
    width: 10%;
}

.vermColumn--20 {
    width: 20%;
}

.vermColumn--30 {
    width: 30%;
}

.vermColumn--40 {
    width: 40%;
}

.vermColumn--50 {
    width: 50%;
}

.vermColumn--60 {
    width: 60%;
}

.vermColumn--70 {
    width: 70%;
}

.vermColumn--80 {
    width: 80%;
}

.vermColumn--90 {
    width: 90%;
}

.vermColumn--100 {
    width: 100%;
}

.row--reverse {
    flex-direction: row-reverse;
}

/************************************/
/*            MEDIA QUERIES         */
/************************************/
@media only screen and (max-width: 1250px) {

    .vermColumns--ul {
        display: block;
    }

    .vermColumns--ul > div {
        width: 100%;
    }

}

@media only screen and (max-width: 920px) {

    .vermColumns--ut {
        display: block;
    }

    .vermColumns--ut > div {
        width: 100%;
    }

}

@media only screen and (max-width: 767px) {
    .row--reverse_um {
        flex-direction: row-reverse;
    }
    
    .vermColumns--um {
        display: block;
    }

    .vermColumns--um > div {
        width: 100%;
    }

}

@media only screen and (min-width: 921px) and (max-width: 1250px) {
    
    .hide_l {
        display: none
    }

    .vermColumns--l {
        display: block;
    }

    .vermColumns--l > div {
        width: 100%;
    }

    .wrap__lapt {
        flex-wrap: wrap;
    }

    .vermColumn--33_l {
        width: 33%;
    }

    .vermColumn--25_l {
        width: 25%;
    }

    .vermColumn--10_l {
        width: 10%;
    }

    .vermColumn--20_l {
        width: 20%;
    }

    .vermColumn--30_l {
        width: 30%;
    }

    .vermColumn--40_l {
        width: 40%;
    }

    .vermColumn--50_l {
        width: 50%;
    }

    .vermColumn--60_l {
        width: 60%;
    }

    .vermColumn--70_l {
        width: 70%;
    }

    .vermColumn--80_l {
        width: 80%;
    }

    .vermColumn--90_l {
        width: 90%;
    }

    .vermColumn--100_l {
        width: 100%;
    }

    .text--center_l {
        text-align: center;
    }

    .text--left_l {
        text-align: left;
    }

    .text--right_l {
        text-align: right;
    }
}

@media only screen and (min-width: 768px) and (max-width: 920px) {
    
    .hide_t {
        display: none
    }

    .vermColumns--t {
        display: block;
    }

    .vermColumns--t > div {
        width: 100%;
    }

    .wrap__tablet {
        flex-wrap: wrap;
    }

    .vermColumn--33_t {
        width: 33%;
    }

    .vermColumn--25_t {
        width: 25%;
    }

    .vermColumn--10_t {
        width: 10%;
    }

    .vermColumn--20_t {
        width: 20%;
    }

    .vermColumn--30_t {
        width: 30%;
    }

    .vermColumn--40_t {
        width: 40%;
    }

    .vermColumn--50_t {
        width: 50%;
    }

    .vermColumn--60_t {
        width: 60%;
    }

    .vermColumn--70_t {
        width: 70%;
    }

    .vermColumn--80_t {
        width: 80%;
    }

    .vermColumn--90_t {
        width: 90%;
    }

    .vermColumn--100_t {
        width: 100%;
    }

    .text--center_t {
        text-align: center;
    }

    .text--left_t {
        text-align: left;
    }

    .text--right_t {
        text-align: right;
    }
}

@media only screen and (max-width: 767px) {
    
    .hide_m {
        display: none;
    }

    .wrap__mobile {
        flex-wrap: wrap;
    }

    .vermColumn--33_m {
        width: 33%;
    }

    .vermColumn--25_m {
        width: 25%;
    }

    .vermColumn--10_m {
        width: 10%;
    }

    .vermColumn--20_m {
        width: 20%;
    }

    .vermColumn--30_m {
        width: 30%;
    }

    .vermColumn--40_m {
        width: 40%;
    }

    .vermColumn--50_m {
        width: 50%;
    }

    .vermColumn--60_m {
        width: 60%;
    }

    .vermColumn--70_m {
        width: 70%;
    }

    .vermColumn--80_m {
        width: 80%;
    }

    .vermColumn--90_m {
        width: 90%;
    }

    .vermColumn--100_m {
        width: 100%;
    }

    .text--center_m {
        text-align: center;
    }

    .text--left_m {
        text-align: left;
    }

    .text--right_m {
        text-align: right;
    }
}

@media only screen and (min-width: 768px) {
    .p-sticky {
        position: sticky;
        top: 80hx;
        z-index: 2;
    }
    
    .textUm--center {
        text-align: center;
    }

    .textUm--left {
        text-align: left;
    }

    .textUm--right {
        text-align: right;
    }
}

@media only screen and (max-width: 767px) {
    .p--max {
        padding: 2calc(30px + 35 * (100vw - 320px) / 1280) calc(30px + 95 * (100vw - 320px) / 1280);
    }
    
    .mb--sm {
        margin-bottom: calc(20px + 20 * (100vw - 320px) / 1280);
    }

    .mb--md {
        margin-bottom: calc(30px + 35 * (100vw - 320px) / 1280);
    }

    .mb--lg {
        margin-bottom: calc(30px + 60 * (100vw - 320px) / 1280);
    }

    .mb--xlg {
        margin-bottom: calc(30px + 95 * (100vw - 320px) / 1280);
    }

    .mt--sm {
        margin-top: calc(20px + 20 * (100vw - 320px) / 1280);
    }

    .mt--md {
        margin-top: calc(30px + 35 * (100vw - 320px) / 1280);
    }

    .mt--lg {
        margin-top: calc(30px + 60 * (100vw - 320px) / 1280);
    }

    .mt--xlg {
        margin-top: calc(30px + 95 * (100vw - 320px) / 1280);
    }

    .ml--sm {
        margin-left: calc(20px + 20 * (100vw - 320px) / 1280);
    }

    .ml--md {
        margin-left: calc(30px + 35 * (100vw - 320px) / 1280);
    }

    .ml--lg {
        margin-left: calc(30px + 60 * (100vw - 320px) / 1280);
    }

    .mr--sm {
        margin-right: calc(30px + 95 * (100vw - 320px) / 1280);
    }

    .mr--md {
        margin-right: calc(20px + 20 * (100vw - 320px) / 1280);
    }

    .mr--lg {
        margin-right: 3vw;
    }

    .m-mb--sm {
        margin-bottom: 20px;
    }

    .m-mb--md {
        margin-bottom: 40px;
    }

    .m-mb--lg {
        margin-bottom: 60px;
    }

    .m-text--center {
        text-align: center;
    }

    .p--xlg {
        padding: calc(30px + 95 * (100vw - 320px) / 1280);
    }

    .pb--xlg {
        padding-bottom: calc(30px + 95 * (100vw - 320px) / 1280);
    }
    
    .pt--xlg {
        padding-top: calc(30px + 95 * (100vw - 320px) / 1280);
    }
}