:root {
  --theme-color: #f40000;
  --theme-hover: #d30000;
  --theme-active: #9e0000;
  --text-color: black;
}

@font-face {
  font-family: Unity;
  font-weight: 700;
  src: url("../fonts/TCCC-UnityHeadline-Bold.ttf") format("truetype");
}

@font-face {
  font-family: UnityRegular;
  font-weight: 400;
  src: url("../fonts/TCCC-UnityHeadline-Regular.ttf") format("truetype");
}

@font-face {
  font-family: Gotham;
  font-weight: 500;
  src: url("../fonts/Gotham-Medium.otf") format("opentype");
}

@font-face {
  font-family: Gotham;
  font-weight: 700;
  src: url("../fonts/Gotham-Bold.otf") format("opentype");
}

@font-face {
  font-family: Gotham;
  font-weight: 400;
  src: url("../fonts/Gotham-Book.otf") format("opentype");
}

#cds-overlay {
  position: fixed !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 131231 !important;
}

#cds-overlay:before {
  content: " ";
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  background-color: white;
  background-image: url(./../images/loading/dahadaha.gif);
  background-size: 80px;
  background-repeat: no-repeat;
  background-position: center;
}

.extrazone #cds-overlay::before {
  background-image: url(./../images/loading/extrazone.gif);
}

/* #loader-field{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70vh;
  padding-top: 10%;
  background-color: white;
} */

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

#ces-sign-in-form,
#socialLogin,
#ces-register-form,
#ces-merge-account,
#ces-post-login,
#ces-forgot-password-form,
#ces-email-verification-form,
.verification-result,
#ces-resend-email-verification-form,
#ces-reset-password-form {
  width: 88vw;
}

#ces-update-profile-form {
  width: 92%;
  margin-left: 4%;
}

.termsconditions {
  display: inline !important;
}

#abroad-consent-reject-form-modal {
  font-family: Gotham;
  font-size: 14px;
}

.link-container {
  width: 88vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: Gotham;
  font-size: 13px;
}

.page-title {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  box-sizing: border-box;
}

#ces-post-login {
  font-size: 14px;
  font-family: Gotham;
}

.page-title .back-button img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.form-link {
  font-weight: 700;
  color: var(--theme-color) !important;
  text-decoration: none;
}

.container {
  background: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* -------------- SDK TARAFINDAN OLUŞTURULAN FORMLAR İÇİN STİL BAŞLANGICI ------------------- */
.input-container {
  position: relative;
  width: 100%;
  margin-top: 18px;
  box-sizing: border-box;
}

.input-container label {
  position: absolute;
  left: 10px;
  top: 25px;
  transform: translateY(-50%);
  color: #909ca2;
  font-size: 14px;
  padding: 0 4px;
  pointer-events: none;
  text-transform: capitalize;
  transition: linear 0.2s;
}

.input-container input:focus + label,
.input-container input:not(:placeholder-shown) + label,
.input-container select:not(#mobileNumberCountryCode):focus + label,
.input-container select:not(#mobileNumberCountryCode):not([value=""]) + label,
.input-container:focus-within > label:not(.label-checkbox),
.input-container:has(input:not(:placeholder-shown)) > label:not(.label-checkbox),
.input-container:has(select:not(#mobileNumberCountryCode):not([value=""]))
  > label:not(.label-checkbox) {
  top: 0;
  left: 10px;
  font-size: 10px;
  transform: translateY(8px);
}

/* Sadece ülke kodu select'i focus'tayken label floating yapma */
.input-container:has(#mobileNumberCountryCode:focus) > label:not(.label-checkbox) {
  top: 25px;
  left: 12px;
  font-size: 16px;
  color: #909ca2;
  transform: translateY(-50%);
}

.input-container input[type="text"],
.input-container input[type="tel"],
.input-container input[type="email"],
.input-container input[type="password"],
.input-container input[type="number"],
.input-container select {
  width: 100%;
  height: 50px !important;
  padding-left: 12px !important;
  box-sizing: border-box;
  outline: none;
  font-family: Gotham;
  font-weight: 500;
  font-size: 14px !important;
  color: var(--text-color);
  border: 1px solid #b5bdc1;
  background-color: white;
  border-radius: 8px;
  padding-top: 15px;
}

.input-container input[type="text"]:disabled,
.input-container input[type="tel"]:disabled,
.input-container input[type="email"]:disabled,
.input-container input[type="password"]:disabled,
.input-container input[type="number"]:disabled,
.input-container select:disabled {
  color: #777 !important;
  opacity: 1 !important;
}

.extrazone .input-container:has(> #emailAddress:disabled) {
  display: none;
}

.input-container input[type="number"] {
  width: 33%;
  height: 20px;
  text-align: center;
  border-radius: 0;
  padding: 0;
}

#birthdate_day,
#birthdate_month,
#birthdate_year {
  display: none !important;
}

/* Label gözüktüğü için placeholder' i saklıyorum */
.input-container input::placeholder {
  color: transparent;
}

/* Label gözüktüğü için placeholder' i saklıyorum */
.input-container input[type="number"]::placeholder {
  color: gray;
}

.validation-error p,
.error-field {
  padding: 0 !important;
  color: var(--theme-color) !important;
  text-align: left;
  font-family: Gotham !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  background-color: white;
}

.validation-error a {
  color: black;
  padding-left: 10px;
}

/* #ces-register-form .input-container:nth-last-child(2) label,
#login-page-form .input-container:nth-last-child(2) label{
  height: initial !important;
  background: none !important;
} */

.input-container .optin {
  position: relative !important;
  top: initial !important;
  left: initial !important;
  transform: initial !important;
  width: 100% !important;
  height: initial !important;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  box-sizing: border-box;
  margin-top: 15px;
  margin-left: -13px;
  padding-left: 14px;
  pointer-events: initial !important;
}

/* custom checkbox kullanılacağı için orjinali gizleniyor. */
#marketingConsentRegistration,
#personalizationConsentRegistration,
#termsAndConditions {
  display: none !important;
}

.input-container .optin .checkmark::before {
  opacity: 0;
  content: "";
  width: 6px;
  height: 10px;
  transform: rotate(45deg);
  border-bottom: 3px solid white;
  border-right: 3px solid white;
}

.input-container .optin .checkmark {
  /* position: absolute;
  top: 10px;
  left: 10px; */
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 2px;
  box-sizing: border-box;
  background-color: rgb(220, 220, 230);
  transition: background 0.2s;
}

.input-container input[type="checkbox"]:checked ~ .checkmark {
  background-color: var(--theme-color) !important;
}

.input-container input[type="checkbox"]:checked ~ .checkmark::before {
  opacity: 1;
}

.input-container .optin .label-checkbox {
  position: initial !important;
  top: initial !important;
  left: initial !important;
  transform: initial !important;
  width: calc(100% - 50px);
  height: initial !important;
  padding: 0;
  font-size: 12px;
  font-family: Gotham;
  font-weight: 400;
  color: var(--text-color);
  line-height: 16px;
  background: none !important;
  border-radius: 0 !important;
  padding-left: 15px !important;
  pointer-events: auto;
}

.input-container .optin input[type="checkbox"] {
  display: none;
}

.input-container .optin .label-checkbox a,
.input-container .optin .label-checkbox a:link,
.input-container .optin .label-checkbox a:visited,
.input-container .optin .label-checkbox a:active,
.input-container .optin .label-checkbox a:focus,
.optin a,
.optin a:link,
.optin a:visited,
.optin a:active,
.optin a:focus {
  color: red;
  pointer-events: auto;
}

.input-container .optin .label-checkbox a:hover {
  color: gray;
}

.is-center {
  font-family: Gotham;
  font-size: 15px;
}

.redirect-page {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  margin: 0;
  overflow: hidden;
  /* background: white url(./../images/login-top-wave.png) top center / 100% no-repeat; */
}

.redirect-page img {
  width: 80px;
  height: auto;
  margin-top: 90px;
}

.loader-field {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 200px;
  box-sizing: border-box;
  background-color: white;
}

/* SUBMİT BUTONU */
.ces-form-submit {
  width: 100%;
  height: 45px;
  border-radius: 25px;
  background: var(--theme-color);
  color: white;
  border: none;
  outline: none;
  font-family: Gotham;
  font-weight: 500;
  font-size: 14px;
  margin-top: 20px;
}

.ces-form-submit:hover {
  background: var(--theme-hover);
}

.ces-form-submit:active {
  background: var(--theme-active);
}

.req {
  display: none !important;
}

/* ----- FORM SAYFALARI İÇİN GEREKLİ STİLLER ------- */

/* social login container  */
#janrainEngageEmbed > div:nth-last-child(1),
#janrainEngageEmbed > .social-buttons-wrapper {
  display: flex !important;
  justify-content: center;
  gap: 25px;
  align-items: center;
}

#janrainEngageEmbed .validation-error {
  margin-top: -20px !important;
}

#janrainEngageEmbed .validation-error p {
  margin: 0 !important;
  padding: 0 !important;
}

#social-apple,
#social-facebook,
#social-googleplus,
#new-social-facebook,
#new-social-google {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 55px !important;
  max-width: 55px !important;
  height: 55px !important;
  min-height: 55px !important;
  box-sizing: border-box;
  border-radius: 12px !important;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.08);
  border: 1px solid #eceeef !important;
}

/* facebook button text */
#social-apple .provider-label,
#social-googleplus .provider-label,
#social-facebook .provider-label,
#new-social-facebook .provider-label,
#new-social-google .provider-label {
  display: none !important;
}

#social-facebook,
#new-social-facebook {
  background: white url(../images/social/facebook.png) center / 25px no-repeat !important;
  color: white !important;
}

#social-apple {
  background: white url(../images/social/apple.png) center / 25px no-repeat !important;
  color: white !important;
}

#social-googleplus,
#new-social-google {
  background: white url(../images/social/google.png) center / 25px no-repeat !important;
}

#social-googleplus .provider-icon,
#social-apple .provider-icon,
#social-facebook .provider-icon {
  display: none;
}

.janrainSwitchAccountLink {
  font-family: Gotham !important;
  font-size: 14px !important;
  /* color: var(--theme-color) !important; */
  font-weight: 700;
}

.birthdate-field {
  width: calc(33% - 5px) !important;
}

.birthdate-field:nth-of-type(2) {
  margin: 0 8px !important;
}

.input-container:has(.birthdate-field) .validation-error {
  clear: both;
  width: 100%;
  margin-top: 6px;
}

/* Doğum tarihi satırında aynı hizada olan label'ı gizle */
.input-container:has(.birthdate-field) > label,
div:has(> .birthdate-field) > label {
  display: none !important;
}

/* 1. select: Gün, 2. select: Ay, 3. select: Yıl - parent .input-container veya div (SDK yapısına göre) */
.input-container label.birthdate-day-label {
  display: block !important;
  position: absolute;
  left: 10px !important;
  top: 25px;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 10px;
  color: #909ca2;
  z-index: 22;
}

.input-container label.birthdate-month-label {
  display: block !important;
  position: absolute;
  left: calc(33% + 14px) !important;
  top: 25px;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 10px;
  color: #909ca2;
  z-index: 22;
}

.input-container label.birthdate-year-label {
  display: block !important;
  position: absolute;
  left: calc(66% + 14px) !important;
  top: 25px;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 10px;
  color: #909ca2;
  z-index: 22;
}

/* Parent'ta position: relative yoksa ::after konumlansın diye */
.input-container:has(.birthdate-field),
div:has(> .birthdate-field) {
  position: relative;
}

#socialLogin {
  margin-top: 10px;
}

.grecaptcha-badge {
  display: none !important;
}

.delete-button {
  background: none !important;
  color: red;
  margin-bottom: 50px;
}

:has(> #residencyCountry) {
  display: none;
}

.ces-sign-in-form.registerUser {
  margin-bottom: 50px;
}

#ces-register-form :has(> #gender),
#ces-sign-in-form.registerUser :has(> #gender) {
  display: none;
}

.step-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.step-indicator {
  display: block;
  flex: 0 0 auto;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 999px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: width 180ms ease;
}

.step-indicators::before,
.step-indicators::after,
.step-indicator::before,
.step-indicator::after {
  display: none !important;
  content: none !important;
}

.step-indicator:nth-of-type(1) {
  background-color: #e30613 !important;
}

.step-indicator:nth-of-type(2) {
  background-color: #ff6d00 !important;
}

.step-indicator:nth-of-type(3) {
  background-color: #ffd400 !important;
}

.step-indicator.active {
  width: 20px !important;
}

.form-nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
}

.form-nav .button-primary {
  width: 100%;
  height: 45px;
  border: none;
  border-radius: 25px;
  outline: none;
  background: var(--theme-color);
  color: white;
  font-family: Gotham;
  font-size: 14px;
  font-weight: 500;
}

.form-nav .button-primary:hover {
  background: var(--theme-hover);
}

.form-nav .button-primary:active {
  background: var(--theme-active);
}

.ces-form-paragraph {
  font-family: Gotham;
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  text-align: center;
  margin-top: 8px;
  margin-bottom: 0;
  padding-left: 25px !important;
  padding-right: 25px !important;
  box-sizing: border-box;
}

.container:has(#step-indicators .step-indicator:nth-of-type(3).active) > .login-subtitle {
  display: none;
}

.form-nav #prev.button-primary {
  background: none !important;
  border: none !important;
  color: #a2acb1 !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px;
}

.form-nav #prev.button-primary:hover,
.form-nav #prev.button-primary:active {
  background: none !important;
}

.tablet #social-apple,
.tablet #social-facebook,
.tablet #social-googleplus,
.tablet #new-social-facebook,
.tablet #new-social-google,
.desktop #social-apple,
.desktop #social-facebook,
.desktop #social-googleplus,
.desktop #new-social-facebook,
.desktop #new-social-google {
  width: 100px !important;
  min-width: 100px !important;
  box-shadow: none !important;
}
