.t_button {
  border: var(--borderRadius_medium);
  font-weight: var(--typography_fontWeight_button);
  line-height: var(--typography_fontSize_button);
  font-size: var(--typography_textTransform_button);
  border-radius: var(--borderRadius_medium);
  color: var(--palette_primary_contrastText) !important;
  background-color: var(--palette_primary_main);
  padding: 16px 24px;
  width: 100%;
  font-family: Montserrat, sans-serif;
  text-decoration: none;
  min-width: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--additional_button_height);
}

.t_button_primary_outlined {
  padding: 16px 24px;
  background-color: transparent;
  border: solid 1px var(--palette_primary_main);
  color: var(--palette_primary_main) !important;
  border-radius: var(--borderRadius_medium);
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--additional_button_height);
  text-decoration: none;
}

.t_button_secondary {
  background-color: var(--palette_secondary_main);
  color: var(--palette_secondary_contrastText) !important;
  padding: 16px 24px;
  border-radius: var(--borderRadius_medium);
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--additional_button_height);
}

.t_button_secondary_outlined {
  background-color: transparent;
  border: solid 1px var(--palette_secondary_main);
  color: var(--palette_secondary_main) !important;
  padding: 16px 24px;
  border-radius: var(--borderRadius_medium);
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--additional_button_height);
  text-decoration: none;
}

.flex-row {
  display: flex;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.gap-xs {
  gap: var(--spacing_xs);
}

.gap-sm {
  gap: var(--spacing_sm);
}

.gap-md {
  gap: var(--spacing_md);
}
.gap-lg {
  gap: var(--spacing_lg);
}
.gap-xl {
  gap: var(--spacing_xl);
}
.gap-xxl {
  gap: var(--spacing_xxl);
}

.padding-xs {
  padding: var(--spacing_xs);
}

.padding-sm {
  padding: var(--spacing_sm);
}

.padding-md {
  padding: var(--spacing_md);
}
.padding-lg {
  padding: var(--spacing_lg);
}
.padding-xl {
  padding: var(--spacing_xl);
}
.padding-xxl {
  padding: var(--spacing_xxl);
}

.background-paper {
  background-color: var(--palette_background_paper);
}

.background-default {
  background-color: var(--palette_background_default);
}

.background-neutral {
  background-color: var(--palette_background_neutral);
}

.background-darker {
  background-color: var(--palette_background_darker);
}

.background-primary {
  background-color: var(--palette_background_primary);
}

.background-secondary {
  background-color: var(--palette_background_secondary);
}

.typography-h1 {
  font-size: var(--typography_fontSize_h1);
  font-weight: var(--typography_fontWeight_h1);
  line-height: var(--typography_lineHeight_h1);
}

.typography-h2 {
  font-size: var(--typography_fontSize_h2);
  font-weight: var(--typography_fontWeight_h2);
  line-height: var(--typography_lineHeight_h2);
}

.typography-h3 {
  font-size: var(--typography_fontSize_h3);
  font-weight: var(--typography_fontWeight_h3);
  line-height: var(--typography_lineHeight_h3);
}

.typography-h4 {
  font-size: var(--typography_fontSize_h4);
  font-weight: var(--typography_fontWeight_h4);
  line-height: var(--typography_lineHeight_h4);
}

.typography-h5 {
  font-size: var(--typography_fontSize_h5);
  font-weight: var(--typography_fontWeight_h5);
  line-height: var(--typography_lineHeight_h5);
}

.typography-h6 {
  font-size: var(--typography_fontSize_h6);
  font-weight: var(--typography_fontWeight_h6);
  line-height: var(--typography_lineHeight_h6);
}

.typography-body1 {
  font-weight: var(--typography_fontWeight_body1);
  line-height: var(--typography_lineHeight_body1);
}

.typography-body2 {
  font-weight: var(--typography_fontWeight_body2);
  line-height: var(--typography_lineHeight_body2);
}

.container-error {
  background: var(--palette_error_main);
  padding: var(--spacing_md);
  color: var(--palette_error_contrastText);
  border-radius: var(--borderRadius_medium);
  box-shadow: var(--shadow_cardInside);
}

.container-info {
  background: var(--palette_info_main);
  padding: var(--spacing_md);
  color: var(--palette_info_contrastText);
  border-radius: var(--borderRadius_medium);
  box-shadow: var(--shadow_cardInside);
}

.container-warning {
  background: var(--palette_warning_main);
  padding: var(--spacing_md);
  color: var(--palette_warning_contrastText);
  border-radius: var(--borderRadius_medium);
  box-shadow: var(--shadow_cardInside);
}

.container-success {
  background: var(--palette_success_main);
  padding: var(--spacing_md);
  color: var(--palette_success_contrastText);
  border-radius: var(--borderRadius_medium);
  box-shadow: var(--shadow_cardInside);
}

.link {
  color: var(--palette_primary_main);
  font-weight: bold;
  text-decoration: unset;
}

.link:hover {
  color: var(--palette_primary_dark);
}

.flex-sm-row {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .flex-sm-row {
    display: flex;
    flex-direction: row;
  }
}

/* adition */

.input_field_anchor {
    height: var(--additional_input_height);
    border-radius: var(--borderRadius_medium);
    padding: var(--spacing_md);
    border: solid 1px;
    border-color: var(--palette_text_tertiary);
    outline: none;
    width: 100%;
    display: flex;
}

.input_field_anchor:hover {
  border: solid 1px;
  border-color: var(--palette_text_primary);
}

.input_field_anchor:active,
.input_field_anchor:focus-visible {
  border: solid 2px;
  border-color: var(--palette_secondary_main);
}

.input_field {
    outline: none;
    border: none;
    width: 100%;
    height: 24px;
}

.show_password_button {
    padding: 0;
    margin: 0;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    display: flex;
    border: none;
    width: 20px;
    background: none;
}

.show_password_button_img {
    padding: 0;
    margin: 0;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.short_form {
  background-color: var(--palette_background_paper);
  border-radius: var(--borderRadius_medium);
  padding: var(--spacing_md);
  color: var(--palette_text_primary);
  box-shadow: var(--shadow_card);
}

.footer_text {
  display: flex;
  color: var(--additional_background_contrast_color);
  justify-content: center;
}

.custom_footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.form_short_width {
  padding-top: 48px;
  margin: auto;
  width: 500px;
  max-width: 100%;
}

.login_subtitle {
  font-size: var(--typography_lineHeight_body2);
  line-height: var(--typography_lineHeight_body2);
}

.bg_contrast_color {
  color: var(--additional_background_contrast_color);
}

.unlogged_layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--additional_background_contrast_color);
}

.container_checkbox {
  display: block;
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  font-size: var(--typography_fontWeight_body2);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.container_checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 4px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background-color: white;
  border: solid 2px;
  border-color: var(--palette_text_secondary);
  border-radius: var(--borderRadius_small);
  color: transparent;
}

.container_checkbox input:checked ~ .checkmark {
  background-color: var(--palette_secondary_main);
  border-color: var(--palette_secondary_main);
  color: white;
}

.container_checkbox input:disabled ~ .checkmark {
  background-color: var(--palette_background_neutral);
  border-color: var(--palette_background_neutral);
  color: white;
}

.back_button {
  padding-top: var(--spacing_md);
  padding-bottom: var(--spacing_md);
}
