:root {
    --font-regular: 'HelveticaNeue-Roman';
    --font-bold: 'HelveticaNeue-Bold';
}

body.page-template-gutenberg div#page {
    overflow: hidden;
}

body.page-template-gutenberg .gutenberg-sec {
    float: left;
    width: 100%;
    padding: 30px 0 0px 50px;
}


body.page-template-gutenberg .wp-block-column {
    flex: 1 1 100%;
    padding: 0px 20px 0px 0px;
}

body.page-template-gutenberg .wp-block-list {
    padding-left: 20px;
    margin-bottom: 15px;
    margin-top: 15px;
}

body.page-template-gutenberg .wp-block-list li {
    list-style: disc;
    font-size: 17px;
    line-height: 27px;
    color: #666666;
    letter-spacing: -0.14px;
    font-family: var(--font-regular);
}

body.page-template-gutenberg .wp-block-list li::marker {
    color: #ce003a;
}

body.page-template-gutenberg p {
    font-size: 18px;
    line-height: 28px;
    color: #666666;
    letter-spacing: -0.14px;
    margin-bottom: 15px;
    font-family: var(--font-regular);
}

body.page-template-gutenberg p a,
body.page-template-gutenberg .wp-block-list li a {
    color: #ce003a;
}

body.page-template-gutenberg p a:hover,
body.page-template-gutenberg .wp-block-list li a:hover {
    text-decoration: underline;
}

body.page-template-gutenberg .wp-element-button:hover {
    background-color: #ce003a;
}

body.page-template-gutenberg .wp-block-heading {
    float: left;
    width: 100%;
    color: #3C3C3B;
    font-size: 32px;
    line-height: 24px;
    font-family: var(--font-bold);
    letter-spacing: -0.83px;
    padding-bottom: 20px;
    padding-top: 0px;
}

body.page-template-gutenberg .wp-block-columns {
    /* padding: 20px 0px 30px 0px; */
    width: 100%;
}


body.page-template-gutenberg .wp-block-gallery {
    padding: 30px 0px 40px 0px;
    width: 100%;
}

body.page-template-gutenberg .wp-block-media-text {
    padding: 20px 0px;
    width: 100%;
}

body.page-template-gutenberg .wp-block-separator {
    color: #ce003a;
}

body.page-template-gutenberg .wp-block-column {
    padding: 10px 0px 10px 0px;
    position: relative;
}

body.page-template-gutenberg .wp-block-columns .wp-block-column p {
    vertical-align: middle;
    padding-top: 10px;
    float: left;
    width: 100%;
}

body.page-template-gutenberg .wp-block-columns {
    justify-content: center;
}

body.page-template-gutenberg .wp-block-columns {
    max-width: 90%;
    margin: auto;
    padding: 0px;
}

body.page-template-gutenberg .wp-block-columns.row {
    max-width: 90%;
    margin: auto;
    padding: 0px;
}

body.page-template-gutenberg h2.wp-block-heading {
    font-size: 50px;
    line-height: 50px;
}

body.page-template-gutenberg h1.wp-block-heading {
    font-size: 60px;
    line-height: 60px;
}

body.page-template-gutenberg h3.wp-block-heading {
    font-size: 40px;
    line-height: 40px;
}

body.page-template-gutenberg h4.wp-block-heading {
    font-size: 34px;
    line-height: 39px;
}

body.page-template-gutenberg h5.wp-block-heading {
    font-size: 28px;
    line-height: 38px;
}

body.page-template-gutenberg h6.wp-block-heading {
    font-size: 22px;
    line-height: 32px;
}

body.page-template-gutenberg  .wp-block-media-text > .wp-block-media-text__content {
    padding-right: 0px;
    padding-left: 10%;
}

body.page-template-gutenberg .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
    padding-left: 0px;
    padding-right: 10%;
}

body.page-template-gutenberg .wp-block-media-text > .wp-block-media-text__media img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

body.page-template-gutenberg .wp-block-separator {
    width: 90%;
    margin: 50px auto;
    clear: both;
    display: block;
}



/* ANIMACIONS */
/* FADE IN */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.fade-in {
    opacity: 0;
}
.fade-in.visible {
    animation: fadeIn 2s ease forwards;
}
.fade-in:not(.visible) {
    animation: none;
}

/* FADE OUT */
@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}
.fade-out {
    opacity: 0;
}
.fade-out.visible {
    animation: fadeOut 2s ease forwards;
}
.fade-out:not(.visible) {
    animation: none;
}

/* SLIDE IN LEFT */
@keyframes slideInLeft {
    from { transform: translateX(-100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
.slide-in-left {
    opacity: 0;
    transform: translateX(-100%);
}
.slide-in-left.visible {
    animation: slideInLeft 2s ease forwards;
}
.slide-in-left:not(.visible) {
    animation: none;
}

/* SLIDE IN RIGHT */
@keyframes slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
.slide-in-right {
    opacity: 0;
    transform: translateX(100%);
}
.slide-in-right.visible {
    animation: slideInRight 2s ease forwards;
}
.slide-in-right:not(.visible) {
    animation: none;
}


/* SLIDE IN TOP */
@keyframes slideInTop {
    from { transform: translateY(-100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.slide-in-top {
    opacity: 0;
    transform: translateY(-100%);
}
.slide-in-top.visible {
    animation: slideInTop 2s ease forwards;
}
.slide-in-top:not(.visible) {
    animation: none;
}

/* SLIDE IN BOTTOM */
@keyframes slideInBottom {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.slide-in-bottom {
    opacity: 0;
    transform: translateY(100%);
}
.slide-in-bottom.visible {
    animation: slideInBottom 2s ease forwards;
}
.slide-in-bottom:not(.visible) {
    animation: none;
}

/* BOUNCE */
@keyframes bounce {
    0%   { transform: translateY(0); }
    30%  { transform: translateY(-20px); }
    50%  { transform: translateY(0); }
    70%  { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}
.bounce {
    opacity: 0;
}
.bounce.visible {
    opacity: 1;
    animation: bounce 2s ease;
}
.bounce:not(.visible) {
    animation: none;
}

/* ZOOM IN */
@keyframes zoomIn {
    from { transform: scale(0.5); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.zoom-in {
    opacity: 0;
    transform: scale(0.5);
}
.zoom-in.visible {
    animation: zoomIn 2s ease forwards;
}
.zoom-in:not(.visible) {
    animation: none;
}

/* ZOOM OUT */
@keyframes zoomOut {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(0.5); opacity: 1; }
}
.zoom-out {
    opacity: 1;
    transform: scale(1);
}
.zoom-out.visible {
    animation: zoomOut 2s ease forwards;
}
.zoom-out:not(.visible) {
    animation: none;
}


@media screen and (max-width: 767px) {

    /* JIRA IRTA-170 */
    .page-template-gutenberg .row1 {
        padding: 0 15px;
    }

    .page-template-gutenberg a.wp-element-button {
        font-size: 16px !important;
        line-height: 24px;
    }

    body.page-template-gutenberg p {
        font-size: 16px;
        line-height: 24px;
    }

    .wp-block-spacer {
        height: 20px !important;
    }

    /* END JIRA IRTA-170 */

    body.page-template-gutenberg h1.wp-block-heading {
        font-size: 36px;
        line-height: 36px;
    }

    body.page-template-gutenberg h2.wp-block-heading {
        font-size: 32px;
        line-height: 32px;
    }

    body.page-template-gutenberg h3.wp-block-heading {
        font-size: 28px;
        line-height: 28px;
    }

    body.page-template-gutenberg h4.wp-block-heading {
        font-size: 26px;
        line-height: 36px;
    }

    body.page-template-gutenberg h5.wp-block-heading {
        font-size: 24px;
        line-height: 34px;
    }

    body.page-template-gutenberg h6.wp-block-heading {
        font-size: 20px;
        line-height: 30px;
    }

    body.page-template-gutenberg .wp-block-columns .wp-block-column p {
        font-size: 16px;
        line-height: 24px;
    }
}