@charset "UTF-8";
/*-------Titles sections-----*/
.box-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.box-section .first-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.box-section .first-section h2 {
  max-width: 167px;
}

.box-section .first-section h2.medium {
  max-width: 195px;
}

.box-section .first-section h2.big {
  max-width: 230px;
}

.box-section .first-section h2.most-big {
  max-width: 340px;
}

.box-section .first-section p {
  max-width: 50%;
}

.box-section .first-section p.medium {
  max-width: 60%;
}

.box-section .first-section .separator {
  width: 3px;
  height: 110px;
  background-color: var(--secondary);
  margin-right: 2rem;
  margin-left: 2rem;
  border-radius: 25px;
}

.box-section .first-section .separator.separator-primary {
  background-color: var(--terciary);
}

.box-section .first-section .opinions .valoration {
  font-family: var(--roomy-black);
  font-size: var(--l);
  margin-bottom: -5px;
}

.box-section .first-section .opinions .stars img {
  max-width: 70px;
}

.box-section .first-section .opinions .stars a {
  text-underline-offset: 3px;
}

.box-section .first-section .trustpilot-image {
  margin-left: 20px;
}

.box-section .first-section .trustpilot-image img {
  max-width: 100px;
  border-radius: 5px;
}

.box-section .roomy-box-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 540px;
}

.box-section .roomy-box-section img {
  width: 220px;
}

/*-------END Titles sections-----*/
/*--------Index roomy section-------------*/
.index-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.index-box .box-info {
  width: 50%;
}

.index-box .box-image {
  width: 40%;
  position: relative;
  z-index: 1;
}

.index-box .box-image .left-icon {
  position: absolute;
  left: -10px;
  top: 45%;
  max-width: 115px;
}

.index-box .box-image .right-icon {
  position: absolute;
  right: 70px;
  top: 23%;
  max-width: 115px;
}

.index-box .info-extra {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--roomy-light);
}

.index-box .info-extra .images {
  max-height: 60px;
  margin-right: 10px;
}

.index-box .info-extra .images img {
  max-height: 100%;
}

.index-box .info-extra .clients .number {
  font-family: var(--roomy-bold);
  font-size: var(--ml);
}

.index-box .info-extra .separator {
  width: 3px;
  height: 76px;
  background-color: var(--secondary);
  margin-right: 15px;
  margin-left: 15px;
  border-radius: 25px;
}

.index-box .info-extra .opinions .valoration {
  font-family: var(--roomy-black);
  font-size: var(--ml);
}

.index-box .info-extra .opinions .stars img {
  max-width: 70px;
}

.index-box .info-extra .opinions .stars a {
  text-underline-offset: 3px;
}

/*--------END Index roomy section-------------*/
/*--------Nuestros servicios----------------*/
.our-services .service-item-select {
  font-family: var(--roomy-bold);
  padding: 24px;
  background-color: white;
  color: var(--black);
  border-radius: 18px;
  margin-bottom: 0.8rem;
  font-size: var(--s);
  cursor: pointer;
  -webkit-transition: .5s;
  transition: .5s;
}

.our-services .service-item-select:hover {
  color: white;
  background-color: var(--primary);
}

.our-services .service-item-select.selected {
  color: white;
  background-color: var(--primary);
}

.our-services .col-md-9 {
  z-index: 1;
}

.our-services .service-info-box {
  padding: 30px 28px;
  background-color: white;
  border-radius: 15px;
}

.our-services .service-info-box .service-title {
  font-family: var(--roomy-bold);
  font-size: var(--ml);
}

.our-services .service-info-box hr {
  background-color: var(--black);
}

.our-services .service-info-box ul {
  margin-left: 0px;
  margin-top: 1.5rem;
  padding: 0px;
}

.our-services .service-info-box ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}

.our-services .service-info-box ul li:last-child {
  margin-bottom: 0px;
}

.our-services .service-info-box ul li img {
  max-width: 22px;
  margin-right: 10px;
}

/*--------END Nuestros servicios----------------*/
/*--------Case of success-----------------------*/
.images-success-case {
  padding: 0 5rem;
}

.images-success-case .box-images-success {
  width: 100%;
  height: 205px;
  margin-bottom: 1.5rem;
}

.images-success-case .box-images-success img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 205px;
  border-radius: 15px;
  cursor: pointer;
}

/*--------END Case of success-----------------------*/
/*--------Steps--------------------------*/
.steps-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  z-index: 1;
  position: relative;
}

.steps-box .step-item {
  max-width: 190px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.steps-box .step-item .number {
  color: white;
  background-color: var(--primary);
  padding: 6px 0px;
  border-radius: 100%;
  font-family: var(--roomy-bold);
  font-size: var(--xl);
  text-align: center;
  width: 60px;
  height: 60px;
}

.steps-box .step-item .text {
  font-family: var(--roomy-bold);
  font-size: var(--ml);
  color: var(--black);
  margin-top: 1rem;
}

.banner-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 40px;
  background-color: var(--primary);
  color: white;
  max-width: 80%;
  margin: 0 auto;
  border-radius: 24px;
}

.banner-contact .title {
  font-family: var(--roomy-black);
  font-size: var(--l);
  margin-bottom: 0.5rem;
}

.bg-video {
  width: 100%;
  padding: 140px 0px;
  position: relative;
  text-align: center;
  font-size: var(--xl);
  font-family: var(--roomy-black);
  color: white;
  z-index: 1;
  overflow: hidden;
}

.bg-video #bg-video-bed {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -100px;
  width: 100%;
  height: auto;
  margin: auto auto;
  z-index: 1;
}

.bg-video .opacity-bg-video {
  background-color: #000000;
  opacity: 0.4;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/*------------END steps---------------*/
/*------------Management---------------*/
.management-image-box {
  width: 100%;
  height: 100%;
}

.management-image-box img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 24px;
  height: 100%;
  width: auto;
}

.management-mb-25 {
  margin-bottom: 25px;
}

.management-mb-0 {
  margin-bottom: 0px;
}

.box-management-info {
  background-color: white;
  padding: 28px 34px 10px 34px;
  border-radius: 27px;
  height: 100%;
  margin-bottom: 20px;
}

.box-management-info .icon {
  padding: 0px 0px;
  background-color: var(--primary);
  width: 45px;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  margin-bottom: 15px;
}

.box-management-info .icon img {
  height: 20px;
  margin-top: 2px;
}

.box-management-info .title {
  font-family: var(--roomy-bold);
  color: var(--black);
  font-size: var(--m);
  margin-bottom: 15px;
}

.box-management-info .text {
  font-family: var(--roomy-light);
  font-size: var(--s);
  color: var(--black);
}

.box-management-info .text strong {
  font-family: var(--roomy-medium);
}

/*------------END management---------------*/
/*-----------Cifras-----------------------*/
.bg-cifras {
  background-color: #3D3D3E;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.bg-cifras h2, .bg-cifras p {
  color: white;
}

.bg-cifras .item-box-cifras {
  max-width: 100%;
  padding: 28px;
  background-color: white;
  color: var(--black);
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  position: relative;
}

.bg-cifras .item-box-cifras .title {
  font-size: var(--xl);
  font-family: var(--roomy-black);
  margin-bottom: 6px;
}

.bg-cifras .item-box-cifras .text {
  font-size: var(--s);
  font-family: var(--roomy-light);
}

.bg-cifras .item-box-cifras #rotate-logo {
  width: 85px;
  position: absolute;
  top: 15px;
  right: 10px;
}

.bg-cifras .item-box-cifras-img {
  width: 100%;
  height: 100%;
}

.bg-cifras .item-box-cifras-img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 16px;
  max-height: 145px;
  height: 100%;
  width: 100%;
  cursor: pointer;
}

.bg-cifras .img-cifras-bg {
  position: absolute;
  bottom: 0px;
  width: 100%;
  left: 0;
  right: 0;
  z-index: -1;
  opacity: 0.1;
}

/*-----------END Cifras-------------------*/
/*-----------Galería----------------------*/
.gallery-box {
  overflow: hidden;
  width: 100%;
  height: auto;
  z-index: 1;
  position: relative;
}

.gallery-box .gallery-one {
  margin-bottom: 15px;
}

.gallery-box .gallery-two {
  margin-left: -250px;
}

.gallery-box .swiper-slide {
  height: 190px;
  max-width: 100%;
}

.gallery-box .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  height: 100%;
  width: 100%;
  border-radius: 12px;
  cursor: pointer;
}

/*-----------END Galería----------------------*/
/*------------Opinions------------------------*/
.opinions-slider {
  position: relative;
}

.opinions-slider .box-opinions {
  background-color: white;
  padding: 35px;
  border-radius: 27px;
}

.opinions-slider .box-opinions .box-image-starts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.opinions-slider .box-opinions .box-image-starts .profile {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #ffe8e8;
  margin-right: 15px;
}

.opinions-slider .box-opinions .box-image-starts .stars {
  max-width: 100px;
}

.opinions-slider .box-swiper-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  height: 100px;
  width: 100%;
}

.opinions-slider .box-swiper-button .swiper-button-next {
  position: absolute;
  right: 0px;
}

.opinions-slider .box-swiper-button .swiper-button-next::after {
  content: 'next';
  color: white;
  font-size: 15px;
  font-weight: bold;
  border-radius: 100px;
  padding-top: 13px;
  padding-bottom: 13px;
  margin-right: 20px;
  padding-right: 15px;
  padding-left: 18px;
  background-color: var(--primary);
  border: 2px solid var(--primary);
}

.opinions-slider .box-swiper-button .swiper-button-next:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.opinions-slider .box-swiper-button .swiper-button-prev {
  position: absolute;
  left: unset;
  margin-right: 65px;
  outline: none;
}

.opinions-slider .box-swiper-button .swiper-button-prev::after {
  content: 'prev';
  color: var(--primary);
  font-size: 15px;
  font-weight: bold;
  border-radius: 100px;
  padding-top: 13px;
  padding-bottom: 13px;
  margin-right: 20px;
  padding-right: 18px;
  padding-left: 15px;
  background-color: transparent;
  border: 2px solid var(--primary);
}

.opinions-slider .box-swiper-button .swiper-button-prev:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*------------END Opinions------------------------*/
/*------------FORM---------------------------------*/
.contact-form #edit-name--2, .contact-form #edit-phone--2, .contact-form #edit-location--2 {
  width: 100%;
  border-radius: 8px;
}

.box-form {
  background-color: white;
  padding: 2.8rem 2rem;
  border-radius: 24px;
}

.box-form .col-md-1 {
  width: 4rem;
}

.box-form img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 24px;
}

.box-form .title {
  font-family: var(--roomy-bold);
  font-size: 30px;
  letter-spacing: 0px;
}

.box-form #contact-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.box-form #contact-form .form-item--name, .box-form #contact-form .form-item--phone, .box-form #contact-form .form-item--location {
  max-width: 48%;
  width: 100%;
  padding: 0px;
  margin: 6px 0px 10px 0px;
}

.box-form #contact-form .form-item--name label, .box-form #contact-form .form-item--phone label, .box-form #contact-form .form-item--location label {
  display: none;
}

.box-form #contact-form .form-item--name input, .box-form #contact-form .form-item--name select, .box-form #contact-form .form-item--phone input, .box-form #contact-form .form-item--phone select, .box-form #contact-form .form-item--location input, .box-form #contact-form .form-item--location select {
  height: 48px;
  min-height: auto;
  border-radius: 8px;
  background-color: #F8F8F8;
  border: 1px solid #BBBBBB;
  padding: 22px;
  width: 100%;
}

.box-form #contact-form .form-item--name select, .box-form #contact-form .form-item--phone select, .box-form #contact-form .form-item--location select {
  padding: 0px 22px !important;
}

.box-form #contact-form .form-item--legal {
  margin: 20px 26px 35px;
  width: 100%;
}

.box-form #contact-form #edit-actions {
  margin: 0;
}

.box-form #contact-form #edit-actions #edit-submit {
  margin: 0;
}

.modal-content .box-form {
  padding: 45px;
}

a.someCssClassOrSelector {
  padding-top: 100px;
}

/*------------END FORM---------------------------------*/
/*------------MODAL---------------------------------*/
.modal-roomy .modal-content {
  height: auto;
  position: relative;
  border-radius: 25px;
}

.modal-roomy .modal-content #modal-image {
  width: 100%;
  height: auto;
  border-radius: 24px;
}

.modal-roomy .close-modal {
  position: absolute;
  bottom: -76px;
  left: calc(50% - 33px);
  width: 50px;
  padding: 13px 10px 15px 10px;
  border-radius: 50%;
  background-color: var(--primary);
  border: 1px solid var(--primary);
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;
  cursor: pointer;
}

.modal-roomy .close-modal:hover {
  border: 1px solid var(--secondary);
  background-color: var(--secondary);
}

.modal-roomy .close-modal:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*------------END MODAL---------------------------------*/
#our-service-item-mobile {
  display: none;
}

/*----------------RESPONSIVE-----------------------------*/
@media (max-width: 1600px) {
  .index-box .box-image .right-icon {
    right: -14px;
  }
}

@media (max-width: 1200px) {
  .bg-video #bg-video-bed {
    bottom: -50px;
  }
}

@media (max-width: 992px) {
  .index-box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .index-box .box-info {
    width: 52%;
  }
  .index-box .box-image {
    width: 45%;
  }
  .box-section .first-section .separator {
    height: 100px;
  }
  .box-section .first-section p {
    max-width: 74%;
    width: auto;
  }
  .box-section .roomy-box-section {
    display: none;
  }
  .service-info-box .img-our-service {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    height: 160px;
    width: 100%;
    border-radius: 15px;
  }
  .service-info-box .service-title {
    margin-top: 2rem;
  }
  .images-success-case {
    padding: 0 0;
  }
  .steps-box .step-item .number {
    padding: 12px 0px;
  }
  .steps-box .step-item .text {
    padding: 0 10px;
  }
  .banner-contact {
    width: 100%;
  }
  .bg-video {
    padding: 100px 0px;
  }
  .bg-video #bg-video-bed {
    bottom: -20px;
  }
  .management-image-box {
    margin-bottom: 1rem;
  }
  .management-image-box img {
    height: 210px;
    width: 100%;
  }
  .management-mb-25 {
    margin-bottom: 15px;
  }
  .management-mb-0 {
    margin-bottom: 15px;
  }
  .box-management-info {
    padding: 20px 25px 10px 25px;
    -webkit-box-shadow: 0px 0px 10px -4px var(--secondary);
            box-shadow: 0px 0px 10px -4px var(--secondary);
  }
  .hidden-responsive {
    display: none;
  }
  .box-form img {
    width: 100%;
    max-width: 100%;
    height: 170px;
    margin-bottom: 1rem;
  }
  .modal-roomy .modal-content {
    height: auto;
  }
}

@media (max-width: 768px) {
  .pt-5 {
    padding-top: 2rem !important;
  }
  .pb-5 {
    padding-bottom: 2rem !important;
  }
  .mt-5 {
    margin-top: 2rem !important;
  }
  .mb-5 {
    margin-bottom: 2rem !important;
  }
  .index-box {
    display: block;
  }
  .index-box .box-info {
    width: 100%;
    margin-bottom: 3rem;
  }
  .index-box .box-image {
    width: 80%;
    margin: 0 auto;
  }
  .index-box .box-image .left-icon {
    left: -5px;
  }
  .index-box .box-image .right-icon {
    right: -14px;
  }
  .box-section {
    display: block;
  }
  .box-section .first-section {
    display: block;
  }
  .box-section .first-section h2, .box-section .first-section h2.medium, .box-section .first-section h2.big {
    width: 100%;
    max-width: 100%;
  }
  .box-section .first-section .separator {
    height: 3px;
    width: 65%;
    margin: 8px 0px 12px;
  }
  .box-section .first-section p, .box-section .first-section p.medium, .box-section .first-section p.big {
    width: 100%;
    max-width: 100%;
  }
  .box-section .first-section .opinions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .box-section .first-section .opinions .valoration {
    margin-right: 15px;
  }
  .box-section .first-section .opinions .trustpilot-image {
    margin-top: 1rem;
    margin-left: 0px;
  }
  .box-section .first-section .trustpilot-image {
    margin-left: 0px;
    margin-top: 15px;
  }
  #our-service-item-desktop {
    display: none;
  }
  #our-service-item-mobile {
    display: initial;
  }
  #our-service-item-mobile .our-services-slider {
    margin-bottom: 0px !important;
    padding: 0px !important;
  }
  #our-service-item-mobile .our-services-slider .service-item-select {
    padding: 20px;
    -webkit-box-shadow: 0px 0px 10px -2px var(--secondary);
            box-shadow: 0px 0px 10px -2px var(--secondary);
  }
  .steps-box {
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  .steps-box .step-item {
    max-width: 100%;
    margin: 0 auto;
    display: block;
    margin-bottom: 2.5rem;
  }
  .steps-box .step-item .number {
    text-align: center;
    margin: 0 auto;
  }
  .steps-box .step-item .text {
    max-width: 50%;
    margin: 0 auto;
    margin-top: 0.8rem;
  }
  .steps-box .step-item:last-child {
    margin-bottom: 0;
  }
  .banner-contact {
    display: block;
    padding: 25px;
    margin: 0;
    width: 100%;
    max-width: 100%;
  }
  .banner-contact .btn-contact {
    margin-left: 0px;
    margin-top: 1rem;
  }
  .bg-video {
    padding: 200px 0px;
  }
  .bg-video #bg-video-bed {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    bottom: 0;
  }
  .management-image-box {
    display: none;
  }
  .bg-cifras .col-7, .bg-cifras .col-5 {
    padding: 0px 5px;
  }
  .bg-cifras .mt-3 {
    margin-top: 8px !important;
  }
  .bg-cifras #rotate-logo {
    width: 65px !important;
    top: 5px !important;
    right: 5px !important;
  }
  .box-form img {
    height: 140px;
  }
  .box-form #contact-form {
    display: block;
    margin-top: 20px;
  }
  .box-form #contact-form .form-item--name, .box-form #contact-form .form-item--legal, .box-form #contact-form .form-item--phone, .box-form #contact-form .form-item--location {
    width: 100%;
    max-width: 100%;
  }
  .box-form #contact-form #edit-actions #edit-submit {
    width: 100% !important;
  }
  .modal-roomy .modal-content {
    height: auto;
  }
  .phone-fixed {
    right: 15px;
  }
  .phone-fixed.active {
    right: 300px;
  }
}

/*----------------END RESPONSIVE-----------------------------*/
