html {
  --blue: #334DB5;
  --navy: #1C1269;
  --pink: #FF7080;
  --text: #140D43;
  --black: #000000;
  --white: #FFFFFF;
  --grey-50: #8B8B8B;
  --danger: #111;
  --danger-hover: #333;
  --grey-25: #C2C2C2;
  --grey-5: #F0F0F0;
  --transition: all .3s;
}

body {
  font-family: 'Rucksack', sans-serif !important;
  color: var(--text);
  line-height: 1.25rem;
}


/* Layout */
.page-container {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 2rem;
  padding-right: 2rem;

  @media (max-width: 768px) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}


/* Typography */
p.large,
.large p {
  font-size: 1.25rem;
  line-height: 1.5rem;
}

p.small,
.small p {
  font-size: 0.875rem;
  line-height: 1.125rem;
}


/* Buttons/links */
a {
  transition: var(--transition);
}

.elementor-button {
  .elementor-button-content-wrapper {
    transition: var(--transition);
  }
  
  .elementor-button-icon {
    color: var(--pink);
    font-size: 13px;
    position: relative;
    top: 2px;
    transition: var(--transition);
  }
}

.outline .elementor-button,
#wpforo #wpforo-wrap .wpforo-main button.wpf-button,
#wpforo #wpforo-wrap .wpforo-main input.wpf-button,
#wpforo #wpforo-wrap .wpforo-main span.wpf-button,
#wpforo #wpforo-wrap .wpforo-main .wpf-add-comment-button span.wpf-button {
  display: inline-block;
  padding: 9.5px 16px 11.5px 19px !important;
  color: var(--navy) !important;
  background: transparent !important;
  border: 1px solid var(--navy) !important;
  transition: var(--transition);
  
  .elementor-button-icon {
    color: var(--navy);
  }
  
  &:hover {
    color: var(--white) !important;
    background: var(--navy) !important;
    border-color: var(--navy) !important;
    
    .elementor-button-icon {
      color: var(--pink);
    }
  }
}

.arrow-link .elementor-button:hover .elementor-button-content-wrapper {
  gap: 11px !important;
}

a.arrow-link {
  display: inline-flex;
  align-items: center;
  color: var(--navy) !important;
  font-weight: 600;
  
  &:after {
    content: "";
    position: relative;
    top: 1px;
    left: 7px;
    width: 13px;
    height: 13px;
    background-color: var(--pink);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center/contain no-repeat;
    transition: var(--transition);
  }
  
  &:hover:after {
    left: 11px;
  }
}

.circle-arrow-btn a.elementor-button {
  display: flex;
  justify-content: center;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  background-color: var(--blue);
  
  .elementor-button-icon {
    color: var(--white);
    font-size: 20px;
    top: 1px;
    left: -1px;
  }
  
  &:hover {
    background-color: var(--pink);
  }
}

a.wp-block-button__link.wp-element-button {
  display: inline-flex;
  align-items: center;
  background-color: var(--navy);
  font-size: 1rem;
  font-weight: 600;
  line-height: 16px;
  color: var(--white);
  border-radius: 4px;
  padding: 10.5px 17px 12.5px 20px;
    
  &:after {
    content: "";
    position: relative;
    top: 1.5px;
    left: 5px;
    width: 13px;
    height: 13px;
    background-color: var(--pink);
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  
  &:hover {
  	background-color: var(--blue);
    color: var(--white);
  }
}

.elementor-posts .elementor-post__read-more {
  display: flex;
  gap: 6px;
  
  &:after {
    position: relative;
    top: 2px;
    font-family: "eicons";
    content: "\e87d";
    font-weight: 300;
    font-size: 15px;
    color: var(--pink);
  }
  
  &:hover {
    gap: 10px;
  }
}


/* Header */
.elementor-widget-search {
  .e-search-label {
    position: absolute !important;
    right: 26px;
    top: 50%;
  }
  
  .e-search-input.no-icon-clear {
    padding: 4px 31px 4px 12px !important;
  }
}

.elementor-nav-menu .sub-arrow {
  position: relative;
  top: 1.5px;
  font-size: 18px;
}

.cpel-switcher__lang a {
  height: 29px;
  
  i {
    color: var(--pink) !important;
    font-size: 12px;
  }
}


/* Footer */
@media (max-width: 1024px) {
  footer nav ul > li > a {
    justify-content: center !important;
  }
}


/* Elementor Pagination */
.elementor-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  
  .page-numbers {
    position: relative;
  }

  .prev,
  .next {
    font-size: 16px;
    margin-right: 29px !important;
    
    &:after {
      position: absolute;
      top: 1px;
      left: -18px;
      font-family: "eicons";
      content: "\e87e";
      font-weight: 300;
      font-size: 15px;
      transition: var(--transition);
    }
  }
  
  a.prev,
  a.next:hover {
    color: var(--text) !important;
    
    &:after {
      color: var(--pink);
    }
  }
  
  .next {
    margin: 0 0 0 29px !important;
    
    &:after {
      content: "\e87d";
      left: auto;
      right: -18px;
    }
  }
  
  .current:after {
    position: absolute;
    left: 50%;
    bottom: -9px;
    margin-left: -7.5px;
    width: 14px;
    height: 2px;
    display: block;
    content: '';
    background: var(--pink);
  }
}


/* General Pagination */
.larche-pagination {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  margin-top: 110px;
  
  .page-numbers {
    color: #8B8B8B;
    
    &.current,
    &:hover {
      color: var(--blue);
    }
    
    &:not(.prev):not(.next) {
      margin: 0 15px;
    }
  }
}


/* Elementor Forms */
.elementor-field-label {
  margin-bottom: 12px;
}

.elementor-field-group {
  margin-bottom: 22px;
  
  input.elementor-field-textual,
  select.elementor-field-textual {
    height: 39px;
    min-height: auto;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

.elementor-form .elementor-button[type="submit"] {
  min-height: auto !important;
  flex-basis: auto !important;
  padding-right: 20px;
  margin-top: 20px;
}


/* Custom Forms */
.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;

  @media (max-width: 768px) {
    flex-direction: column;
  }

  .form-group-double {
    display: flex;
    gap: 20px;
    flex: 1;
  
    @media (max-width: 768px) {
      flex-direction: column;
    }

    > div {
      width: 100%;
    }
  }
  
  .form-group {
    flex: 1;
  }

  label {
    margin-bottom: 11px;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"] {
    height: 39px;
    min-height: auto;
  }

  input[type="button"],
  button[type="submit"] {
    height: 39px;
    line-height: 1;
  }

  .checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .checkbox-label {
    display: flex;
    align-items: center;
    margin: 0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;

    a {
      font-weight: 600;
      text-decoration: underline;
    }
  
    input[type="checkbox"] {
      width: auto;
      margin-right: 8px;
      accent-color: var(--navy);
    }
  }
}

.form-messages {
  margin-bottom: 2rem;
  display: none;

  .message {
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 1rem;

    &.message-success {
      background-color: #d4edda;
      color: #155724;
      border: 1px solid #c3e6cb;
    }

    &.message-error {
      background-color: #f8d7da;
      color: #721c24;
      border: 1px solid #f5c6cb;
    }
  }
}