/* PLANTILLA UNIVERSAL FRAGMENTADA */
.wrapper-sm {
    /* Para facilitar la estructura html, sumamos el padding de las columnas de bootstrap al padding por defecto del wrapper */
    padding-left: calc(.6875rem + 15px);
    padding-right: calc(.6875rem + 15px);
}

@media (min-width: 992px) {

    .wrapper-lg {
        padding-right: 7%;
        padding-left: 7%;
    }

    .wrapper-lg-left {
        padding-right: 0;
        padding-left: 7%;
    }

    .wrapper-lg-right {
        padding-left: 0;
        padding-right: 7%;
    }
}

.h-100vh {
    height: 100vh;
}

.ff-suisse {
    font-family: SuisseIntl;
}

.ff-life {
    font-family: 'Life BT';
}

.color-dark {
    color: #1d1d1f;
}

.lh-12 {
    line-height: 1.2;
}

.lh-13 {
    line-height: 1.3;
}

.lh-15 {
    line-height: 1.5;
}

.bg-transparent {
    background-color: transparent;
}

.bg-beige {
    background-color: #f7f5f3;
}

.bg-beige-dark {
    background-color: #efebe7;
}

.bg-dark {
    background-color: #212529;
}

/* Custom Paddings */
.pt-01 {
    padding-top: 1rem;
}

.pt-02 {
    padding-top: 2rem;
}

.pt-03 {
    padding-top: 3rem;
}

.pt-04 {
    padding-top: 4rem;
}

.pt-05 {
    padding-top: 5rem;
}

.pt-06 {
    padding-top: 6rem;
}

.pt-08 {
    padding-top: 8rem;
}

.pt-010 {
    padding-top: 10rem;
}

.pt-012 {
    padding-top: 12rem;
}

.pb-01 {
    padding-bottom: 1rem;
}

.pb-02 {
    padding-bottom: 2rem;
}

.pb-03 {
    padding-bottom: 3rem;
}

.pb-04 {
    padding-bottom: 4rem;
}

.pb-05 {
    padding-bottom: 5rem;
}

.pb-06 {
    padding-bottom: 6rem;
}

.pb-08 {
    padding-bottom: 8rem;
}

.pb-010 {
    padding-bottom: 10rem;
}

.pb-012 {
    padding-bottom: 12rem;
}

/* Custom Margins */
.mt-01 {
    margin-top: 1rem;
}

.mt-02 {
    margin-top: 2rem;
}

.mt-03 {
    margin-top: 3rem;
}

.mt-04 {
    margin-top: 4rem;
}

.mt-05 {
    margin-top: 5rem;
}

.mt-06 {
    margin-top: 6rem;
}

.mt-08 {
    margin-top: 8rem;
}

.mt-010 {
    margin-top: 10rem;
}

.mt-012 {
    margin-top: 12rem;
}

.mb-01 {
    margin-bottom: 1rem;
}

.mb-02 {
    margin-bottom: 2rem;
}

.mb-03 {
    margin-bottom: 3rem;
}

.mb-04 {
    margin-bottom: 4rem;
}

.mb-05 {
    margin-bottom: 5rem;
}

.mb-06 {
    margin-bottom: 6rem;
}

.mb-08 {
    margin-bottom: 8rem;
}

.mb-010 {
    margin-bottom: 10rem;
}

.mb-012 {
    margin-bottom: 12rem;
}

@media (min-width: 1280px) {
    .mt-lg-02 {
        margin-top: 2rem;
    }

    .mb-lg-02 {
        margin-bottom: 2rem;
    }

    .pt-lg-010 {
        padding-top: 10rem;
    }
    
    .pb-lg-010 {
        padding-bottom: 10rem;
    }

    .pt-lg-012 {
        padding-top: 12rem;
    }
    
    .pb-lg-012 {
        padding-bottom: 12rem;
    }
}

/* Button styles */
.sc-btn-primary {
    background: #1d1d1f;
    color: white;
}

.sc-btn-secundary {
    background: #6c757d;
    color: white;
}

.sc-btn-small {
    padding: .5rem 1rem;
}

.sc-btn-medium {
    padding: 1rem 2.5rem;
}

.sc-btn-big {
    padding: 1.25rem 3.75rem;
}

/* Aspect ratios */
.ratio-sm-1x1 {
    aspect-ratio: 1 / 1;
}

.ratio-sm-3x4 {
    aspect-ratio: 3 / 4;
}

.ratio-sm-4x3 {
    aspect-ratio: 4 / 3;
}

.ratio-sm-16x9 {
    aspect-ratio: 16 / 9;
}

.ratio-sm-3x2 {
    aspect-ratio: 3 / 2;
}

.ratio-sm-2x1 {
    aspect-ratio: 2 / 1;
}

.ratio-sm-21x9 {
    aspect-ratio: 21 / 9;
}

/* Text Block [Default Sizes] */
.text-block label {
    font-size: .75rem;
}

.text-block h3, .text-block h4 {
    font-size: 1.25rem;
}

.text-block p {
    font-size: .875rem;
}

.text-block a {
    font-size: .875rem;
}

.text-block a.sc-btn {
    font-size: 1rem;
    display: block;
}

@media (min-width: 768px) {
    /* Font sizes */
    .text-sm {
        font-size: .75rem;
    }

    .text-md {
        font-size: .875rem;
    }

    .text-lg {
        font-size: 1rem;
    }

    .text-xl {
        font-size: 1.25rem;
    }

    .text-2xl {
        font-size: 1.75rem;
    }

    .text-3xl {
        font-size: 2rem;
    }

    .text-4xl {
        font-size: 3rem;
    }

    /* Aspect ratios */
    .ratio-md-1x1 {
        aspect-ratio: 1 / 1;
    }
    
    .ratio-md-3x4 {
        aspect-ratio: 3 / 4;
    }
    
    .ratio-md-4x3 {
        aspect-ratio: 4 / 3;
    }
    
    .ratio-md-16x9 {
        aspect-ratio: 16 / 9;
    }
    
    .ratio-md-3x2 {
        aspect-ratio: 3 / 2;
    }
    
    .ratio-md-2x1 {
        aspect-ratio: 2 / 1;
    }
    
    .ratio-md-21x9 {
        aspect-ratio: 21 / 9;
    }

    /* Text Block [Default Sizes] */
    .text-block h3, .text-block h4 {
        font-size: 1.75rem;
    }

    .text-block p {
        font-size: 1.25rem;
    }

    .text-block a.btn {
        font-size: .875rem;
    }

    /* Text Block [Custom ACF Sizes] */
    /* Text Small */
    .text-block.text-small h3, .text-block.text-small h4 {
        font-size: 1.25rem;
    }

    .text-block.text-small p {
        font-size: .875rem;
    }

    .text-block.text-small h3,
    .text-block.text-small h4,
    .text-block.text-small p {
        margin-bottom: 1rem!important;
    }

    /* Text Big */
    .text-block.text-big h3, .text-block.text-big h4 {
        font-size: 2rem;
    }

    .text-block.text-big a {
        font-size: 1.25rem;
    }
}

@media (min-width: 1280px) {
    /* Font sizes */
    .text-sm {
        font-size: .75rem;
    }

    .text-md {
        font-size: .875rem;
    }

    .text-lg {
        font-size: 1rem;
    }

    .text-xl {
        font-size: 1.25rem;
    }

    .text-2xl {
        font-size: 1.75rem;
    }

    .text-3xl {
        font-size: 2rem;
    }

    .text-4xl {
        font-size: 3rem;
    }

    /* Aspect ratios */
    .ratio-lg-1x1 {
        aspect-ratio: 1 / 1;
    }
    
    .ratio-lg-3x4 {
        aspect-ratio: 3 / 4;
    }
    
    .ratio-lg-4x3 {
        aspect-ratio: 4 / 3;
    }
    
    .ratio-lg-16x9 {
        aspect-ratio: 16 / 9;
    }
    
    .ratio-lg-3x2 {
        aspect-ratio: 3 / 2;
    }
    
    .ratio-lg-2x1 {
        aspect-ratio: 2 / 1;
    }
    
    .ratio-lg-21x9 {
        aspect-ratio: 21 / 9;
    }

    /* Text Block [Sizes] */
    .text-block h3, .text-block h4 {
        font-size: 2rem;
    }

    /* Text Block [Custom ACF Sizes] */
    /* Text Big */
    .text-block.text-big h3, .text-block.text-big h4 {
        font-size: 2.5rem;
    }
}

@media (min-width: 1920px) {
    /* Font sizes */
    .text-sm {
        font-size: .75rem;
    }

    .text-md {
        font-size: .875rem;
    }

    .text-lg {
        font-size: 1rem;
    }

    .text-xl {
        font-size: 1.25rem;
    }

    .text-2xl {
        font-size: 1.75rem;
    }

    .text-3xl {
        font-size: 2rem;
    }

    .text-4xl {
        font-size: 3rem;
    }

    /* Aspect ratios */
    .ratio-xl-1x1 {
        aspect-ratio: 1 / 1;
    }
    
    .ratio-xl-3x4 {
        aspect-ratio: 3 / 4;
    }
    
    .ratio-xl-4x3 {
        aspect-ratio: 4 / 3;
    }
    
    .ratio-xl-16x9 {
        aspect-ratio: 16 / 9;
    }
    
    .ratio-xl-3x2 {
        aspect-ratio: 3 / 2;
    }
    
    .ratio-xl-2x1 {
        aspect-ratio: 2 / 1;
    }
    
    .ratio-xl-21x9 {
        aspect-ratio: 21 / 9;
    }

    /* Text Block [Sizes] */
    .text-block h3, .text-block h4 {
        font-size: 3rem;
    }

    .text-block a {
        font-size: .875rem;
    }

    .text-block a:not(.sc-btn) {
        font-size: 1.25rem;
    }

    /* Text Block [Custom ACF Sizes] */
    /* Text Big */
    .text-block.text-big h3, .text-block.text-big h4 {
        font-size: 3rem;
    }
}