/*!
Theme Name:  RayTheme
Theme URI: https://raylinaquino.com
Author: Raylin Aquino
Author URI: https://raylinaquino.com
Description:  RayTheme Template 
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rayelem
*/
:root {
  font-size: 10px;
  --primary: #000;
  --secondary: #cc0032;
  --secondary-light: #e4184a;
  --text: #555555;
  --gray: #b7b7b7;
  --creme: #f7f3f4;
  --creme2: #efe7e9;
  --offpink: #ecd9dd;
  --white: #fff;
  --tierra: #886269;
  --warning: #fff3d3;
  --violet: #8959e3;
  --green: #18A589;
}

body {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  font-family: "Raleway", sans-serif;
}

[v-cloak] {
  display: none;
}

.cbr-steps {
  counter-reset: count;
}

.cbr-steps .elementor-widget-image {
  counter-increment: count;
  position: relative;
}

.cbr-steps .elementor-widget-image:before {
  content: counter(count);
  display: flex;
  width: 4rem;
  height: 4rem;
  background: var(--green);
  color: var(--white);
  text-align: center;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 800;
  line-height: 1;
  position: absolute;
  font-size: 2.2rem;
  left: 7rem;
}

.cbr-text b,
.cbr-text strong {
  color: var(--violet);
  font-weight: 800;
}

.cbr-text ul {
  margin: 1rem 0;
  padding: 0 0 0 1.6rem;
}

.chaty-cta-button g circle,
.chaty-cta-button ellipse {
  fill: var(--secondary);
}

.btn-one {
  background: none;
  color: var(--secondary);
  border-radius: 3rem;
  padding: 1rem 3rem;
  border: 2px solid var(--secondary);
  display: inline-block;
  font-weight: bold;
}

.btn-one:hover {
  background: var(--secondary);
  color: var(--white);
}

.trans-3 {
  transition: all 0.3s ease;
}

/*Home services*/
.home-services {
  font-weight: 600;
}

.home-services .services-cta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 4rem;
}

.home-services .services-cta a {
  display: flex;
  gap: 1rem;
  flex: 0 0 20rem;
  align-items: center;
  color: var(--text);
  transition: all 0.3s ease;
  position: relative;
  font-weight: bold;
}

.home-services .services-cta a .title {
  transition: all 0.3s ease;
}

.home-services .services-cta a .icon-wrap {
  width: 6rem;
  height: 6rem;
  flex: 0 0 6rem;
  border-radius: 50%;
  border: 2px solid #ebcfcf;
  transition: all 0.3s ease;
  background-size: cover;
  background-position: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
  color: var(--secondary);
}

.home-services .services-cta a:hover {
  opacity: 0.8;
}

.home-services .services-cta a:hover .icon-wrap,
.home-services .services-cta a.active .icon-wrap {
  border-color: var(--secondary);
}

.home-services .services-cta a:hover .title,
.home-services .services-cta a.active .title {
  color: var(--secondary);
}

.home-services .services-content {
  margin: 6rem auto;
}

.home-services .service-card {
  gap: 5rem;
  display: none;
}

.home-services .service-card.active {
  display: flex;
}

.home-services .service-card .wrap-info .title {
  margin: 0 0 2rem;
  font-weight: 800;
  font-size: 3rem;
  line-height: 1.2;
}

.home-services .service-card .wrap-info h4 {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--secondary);
}

.home-services .service-card .wrap-info .list {
  margin: 0 0 3rem;
  padding: 0;
  list-style: none;
  color: var(--text);
  font-weight: 600;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  font-size: 1.4rem;
}

.home-services .service-card .wrap-info .list li {
  display: flex;
  gap: 1.5rem;
}

.home-services .service-card .wrap-info .list li i {
  color: var(--secondary);
  border: 2px solid var(--secondary);
  border-radius: 50%;
  font-size: 1rem;
  padding: 0.3rem;
}

.home-services .service-card .wrap-img {
  flex: 0 0 42rem;
}

.home-services .service-card .wrap-img .img {
  background-color: #e0e0e0;
  height: 42rem;
  width: 42rem;
  background-size: cover;
  background-position: center;
  border-radius: 50%;
}

.card-quienes a {
  display: block;
  transition: all 0.3s ease;
}

.card-quienes a:hover {
  opacity: 0.7;
}

.card-quienes .elementor-image-box-description {
  text-align: right;
}

.card-quienes .elementor-image-box-description i {
  color: var(--secondary);
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  right: 5px;
}

.card-quienes:hover .elementor-image-box-description i {
  right: 0px;
}

.about-cards .elementor-icon {
  background: var(--offpink);
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.card-quienes span {
  color: var(--secondary);
}

.contact-list .elementor-icon-list-item a {
  gap: 1.5rem;
}

.contact-list .elementor-icon-list-item .elementor-icon-list-icon {
  background: var(--creme);
  width: 5rem;
  height: 5rem;
  flex: 0 0 5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  padding: 0;
  justify-content: center;
  border: 2px solid var(--offpink);
  text-align: center !important;
}

.contact-list .elementor-icon-list-item .elementor-icon-list-icon svg {
  display: inline-block;
  margin: 0 !important;
}

.wrap-tax-back {
  text-align: center;
}

.wrap-tax-back a {
  color: var(--secondary) !important;
  text-decoration: none;
  font-size: 1.8rem;
  display: inline-block;
  font-weight: 600;
}

.wrap-tax-back a i {
  position: relative;
  margin-right: 1rem;
  left: 0;
}

.wrap-tax-back a:hover i {
  left: -5px;
}

.top-phone a {
  display: inline-flex;
  gap: 1rem;
}

.top-phone .elementor-icon-list-icon {
  width: 3rem;
  height: 3rem;
  background: var(--secondary);
  border-radius: 3rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  padding: 5px !important;
}

.btn-download {
  width: 100%;
  display: inline-block;
  text-align: center;
  font-weight: bold;
  font-size: 1.7rem;
  border: 2px solid var(--secondary);
  padding: .9rem 3rem;
  border-radius: 3rem;
  transition: all .3s ease;
  margin-bottom: 1rem;
}

.btn-download i {
  margin-right: 1rem;
}

.btn-download:hover {
  background: var(--secondary);
  color: var(--white);
}

/* Tax Services*/
.tax-services {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  gap: 3rem;
}

.tax-services .card-tax-service {
  color: var(--base);
  border-radius: 2rem;
  background: var(--white);
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
}

.tax-services .card-tax-service .img {
  height: 17rem;
  border-radius: 2rem;
  background-size: cover;
  background-color: var(--creme);
  background-position: center;
}

.tax-services .card-tax-service:hover {
  background: var(--warning);
  box-shadow: none;
}

.tax-services .card-tax-service .info {
  padding: 3rem 2rem;
}

.tax-services .card-tax-service .info .title {
  margin: 0 0 1.3rem;
  font-weight: 800;
  font-size: 2rem;
}

/* Request Doc */
.request-doc-wrapper {
  position: relative;
}

.wrap-error {
  background: var(--warning);
  text-align: center;
  margin-top: 2rem;
  padding: 1rem;
  font-weight: bold;
  color: var(--tierra);
}

.request-doc-wrapper .download-wrapper {
  text-align: center;
}

.request-doc-wrapper .download-link {
  display: inline-flex;
  justify-content: center;
  border-radius: 3rem;
  padding: 1.2rem 2rem;
  line-height: 1;
  gap: 1rem;
  background: var(--secondary);
  color: var(--white);
  font-weight: bold;
}

.request-doc-wrapper .download-link:hover {
  background: var(--secondary-light);
}

.request-doc-wrapper .processing {
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  font-weight: bold;
  background: var(--white);
  z-index: 2;
}

.request-doc-wrapper form {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.request-doc-wrapper form .form-group {
  flex: 1;
}

.request-doc-wrapper form input {
  padding: 0 1.5rem;
  height: 4rem;
  border-radius: 2rem;
  border: 2px solid var(--offpink);
  color: var(--text);
  font-weight: 600;
  font-family: "Raleway", sans-serif;
  width: 100%;
  display: block;
  font-size: 1.4rem;
}

.request-doc-wrapper form button {
  padding: 0 1.5rem;
  height: 4rem;
  cursor: pointer;
  border-radius: 2rem;
  border: 0;
  font-weight: 700;
  font-family: "Raleway", sans-serif;
  background: var(--secondary);
  color: var(--white);
  width: 15rem;
  transition: all 0.3s ease;
}

.request-doc-wrapper form button:disabled {
  background: var(--offpink);
}

/* GFORM */
.form-solicitar_wrapper {
  font-weight: 600;
}

.form-solicitar_wrapper.gform-theme--foundation .ginput_counter {
  font-weight: 600;
}

.form-solicitar_wrapper .gform_fields {
  gap: 1.5rem !important;
}

.form-solicitar_wrapper .gform_footer {
  justify-content: center;
}

.form-solicitar_wrapper .ginput_recaptcha div {
  margin: 0 auto;
}

.form-solicitar_wrapper .gform_required_legend {
  display: none;
}

.form-solicitar_wrapper .gfield input.large {
  border: 2px solid var(--creme2);
  height: 5rem;
  font-weight: 600;
  box-shadow: none;
}

.form-solicitar_wrapper.gform-theme--foundation .gfield textarea.large {
  border: 2px solid var(--creme2);
  font-weight: 600;
  box-shadow: none;
}

.form-solicitar_wrapper .gfield input.large::placeholder,
.form-solicitar_wrapper.gform-theme--foundation .gfield textarea.large::placeholder {
  color: var(--gray);
}

.form-solicitar_wrapper .gfield input.large:focus,
.form-solicitar_wrapper.gform-theme--foundation .gfield textarea.large:focus {
  border-color: var(--secondary);
}

.form-solicitar_wrapper .gform_footer .gform_button {
  border: 2px solid var(--secondary) !important;
  color: var(--secondary) !important;
  border-radius: 3rem !important;
  background: none !important;
  font-size: 1.6rem !important;
  font-weight: bold !important;
  height: 5rem !important;
  padding: 0 5rem !important;
  transition: all 0.3s ease !important;
}

.form-solicitar_wrapper .gform_footer .gform_button:hover {
  background: var(--secondary) !important;
  color: var(--white) !important;
}

/* FAQs */
.faqs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.faqs .faq-group .title-wrap {
  background: var(--creme);
  padding: 1.2rem 2rem;
  border-radius: 1rem;
}

.faqs .faq-group .title-wrap h5 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
}

.faqs .faq-group.active .title-wrap i {
  transform: rotate(180deg);
}

.faqs .faq-group .title-wrap:hover,
.faqs .faq-group.active .title-wrap {
  background: var(--creme2);
}

.faqs .faq-group .desc-wrap {
  font-size: 1.4rem;
  padding: 1rem 2rem;
  display: none;
}

.faqs .faq-group.active .desc-wrap {
  display: block;
}

/* services Features*/
.services-features ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(31rem, 1fr));
  gap: 4rem;
  margin: 0;
  list-style: none;
  padding: 0;
  counter-reset: section;
  list-style-type: none;
}

.services-features ul li {
  display: flex;
  gap: 2rem;
  font-size: 1.4rem;
  font-weight: 600;
}

.services-features ul li .icon-wrap i {
  font-size: 2rem;
  background: var(--offpink);
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.services-features ul li .title {
  font-weight: 800;
  font-size: 1.8rem;
  margin: 0 0 1rem;
  color: var(--tierra);
}

/* Services process*/
.services-process {
  margin-top: 3rem;
  margin-bottom: 2rem;
}

.services-process ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 4rem;
  margin: 0;
  list-style: none;
  padding: 0;
  counter-reset: section;
  list-style-type: none;
}

.services-process ul li {
  display: flex;
  gap: 2rem;
  font-weight: 600;
}

.services-process ul li .count-wrap .count {
  background: var(--offpink);
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.3rem;
  font-weight: bold;
}

.services-process ul li .title {
  font-weight: 800;
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: var(--tierra);
}

/* Gallery Insurances */
.gallery-cs .gallery {
  gap: 2rem !important;
  display: flex;
}

.gallery-cs .gallery .gallery-item {
  float: none !important;
}

.gallery-cs .gallery .gallery-item img {
  border: 0 !important;
}

/* Header */
.top-services {
  display: flex;
  gap: 0;
}

.top-services a {
  flex: 1;
  background: var(--creme);
  padding: 2rem;
  min-height: 8rem;
  transition: all 0.3s ease;
  margin: 0 !important;
  display: flex;
  color: var(--primary);
  gap: 1rem;
  align-items: center;
  justify-content: center;
}

.top-services a .icon {
  color: var(--secondary);
  font-size: 3rem;
}

.top-services a .title {
  font-weight: bold;
  color: var(--text);
  font-size: 1.6rem;
  text-align: center;
}

.top-services a:nth-child(2n) {
  background: var(--creme2);
}

.top-services a:hover,
.top-services a.active {
  background: var(--secondary);
  color: var(--white) !important;
}

.top-services a:hover .icon,
.top-services a:hover .title,
.top-services a.active .icon,
.top-services a.active .title {
  color: var(--white) !important;
}

/* FAQ */

/* Card service */
.services-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.card-service {
  display: block;
  background: var(--white);
  padding: 4rem 2.5rem;
  border-radius: 1rem;
  box-shadow: 0 2px 1rem rgb(0 0 0 / 1%) !important;
  color: var(--text) !important;
  font-size: 1.3rem;
  transition: all 0.3s ease;
  top: 0;
  position: relative;
}

.card-service:hover {
  top: -1rem;
}

.card-service .wrap-icon {
  font-size: 2rem;
  color: var(--secondary);
}

.card-service .title {
  font-weight: bold;
  font-size: 2rem;
  margin: 1rem 0;
  line-height: 1.3;
}

/*Footer Menu*/

.footer-menu .elementor-nav-menu .menu-item .elementor-item {
  max-width: 18rem;
  white-space-collapse: initial !important;
  text-wrap-mode: initial;
}

@media (max-width: 900px) {
  .home-services .service-card .wrap-img {
    flex: 0 0 35rem;
  }

  .home-services .service-card .wrap-img .img {
    width: 35rem;
    height: 35rem;
    margin: 0 auto;
  }
}

@media (max-width: 800px) {
  .footer-menu .elementor-nav-menu {
    margin: 0 auto;
    max-width: 60rem;
    background: #e9e9e9;
  }

  .footer-menu .elementor-nav-menu .menu-item {
    flex: 0 0 50%;
  }

  .footer-menu .elementor-nav-menu .menu-item .elementor-item {
    display: block !important;
    max-width: 100% !important;
    text-align: center;
    padding: 1.5rem 1rem !important;
  }
}

@media (max-width: 600px) {
  .faqs {
    grid-template-columns: 1fr;
  }

  /* Gallery Insurances */
  .gallery-cs .gallery {
    gap: 2rem !important;
    display: flex;
    flex-wrap: wrap;
  }

  .gallery-cs .gallery .gallery-item {
    float: inherit !important;
    width: 12rem !important;
    padding: 0 !important;
  }


  .home-services .service-card .wrap-cta {
    text-align: center;
  }

  .home-services .service-card .wrap-img {
    flex: 0 0 28rem;
  }

  .home-services .service-card .wrap-img .img {
    width: 28rem;
    height: 28rem;
  }

  .home-services .service-card.active {
    display: block;
  }

  .home-services .service-card .wrap-info .title {
    margin: 2rem 0;
  }

  .request-doc-wrapper form {
    flex-wrap: wrap;
  }

  .request-doc-wrapper form .form-group {
    flex: 0 0 100%;
  }

  .request-doc-wrapper form button {
    width: 100%;
    font-size: 1.6rem;
  }

  .top-services {
    display: block;
  }

  .top-services a {
    padding: 1rem;
  }

  .services-features ul li .icon-wrap i {
    width: 4rem;
    height: 4rem;
  }

  .services-features ul li {
    font-size: 1.4rem;
  }
}

@media (max-width: 500px) {
  .home-services .services-cta {
    gap: 2rem;
  }

  .home-services .service-card .wrap-img {
    min-height: 25rem;
  }

  .home-services .service-card .wrap-info .title {
    font-size: 2.4rem;
    text-align: center;
  }

  .home-services .service-card .wrap-info .desc,
  .home-services .service-card .wrap-info h4 {
    text-align: center;
  }
}

@media (max-width: 380px) {
  .footer-menu .elementor-nav-menu .menu-item {
    flex: 0 0 100%;
  }
}