﻿.link-fx-1, a {
    text-decoration: none
}

.custom-btn, .navbar-brand, .navbar-brand:hover, b, h1, h2, h3, h4, h5, h6, strong {
    font-weight: var(--font-weight-bold)
}

:root {
    --white-color: #ffffff;
    --primary-color: #53103c;
    --secondary-color: #8a2466;
    --section-bg-color: #fff3fb;
    --custom-btn-bg-color: #8a2466;
    --custom-btn-bg-hover-color: #53103c;
    --dark-color: #000000;
    --p-color: #8d7c87;
    --border-color: #7fffd4;
    --link-hover-color: #e2eaf0c2;
    --nav-color: #000000;
    --body-font-family: 'Outfit',sans-serif;
    --h1-font-size: 74px;
    --h2-font-size: 46px;
    --h3-font-size: 32px;
    --h4-font-size: 28px;
    --h5-font-size: 24px;
    --h6-font-size: 22px;
    --p-font-size: 18px;
    --btn-font-size: 14px;
    --copyright-font-size: 16px;
    --border-radius-large: 100px;
    --border-radius-medium: 20px;
    --border-radius-small: 10px;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-bold: 700
}

body {
    background-color: var(--white-color);
    font-family: var(--body-font-family)
}

h2, h3, h4, h5, h6 {
    color: var(--dark-color)
}

h1 {
    font-size: var(--h1-font-size)
}

h2 {
    font-size: var(--h2-font-size)
}

h3 {
    font-size: var(--h3-font-size)
}

h4 {
    font-size: var(--h4-font-size)
}

h5 {
    font-size: var(--h5-font-size)
}

h6 {
    font-size: var(--h6-font-size)
}

p, ul li {
    color: var(--p-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-light)
}

a, button {
    touch-action: manipulation;
    transition: .3s
}

a {
    display: inline-block;
    color: var(--primary-color)
}

    .link-fx-1:hover, .navbar-nav .nav-link.active, .navbar-nav .nav-link:hover, a:hover {
        color: var(--link-hover-color)
    }

.link-fx-1 {
    color: var(--white-color);
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 6px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

    .link-fx-1:hover::before {
        transform: translateX(17px) scaleX(0);
        transition: transform .2s
    }

    .link-fx-1:hover .icon circle {
        stroke-dashoffset: 200;
        transition: stroke-dashoffset .2s .1s
    }

    .link-fx-1:hover .icon line {
        transform: rotate(-180deg)
    }

        .link-fx-1:hover .icon line:last-child {
            transform: rotate(180deg)
        }

    .link-fx-1::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: currentColor;
        transform-origin: right center;
        transition: transform .2s .1s
    }

    .link-fx-1 .icon {
        position: absolute;
        right: 0;
        bottom: 0;
        transform: translateX(100%) rotate(90deg);
        font-size: 32px
    }

.icon {
    --size: 1em;
    height: var(--size);
    width: var(--size);
    display: inline-block;
    color: inherit;
    fill: currentColor;
    line-height: 1;
    flex-shrink: 0;
    max-width: initial
}

.custom-video, .section-overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.link-fx-1 .icon circle {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    transition: stroke-dashoffset .2s
}

.link-fx-1 .icon line {
    transition: transform .4s;
    transform-origin: 13px 15px
}

    .link-fx-1 .icon line:last-child {
        transform-origin: 19px 15px
    }

.section-padding {
    padding-top: 100px;
    padding-bottom: 100px
}

.section-bg {
    background-color: var(--section-bg-color)
}

.section-overlay {
    background-color: var(--dark-color);
    position: absolute;
    pointer-events: none;
    opacity: .35
}

    .about-text-wrap, .section-overlay + .container {
        position: relative
    }

.tab-content {
    background-color: var(--white-color);
    border-radius: var(--border-radius-medium);
    padding: 45px
}

.nav-tabs, .nav-tabs .nav-link {
    border-radius: var(--border-radius-large)
}

.nav-tabs {
    background-color: var(--section-bg-color);
    border-bottom: 0;
    padding: 15px
}

    .nav-tabs .nav-link {
        border: 0;
        padding: 15px 25px;
        transition: .3s
    }

        .nav-tabs .nav-link:first-child {
            margin-right: 15px
        }

        .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active, .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
            background: var(--white-color);
            box-shadow: 0 1rem 3rem rgb(0 0 0 / .175);
            color: var(--primary-color)
        }

    .nav-tabs h5 {
        color: var(--p-color);
        margin-bottom: 0
    }

    .nav-tabs .nav-link.active h5, .nav-tabs .nav-link:focus h5, .nav-tabs .nav-link:hover h5 {
        color: var(--primary-color)
    }

.custom-icon {
    color: var(--secondary-color)
}

.custom-btn {
    background: var(--custom-btn-bg-color);
    border: 2px solid #fff0;
    border-radius: var(--border-radius-large);
    color: var(--white-color);
    font-size: var(--btn-font-size);
    line-height: normal;
    transition: .3s;
    padding: 10px 20px
}

    .custom-btn:hover {
        background: var(--custom-btn-bg-hover-color);
        color: var(--white-color)
    }

.custom-border-btn {
    background: 0 0;
    border: 2px solid var(--custom-btn-bg-color);
    color: var(--custom-btn-bg-color)
}

.site-header, .sticky-wrapper.is-sticky .navbar {
    background-color: var(--nav-color)
}

.custom-border-btn:hover, .navbar-expand-lg .navbar-nav .nav-link.custom-btn:hover {
    background: var(--custom-btn-bg-hover-color);
    border-color: #fff0;
    color: var(--white-color)
}

.custom-btn-bg-white {
    border-color: var(--white-color);
    color: var(--white-color)
}

.video-wrap {
    z-index: -100
}

.custom-video {
    position: absolute;
    object-fit: cover
}

.site-header {
    padding-top: 12px;
    padding-bottom: 12px
}

.sticky-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin-top: 51px
}

.navbar, .navbar-toggler[aria-expanded=true] .navbar-toggler-icon {
    background: 0 0
}

.navbar {
    z-index: 9
}

.navbar-brand, .navbar-brand:hover {
    color: var(--white-color);
    font-size: var(--h5-font-size)
}

.navbar-expand-lg .navbar-nav .nav-link {
    border-radius: var(--border-radius-large);
    margin: 10px;
    padding: 10px 20px
}

.navbar-nav .nav-link {
    display: inline-block;
    color: var(--white-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-normal);
    position: relative;
    padding-top: 15px;
    padding-bottom: 15px
}

.navbar-toggler {
    border: 0;
    padding: 0;
    cursor: pointer;
    margin: 0;
    width: 30px;
    height: 35px;
    outline: 0
}

.about-image, .about-text-info, .google-map {
    border-radius: var(--border-radius-medium)
}

.navbar-toggler:focus {
    outline: 0;
    box-shadow: none
}

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after, .navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before {
    transition: top .3s 50ms,transform .3s 350ms,-webkit-transform .3s 350ms;
    top: 0
}

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before {
    transform: rotate(45deg)
}

.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after {
    transform: rotate(-45deg)
}

.navbar-toggler .navbar-toggler-icon {
    background: var(--white-color);
    transition: background 10ms .3s;
    display: block;
    width: 30px;
    height: 2px;
    position: relative
}

    .navbar-toggler .navbar-toggler-icon:after, .navbar-toggler .navbar-toggler-icon:before {
        transition: top .3s 350ms,transform .3s 50ms,-webkit-transform .3s 50ms;
        position: absolute;
        right: 0;
        left: 0;
        background: var(--white-color);
        width: 30px;
        height: 2px;
        content: ''
    }

    .navbar-toggler .navbar-toggler-icon::before {
        top: -8px
    }

    .navbar-toggler .navbar-toggler-icon::after {
        top: 8px
    }

.hero-section {
    position: relative;
    overflow: hidden;
    padding-top: 100px;
    height: calc(100vh - 51px)
}

    .hero-section small {
        color: var(--white-color);
        text-transform: uppercase
    }

    .hero-section .section-overlay {
        z-index: 2;
        opacity: .45
    }

    .hero-section .container {
        position: relative;
        z-index: 2;
        height: 100%;
        padding-bottom: 50px
    }

        .hero-section .container .row {
            height: 100%
        }

.about-info, .dynamic-direction:nth-child(2n) {
    background-color: #8a2466
}

.about-section {
    background-repeat: no-repeat;
    background-size: cover;
    position: relative
}

.dynamic-direction:nth-child(odd) .row {
    flex-direction: row
}

.dynamic-direction:nth-child(2n) .row {
    flex-direction: row-reverse
}

.dynamic-direction .row > div:first-child, .dynamic-direction:nth-child(odd) .row > div:last-child {
    padding: 1em 2em .1em
}

.dynamic-direction .row > div:last-child, .dynamic-direction:nth-child(odd) .row > div:first-child {
    padding: 2em 2em .1em
}

.dynamic-direction:nth-child(odd) {
    background-color: #2f2446
}

.about-text-icon, .social-icon-link:hover {
    background: var(--primary-color)
}

.about-image {
    display: block;
    transition: transform .3s
}

    .about-image:hover {
        transform: scale(1.1)
    }

Aumenta el tamaño de la imagen .about-text-icon {
    border-radius: 100%;
    font-size: var(--h3-font-size);
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center
}

.copyright-text, .social-icon-link {
    font-size: var(--copyright-font-size)
}

.about-text-info {
    backdrop-filter: blur(5px) saturate(180%);
    -webkit-backdrop-filter: blur(5px) saturate(180%);
    background-color: rgb(255 255 255 / .75);
    border: 1px solid rgb(209 213 219 / .3);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 20px;
    padding: 35px
}

.custom-form .form-control {
    color: var(--p-color);
    margin-bottom: 24px;
    padding-top: 13px;
    padding-bottom: 13px;
    outline: 0
}

.copyright-text, .site-footer-link, .site-footer-title, .social-icon-link, .social-icon-link:hover {
    color: var(--white-color)
}

.custom-form button[type=submit], .custom-form input[type=reset], .custom-form input[type=submit] {
    background: var(--custom-btn-bg-color);
    border: none;
    border-radius: var(--border-radius-large);
    color: var(--white-color);
    font-size: var(--p-font-size);
    font-weight: var(--font-weight-medium);
    transition: .3s;
    margin-bottom: 10px
}

    .custom-form input[type=reset]:focus, .custom-form input[type=reset]:hover, .custom-form input[type=submit]:focus, .custom-form input[type=submit]:hover {
        background: var(--custom-btn-bg-hover-color);
        border-color: #fff0
    }

.site-footer {
    background-color: var(--nav-color);
    position: relative;
    overflow: hidden;
    padding-bottom: 30px
}

.site-footer-top {
    background-color: var(--secondary-color);
    background-repeat: no-repeat;
    margin-bottom: 70px;
    padding-top: 30px;
    padding-bottom: 30px
}

.site-footer-bottom {
    border-top: 1px solid #656565;
    margin-top: 60px
}

.site-footer-links {
    padding-left: 0
}

.site-footer-link-item {
    list-style: none;
    display: inline-block;
    margin-right: 15px
}

.social-icon {
    margin: 0;
    padding: 0
}

.social-icon-item {
    list-style: none;
    display: inline-block;
    vertical-align: top
}

.social-icon-link {
    background: var(--secondary-color);
    border-radius: var(--border-radius-large);
    display: block;
    margin-right: 10px;
    text-align: center;
    width: 35px;
    height: 35px;
    line-height: 36px;
    transition: background .2s,color .2s
}

    .social-icon-link span {
        display: block
    }

        .social-icon-link span:hover::before {
            animation: 2s linear infinite spinAround
        }

@keyframes spinAround {
    from {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

@media screen and (max-width:991px) {
    h1 {
        font-size: 62px
    }

    h2 {
        font-size: 36px
    }

    h3 {
        font-size: 32px
    }

    h4 {
        font-size: 28px
    }

    h5 {
        font-size: 20px
    }

    h6 {
        font-size: 18px
    }

    .section-padding {
        padding-top: 50px;
        padding-bottom: 50px
    }

    .navbar {
        background-color: var(--nav-color)
    }

    .navbar-expand-lg .navbar-nav {
        padding-bottom: 30px
    }

        .navbar-expand-lg .navbar-nav .nav-link {
            padding: 0
        }

    .hero-section {
        padding-top: 150px
    }

    .pricing-thumb {
        padding: 35px
    }

    .schedule-table h3 {
        font-size: 22px
    }

    .schedule-table th {
        padding: 20px
    }

    .schedule-table td, .schedule-table tr {
        padding: 25px
    }

    .ticket-section {
        padding-top: 130px
    }

    .ticket-form {
        padding: 30px
    }
}

@media screen and (max-width:767px) {
    .custom-btn {
        font-size: 14px;
        padding: 10px 20px
    }
}

@media screen and (max-width:480px) {
    h1 {
        font-size: 52px
    }

    h2 {
        font-size: 28px
    }

    h3 {
        font-size: 26px
    }

    h4 {
        font-size: 22px
    }

    h5 {
        font-size: 20px
    }
}
