@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Assistant:wght@200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Satisfy&display=swap');


:root {
    --font-family-primary: 'Assistant', sans-serif;
    --font-family-secondary: 'Satisfy', sans-serif;
    --hover-color: #333;
  }

body {
    color: #000;
    font-size: 16px;
    margin: 0;
}
.vc_row {
    margin: 0 !important;
}

.container-global {
    padding: 6rem 0;
    max-width: 1300px;
    margin: auto;
}

a {
    text-decoration: none;
}

a, 
h1, h2, h3, h4, h5, h6,
p, li {
    font-family: var(--font-family-primary);
    font-weight: 300;
}

h2{
    font-size: 28px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;;
}

h3{
    font-weight: 400;
}

#id_cover {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    background: rgba(0,0,0,.3);
    z-index: 2;
    display: none;
}

.removed {
    padding: 0;
    padding-bottom: 5rem;
}

.content-card-simple {
    margin-bottom: 0 !important;
}

.page-id-7 .container-global > .vc_column-inner {
    padding-top: 0 !important;
}

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

span.wpcf7-spinner {
    display: none;
}

.banner-img {
    background-position: 100% 70%;
    background-size: 110%;
}

.container-global.custom {
    padding: 0;
}

div#card-details > .vc_column-inner > .wpb_wrapper {
    box-shadow: 0px 5px 30px 0px rgb(122 122 122 / 57%);
    padding: 10px 10px 10px 15px;
}

.container-global.custom {
    padding: 0 1rem;
}

div#middle {
    justify-content: center;
}

.card-rates > .vc_column-inner {
    box-shadow: 0px 5px 30px 0px rgb(214 215 216 / 57%);
}

/* -----------------  SECCION BANNER START  ----------------------- */

#book-now {
    display: none;
    position: fixed;
    transform: rotate(-90deg);
    right: -85px;
    width: 180px;
    height: auto;
    text-align: center;
    padding:2px;
  	padding-bottom:20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    z-index: 9999999;
    bottom: 70%;
    background: #079acd;
    color: #FFFFFF!important;
    box-shadow: 0 10px 20px rgb(12 178 234 / 10%), 0 6px 6px rgb(12 178 234 / 20%);
    transition: 0.3s all ease;
}

.home #book-now{
    bottom: 40%;
}

#book-now:hover {
  background:rgba(40,40,40,1);
  box-shadow: 0 10px 20px rgba(0,0,0,0.4), 0 6px 6px rgba(0,0,0,0.5);
}

#book-now a {
    color: #FFFFFF;
    text-transform: uppercase;
  	letter-spacing:1px;
}

/* -----------------  SECCION BANNER START  ----------------------- */
.content-img-section > .vc_column-inner {
    padding-left: 0 !important;
    padding-top: 0 !important;
}

.left-border > .vc_column-inner {
    padding-left: 0 !important;
    padding-top: 0 !important;
}

.rigth-border > .vc_column-inner {
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-left: 15px !important;
}

.removed-padding > .vc_column-inner {
    padding-top: 0 !important;
}

.content-img-section .wpb_single_image.wpb_content_element.vc_align_left,
.left-border .wpb_single_image.wpb_content_element.vc_align_left,
.rigth-border .wpb_single_image.wpb_content_element.vc_align_left {
    margin: 0;
}

.rondend-section {
    border-radius: 30px;
}

.content-img-section img {
    border-radius: 30px 0 0 30px;
}

.rigth-border img{
    border-radius: 30px 0 0 30px;
}

.left-border img {
    border-radius: 0 30px 30px 0;
}

.content-banner .vc_column-inner .wpb_wrapper {
    width: fit-content;
    margin: auto;
    padding: 1rem;
}
.content-banner {
    min-height: 70vh !important;
}
.text-banner {
    background: rgb(255 255 255 / 58%);
}
.content-banner .vc_column-inner > .wpb_wrapper {
    width: fit-content;
    margin: 0 auto;
    padding: 1rem;
}
div#text-secondary {
    margin: 0;
}
div#text-secondary h1 {
    font-weight: 700;
    font-size: 3rem;
    margin-bottom: 0;
    color: #fff;
    opacity: 0;
    animation: 2s text_fade linear forwards;
}
div#text-secondary p {
    margin: 0;
    color: #fff;
    font-size: 2.5rem;
    font-family: var(--font-family-primary);
    opacity: 0;
    animation: 1s text_fade linear forwards;
    animation-delay: 0.5s;
}
.button-banner a.vc_btn3 {
    opacity: 0;
    animation: 1s text_fade linear forwards;
    animation-delay: 1s;
}
.text-banner p:last-child {
    font-size: 2rem;
}
.button-custom {
    margin: 0 !important;
    padding-top: 1.5rem;
}
.button-banner a.vc_btn3, .button-banner button,
.btn-goes a.vc_btn3, .btn-goes button,
.button-serve a.vc_btn3, .button-serve button,
.button-custom a.vc_btn3, .button-custom button,
#btn-form, input.wpcf7-submit,
#post-id a.vc_btn3 {
    background: #079acd !important;
    border: none !important;
    font-family: var(--font-family-primary);
    font-size: 1rem !important;
    position: relative !important;
    border-radius: 22px;
    padding: 8px 32px !important;
    box-shadow: 0 4px 12px rgba(0, 9, 61, 0.16);
    box-shadow: 0 8px 15px rgb(0 0 0 / 10%);
    transition: all .3s ease 0s;
    text-transform: uppercase;
    font-weight: 600;
  /*   transition: box-shadow 0.3s, -webkit-transform 0.3s;
    transition: transform 0.3s, box-shadow 0.3s;
    transition: transform 0.3s, box-shadow 0.3s, -webkit-transform 0.3s; */
}

.button-banner a.vc_btn3:hover, .button-banner button:hover, 
.btn-goes a.vc_btn3:hover, .btn-goes button:hover, 
.button-serve a.vc_btn3:hover, .button-serve button:hover,
.button-custom a.vc_btn3:hover, .button-custom button:hover,
#btn-form:hover, #post-id a.vc_btn3:hover{
    /* transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0, 9, 61, 0.16); */
    background-color: rgb(12, 178, 234);
    box-shadow: 0 5px 20px rgb(12 178 234 / 40%);
    transform: translateY(-3px);
}

#post-id a.vc_btn3 {
    padding: 0.4rem 1.5rem !important;
    font-size: 0.9rem !important;
}

.button-custom a.vc_btn3, .button-custom button{
    color: #000 !important;
}

input.wpcf7-submit{
    color: #fff;
    font-weight: 600;
    padding: 0.78rem 4rem !important;

}

div#btn-form p, div#btn-form {
    margin: 0;
    padding: 0 !important;
    width: fit-content;
}

.button-custom a.vc_btn3::after, .button-custom button::after{
    background-color: #fff;
}

.button-banner a.vc_btn3::before, .button-banner button::before, 
.btn-goes a.vc_btn3::before, .btn-goes button::before, 
.button-serve a.vc_btn3::before, .button-serve button::before,
.button-custom a.vc_btn3::before, .button-custom button::before,
#btn-form::before, #post-id a.vc_btn3::before{
    transform: scaleX(0);
}

.button-banner a.vc_btn3:hover::before, .button-banner button:hover::before, 
.btn-goes a.vc_btn3:hover::before, .btn-goes button:hover::before, 
.button-serve a.vc_btn3:hover::before, .button-serve button:hover::before,
.button-custom a.vc_btn3:hover::before, .button-custom button:hover::before,
#btn-form:hover::before, #post-id a.vc_btn3:hover::before{
    transform: scaleX(1);
}

.button-custom a.vc_btn3:hover, .button-custom button:hover{
    color: #fff !important;
}

div#text-efect svg {
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
    max-width: 100%;
}

path {
    stroke-width: 2px;
}

.content-banner::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgb(0 0 0 / 15%);
}

.l-27{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3.6s;
    fill-opacity: 0;
}

.l-26{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3.5s;
    fill-opacity: 0;
}

.l-25{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3.4s;
    fill-opacity: 0;
}

.l-24{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3.3s;
    fill-opacity: 0;
}

.l-23{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3.2s;
    fill-opacity: 0;
}

.l-22{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3.1s;
    fill-opacity: 0;
}

.l-21{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 3s;
    fill-opacity: 0;
}

.l-20{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.9s;
    fill-opacity: 0;
}

.l-19{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.8s;
    fill-opacity: 0;
}

.l-18{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.7s;
    fill-opacity: 0;
}

.l-17{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.6s;
    fill-opacity: 0;
}

.l-16{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.5s;
    fill-opacity: 0;
}

.l-15{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.4s;
    fill-opacity: 0;
}

.l-14{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.3s;
    fill-opacity: 0;
}

.l-13{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.2s;
    fill-opacity: 0;
}

.l-12{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2.1s;
    fill-opacity: 0;
}

.l-11{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 2s;
    fill-opacity: 0;
}

.l-10{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.9s;
    fill-opacity: 0;
}

.l-9{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.8s;
    fill-opacity: 0;
}

.l-8{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.7s;
    fill-opacity: 0;
}

.l-7{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.6s;
    fill-opacity: 0;
}

.l-6{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.5s;
    fill-opacity: 0;
}

.l-5{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.4s;
    fill-opacity: 0;
}

.l-4{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.3s;
    fill-opacity: 0;
}

.l-3{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.2s;
    fill-opacity: 0;
}

.l-2{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    animation-delay: 0.1s;
    fill-opacity: 0;
}

.l-1{
    animation: 2s fillSvg linear forwards, 3s svg_fade linear forwards;
    fill-opacity: 0;
}

@keyframes fillSvg {
    0% {
        stroke-dashoffset: 600;
    }
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes svg_fade {
    to {
    	fill-opacity: 1;
    }
}

@keyframes text_fade {
    to {
    	opacity: 1;
    }
}

div#text-efect .seen {
    animation: draw 50s linear forwards, svg_fade 3.4s linear 2.4s forwards;
}

div#text-efect > .wpb_wrapper {
    width: 100%;
}

div#text-efect {
    margin: 0;
}

/* -----------------  SECTION BANNER END  ----------------------- */

/* -----------------  SECTION GOES START  ----------------------- */
.btn-goes {
    width: 100%;
}

.btn-goes button {
    width: 100%;
}

.text-goes h2 {
    margin-top: 0;
    line-height: 0.7;
    margin-bottom: 2rem;
    font-family: var(--font-family-primary);
    font-weight: 400;
}

.text-goes p {
    font-family: var(--font-family-primary);
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.7;
}

.full-heigth > .vc_column-inner, 
.full-heigth .wpb_wrapper, 
.full-heigth .wpb_single_image, 
.full-heigth .vc_single_image-wrapper, 
.full-heigth img {
    height: 100% !important;
}

/* -----------------  SECCION GOES END  ----------------------- */


/* -----------------  SECCION TEXT START  ----------------------- */
.text-custom{
    margin: 0 !important;
}

.text-custom p {
    color: #ffff;
    width: 48vw;
    margin: auto;
    font-size: 1.3rem;
    font-family: var(--font-family-primary);
    font-weight: 300;
}

.container-global.padding-custom {
    padding-top: 0;
    padding-bottom: 0;
}

/* -----------------  SECCION TEXT END  ----------------------- */

/* -----------------  SECCION SERVE START  ----------------------- */

.card {
    position: relative;
}

.container-card {
    display: grid;
    gap: 2rem 9rem;
    grid-auto-rows: auto;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
}

.content-card h3 {
    text-align: center;
    margin: 0;
    font-family: var(--font-family-primary);
    font-weight: 500;
    font-size: 1.2rem;
    color: #000;
}

.content-card {
    background: rgb(231 231 231 / 71%);
    padding: 0.5rem;
    position: absolute;
    width: 100%;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.button-serve button {
    padding: 0.5rem 8rem !important;
}

.custom-map,
.custom-map iframe {
    height: 15rem;
}

.custom-map iframe {
    width: 81% !important;
    margin: auto;
}

.custom-map > .wpb_wrapper {
    background: none !important;
}

.custom-map{
    margin-bottom: 1rem !important;
}

.description-serve h3, 
.description-serve h3 a {
    margin: 0;
    color: #000;
    font-weight: 400;
}

.description-serve h4,
.description-serve h4 a {
    margin: 0;
    margin-bottom: 2rem;
    color: #000;
    font-weight: 300;
}

.description-serve h4 a,
.description-serve h3 a{
background-image: linear-gradient(to bottom, #292929 0%, #292929 98%)!important;
background-size: 0 2px;
background-repeat: no-repeat;
background-position: left 100%;
transition: all 0.7s;
}

.description-serve h4 a{
    transition-delay: 0.5s;
}

.description-serve:hover h3 a,
.description-serve:hover h4 a {
    background-image: linear-gradient(to bottom, #292929 0%, #292929 98%) !important;
    background-size: 100% 2px;
    text-decoration: none!important;
}

/* -----------------  SECCION SERVE END  ----------------------- */

/* -----------------  SECCION SLIDER START  ----------------------- */
.testimonials {
    position: relative;
}

.testimonials::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 30%);
    display: block !important;
}

.swiper-slide{
    height: auto !important;
}
.sp-testimonial-free-section .sp-testimonial-client-rating,
.sp-testimonial-free-section .sp-testimonial-client-testimonial p{
    text-align: left;
}

.sp-testimonial-item {
    display: flex;
    flex-direction: column;
    background-color: #ffff;
    padding: 1rem;
    border-radius: 20px;
    box-shadow: rgb(50 50 93 / 25%) 0px 2px 5px -1px, rgb(0 0 0 / 30%) 0px 1px 3px -1px;
}

.card-body-slider {
    flex: 1 1 auto;
}

.card-body-slider {
    margin-bottom: 1rem;
}

.card-footer-slider {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: nowrap;
}

.sp-testimonial-free-section .sp-testimonial-client-image{
    margin: 0;
    width: 25%;
}

.sp-testimonial-free-section .sp-testimonial-client-image img {
    width: 3rem;
}

.sp-testimonial-free-section .sp-testimonial-client-name,
.sp-testimonial-free-section .sp-testimonial-client-designation {
    text-align: initial ;
    margin: 0 ;
    width: 99%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.sp-testimonial-free-section .testimonial-nav-arrow {
    height: 1.5rem;
    width: 1.5rem;
    padding-bottom: 0.1rem;
    border-radius: 100%;
    top: 75%;
}

.swiper-button-next.testimonial-nav-arrow {
    padding-left: 0.1rem;
}

.swiper-button-prev.testimonial-nav-arrow{
    padding-right: 0.1rem;
}

div#sp-testimonial-free-95 {
    margin: 0;
}

div.swiper-wrapper {
    padding: 0.1rem;
}

div#sp-testimonial-free-wrapper-95 {
    background: #D6D5D7;
    padding: 1rem;
}

.page-id-553 div#sp-testimonial-free-wrapper-95 {
    background: transparent;
}

.content-user {
    width: 65%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.sp-testimonial-content p {
    font-family: var(--font-family-primary);
    font-weight: 300 !important;
    font-size: 0.9rem !important;
    line-height: 1.3 !important;
}

h4.sp-testimonial-client-name {
    font-family: var(--font-family-primary);
    font-weight: 500 !important;
}

.sp-testimonial-client-designation {
    font-family: var(--font-family-primary);
    font-size: 0.9rem !important;
    line-height: 1 !important;
}
/* -----------------  SECCION SLIDER END  ----------------------- */

/* -----------------  SECCION CAPABILITIES START  ----------------------- */

.container-card-compabilities {
    display: grid;
    gap: 2rem 2rem;
    grid-auto-rows: auto;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
}

.border-bottom {
    border-bottom: 2px solid #000;
}

/* -----------------  SECCION CAPABILITIES END  ----------------------- */

/* -----------------  TEM SECCION CAPABILITIES START  ----------------------- */
.sbi_photo_wrap {
    margin: 10px;
}

div#instagram_feed .container-card-compabilities {
    gap: 1rem 1rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
}

div#instagram_feed .content-card{
    display: none;
}

img.attachment-large.size-large.wp-post-image {
    width: 100%;
    height: 100%;
}

.title-secction h2 {
    margin: 0;
    padding: 0.5rem 0;
    font-family: var(--font-family-primary);
    font-weight: 600;
}

.text_instagram h2 {
    color: #fff;
    font-family: var(--font-family-primary);
    font-weight: 400;
}

.title-column {
    font-family: var(--font-family-primary);
    font-weight: 600;
}

.card {
    height: 17rem;
    background-color: transparent;
    perspective: 1000px;
}

.flip-card {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    display: flex;
    justify-content: center;
    align-items: center;
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.flip-card-back {
    background-color: #222;
    color: white;
    transform: rotateY(180deg);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 2rem;
}

.flip-card-back > p {
    margin-bottom: 0;
}

.flip-card-back .content-card {
    position: initial;
}

.card:hover .flip-card {
    transform: rotateY(180deg);
}

.content-img {
    height: 100%;
}


/* -----------------  TEM SECCION CAPABILITIES END  ----------------------- */
/* a.sbi_header_link {
    display: flex !important;
    flex-direction: column-reverse;
    align-items: center;
} */

.sb_instagram_header.sbi_medium.sbi_no_avatar {
    display: flex;
    justify-content: center;
}

h1.vc_custom_heading {
    font-family: var(--font-family-primary);
    font-weight: 400;
}

.slick-prev:before, .slick-next:before {
    color: #000;
    opacity: 1 !important;
    font-size: 1.5rem;
}

.text-goes.none-margin p {
    margin-top: 0;
}

#post-id .vc_gitem-zone{
    z-index: 1;
}

h3.rpwe-title a,
.rpwe-summary a.more-link {
    color: #079acd;
}

h3.rpwe-title a:hover,
.rpwe-summary a.more-link:hover {
    color: #333;
}

/* #sb_instagram .sb_instagram_header.sbi_medium .sbi_header_text h3 {
    margin-left: 0 !important;
} */

.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-grey>li.vc_grid-active>a.page-link, 
.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-grey>li.vc_grid-active>span,
.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-grey>li>a.page-link:hover {
    background: #333 !important;
}

.vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-grey>li>a.page-link,
 .vc_grid-pagination .vc_grid-pagination-list.vc_grid-pagination-color-grey>li>span {
    background-color: #079acd !important;
    opacity: 1;
}

h2.widget-title {
    position: relative;
    width: fit-content;
}

h2.widget-title::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 0;
    height: 3px;
    width: 100%;
    background-color: #079acd;
}

.single-post #primary {
    padding-top: 5rem;
}

.content-single-post {
    display: grid;
    gap: 2rem 2rem;
    grid-auto-rows: auto;
    grid-template-columns: 73% auto;
}

h1.entry-title {
    line-height: 1;
    color: #079acd;
    font-weight: 500;
}

span.posted-on {
    color: #079acd;
}

span.posted-on a {
    pointer-events: none;
    color: #079acd;
}