/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
h1,
h2,
h3,
h4 {
    font-family: "Outfit", sans-serif !important;
}
/*margenes y paddings*/
.m-none {
    margin: none !important;
}
.mt-none {
    margin-top: 0px !important;
}

.p-none {
    padding: none !important;
}

.pt-none {
    padding-top: none !important;
}

.pt-xlg {
    padding-top: 15% !important;
}

.pt-lg {
    padding-top: 75px !important;
}

.pt-md {
    padding-top: 50px !important;
}

.pt-sm {
    padding-top: 25px !important;
}

.pb-lg {
    padding-bottom: 100px !important;
}

.pb-xlg {
    padding-bottom: 15% !important;
}

.pb-none {
    padding-bottom: none !important;
}

.p-sm {
    padding: 10px !important;
}

.p-md {
    padding: 25px !important;
}

.p-lg {
    padding: 50px !important;
}

.pr-md {
    padding-right: 50px !important;
}

.mt-xlg {
    margin-top: 100px !important;
}

.mt-lg {
    margin-top: 75px !important;
}

.mt-md {
    margin-top: 50px !important;
}

.mt-sm {
    margin-top: 25px !important;
}

.mb-xlg {
    margin-bottom: 100px !important;
}

.mb-lg {
    margin-bottom: 75px !important;
}

.mb-md {
    margin-bottom: 50px !important;
}

.mb-sm {
    margin-bottom: 25px !important;
}

.mb-xs {
    margin-bottom: 10px !important;
}
.mb-none {
    margin-bottom: 0px !important;
}

.mr-sm {
    margin-right: 20px !important;
}

.mr-md {
    margin-right: 50px !important;
}

.ml-sm {
    margin-left: 20px !important;
}

h2,
.h2 {
    font-size: 2.5em;
    font-weight: 400;
    line-height: normal;
}

.big {
    font-size: 4em !important;
    line-height: normal !important;
}

/*margenes y paddings*/

body {
    font-family: "Outfit", sans-serif !important;
}

::selection {
    background: rgb(23, 160, 209);
    color: var(--cnvs-body-bg);
    text-shadow: none;
}

.bg-azul {
    background-color: #5cc6da !important;
}

.bg-magenta {
    background-color: #b72244 !important;
}

.bg-azul-fuerte {
    background-color: #2f4f9d !important;
}

.bg-azul-medio {
    background-color: #179fd0 !important;
}

.bg-morado {
    background-color: #433186 !important;
}

.bg-rosa {
    background-color: #a52680 !important;
}

.bg-deg {
    background: rgb(23, 160, 209);
    background: linear-gradient(90deg, rgba(23, 160, 209, 1) 0%, rgba(47, 79, 155, 1) 14%, rgba(67, 49, 132, 1) 30%, rgba(117, 43, 120, 1) 54%, rgba(181, 36, 128, 1) 71%, rgba(183, 34, 68, 1) 100%);
}

.text-azul {
    color: #5cc6da !important;
}

.text-azul-medio {
    color: #179fd0 !important;
}

.text-azul-fuerte {
    color: #2f4f9d !important;
}

.text-sb {
    font-weight: 600 !important;
}

#header-wrap {
    background: rgb(23, 160, 209);
    background: linear-gradient(90deg, rgba(23, 160, 209, 1) 0%, rgba(47, 79, 155, 1) 14%, rgba(67, 49, 132, 1) 30%, rgba(117, 43, 120, 1) 54%, rgba(181, 36, 128, 1) 71%, rgba(183, 34, 68, 1) 100%);
}

.is-expanded-menu .full-header #logo {
    padding-right: 0px;
    border-right: 0px solid;
}

.menu-item > .menu-link {
    color: white;
    font-family: "Outfit", sans-serif !important;
    font-weight: 400;
    transition: all 0.2s ease-in-out;
}

.menu-item:hover > .menu-link {
    color: white;
    opacity: 70%;
    transition: all 0.2s ease-in-out;
}

.is-expanded-menu .full-header .primary-menu .menu-container {
    border-right: 0px solid;
}

.menu-item.current > .menu-link {
    color: #6fc9db;
    transition: all 0.3s ease-in-out;
}

.is-expanded-menu .sticky-header.full-header #header-wrap {
    border-bottom: 0px solid;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

.is-expanded-menu .sticky-header.full-header #header-wrap {
    border-bottom: 0px solid;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

.is-expanded-menu #header.full-header:not(.transparent-header) {
    border-bottom: 0px solid !important;
}

#header-wrap {
    border-bottom: 0px solid;
}

.owl-carousel .owl-nav [class*="owl-"]:hover {
    background: rgb(23, 160, 209) !important;
}

.slider-element .owl-dots .owl-dot.active,
.slider-element .owl-dots .owl-dot:hover {
    background-color: rgba(232, 34, 111, 1) !important;
}

.slider-element .owl-dots .owl-dot,
.slider-element .owl-dots .owl-dot {
    background-color: rgba(232, 34, 111, 0.4) !important;
}

.cnvs-hamburger .cnvs-hamburger-inner,
.cnvs-hamburger .cnvs-hamburger-inner::before,
.cnvs-hamburger .cnvs-hamburger-inner::after {
    background-color: #fff;
}

.primary-menu-trigger {
    margin-right: 20px;
}

.btn-sinfonia {
    background-color: #179fd0 !important;
}

.btn-sinfonia:hover {
    background-color: #2f4f9d !important;
}

h3 {
    font-weight: 400 !important;
}

.promo-border {
    border: 0px !important;
}

.promo.parallax {
    background-color: #2f4f9d !important;
}

.boxed-slider {
    padding: 50px 0px;
}

.fbox-content h3,
.fbox-content .h3 {
    font-size: 1.5em;
}

.content-wrap p {
    line-height: normal;
    font-weight: 300 !important;
    color: #ffffff !important;
    opacity: 100% !important;
    letter-spacing: 0px !important;
}

.block-contact-1 .form-control {
    padding: 12px 2px;
    background-color: transparent !important;
    border-top-width: 0;
    border-right-width: 0;
    border-left-width: 0;
    border-bottom-width: 2px;
    border-radius: 0;
    font-weight: 500;
    font-size: 18px;
}

.block-contact-1 .form-control::-moz-placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 15px;
}
.block-contact-1 .form-control:-ms-input-placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 15px;
}
.block-contact-1 .form-control::-webkit-input-placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 15px;
}

.block-contact-1 textarea.form-control {
    resize: none;
    overflow: hidden;
    word-wrap: break-word;
}

.block-contact-1 label:not(.custom-control-label) {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    color: #777;
    margin-bottom: 3px;
    font-size: 14px;
}

.block-contact-1 .custom-control-label::before,
.block-contact-1 .custom-control-label::after {
    top: 0.0875rem;
}

.block-contact-1 .form-control:active,
.block-contact-1 .form-control:focus {
    border-color: #3d1144;
}

.custom-control-input:checked ~ .custom-control-label::before {
    border-color: #3d1144;
    background-color: #3d1144;
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem #3d114415;
}

.block-contact-1 .social-icon {
    background-color: rgba(0, 0, 0, 0.2);
    font-size: 16px;
}

.block-contact-1 .form-control {
    border-bottom-width: 1px;
}
.fa-play:before{
    padding: 14px;
}
.copy-link {
    color: #ffffff;
    opacity: 0.5;
}

.copy-link:hover {
    color: #ffffff;
    opacity: 1;
}

.copyright-links a:hover {
    color: #fff;
    border-bottom: 1px solid var(--cnvs-contrast-600);
}

.copyright-links a {
    color: #fff;
    border-bottom: 1px solid var(--cnvs-contrast-600);
}

.dark #copyrights,
#copyrights.dark {
    background-color: rgb(0, 0, 0);
}

.social-icon {
    color: rgba(255, 255, 255, 0.7);
}

.mr-copy {
    margin-right: 15px;
}

#gotoTop:hover {
    background-color: #179fd0 !important;
}

#header {
    --cnvs-primary-menu-submenu-border: 1px solid rgba(255, 255, 255, 0.4);
}
#footer {
    text-align: center !important;
    border-top: 0px;
}

.form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: #000 !important;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0);
}

/*Mover Recaptcha a la izquierda*/
.grecaptcha-badge {
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    left: -2px !important;
    bottom: 20px !important;
}
.grecaptcha-badge:hover {
    width: 256px !important;
}

/*Botón flotante WhatsApp*/
.float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 100px;
    left: 30px;
    background-color: #25d366;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    box-shadow: 2px 2px 3px #999;
    z-index: 100;
}
.float:hover {
    color: #fff;
    background-color: #21c15d;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.25);
    transition: all 0.2s ease-in-out;
}

.my-float {
    margin-top: 16px;
}

@media (min-width: 992px) {
    .min-vh-lg-100 {
        min-height: 90vh !important;
    }

    .hidden-sm {
        display: inherit;
    }

    .hidden-lg {
        display: none;
    }

    .gp-3 {
        padding-left: 3% !important;
        padding-right: 3% !important;
    }
}

@media (max-width: 991px) {
    .hidden-sm {
        display: none !important;
    }

    .hidden-lg {
        display: inherit !important;
    }

    .pt-xlg {
        padding-top: 15% !important;
    }

    [class*="gutter-"] > .col,
    [class*="gutter-"] > [class*="col-"] {
        padding-right: calc(var(--cnvs-custom-gutter) * 0.9);
        padding-left: calc(var(--cnvs-custom-gutter) * 0.9);
        margin-top: var(--cnvs-custom-gutter);
    }

    .p-resp {
        padding: 0px 3%;
    }

    .col-padding {
        padding: 3rem;
    }
}

@media (max-width: 767px) {
    .col-padding {
        padding: 2rem;
    }

    #header-wrap #logo img {
        height: 80px !important;
    }

    .text-center-sm {
        text-align: center !important;
    }

    #footer {
        text-align: left !important;
        border-top: 0px;
    }

    .big {
        font-size: 3em !important;
        line-height: normal !important;
    }

    h2,
    .h2 {
        font-size: 2em;
    }

    .resp-social-icons {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        width: 100%;
    }

    .mr-copy {
        margin-right: 7px;
        margin-left: 7px;
    }

    .promo.parallax {
        background-color: #2f4f9d !important;
        max-height: 390px !important;
        background-image: url("../images/sinfonia-back-este-2023.jpg");
        background-size: cover;
        background-position: top;
    }
}

.invalid-feedback {
    display: block;
    text-align: right;
}
