:root {
  /* colors */
  --main-color: #EFF6FF;
  --secondary-color: #c1033b;
  --link-color: #4988F5;
  
  --title-color: #234375;
  
  /* Socials colors */
  --main-bg-color: var(--main-color);
  --social-button-background: transparent;
  --button-main-background: #4988F5;
  --button-main-text-color: #ffffff;
  --button-main-background-hover: #346ED3;
	
  --button-secondary-color: #64748B;
  --button-secondary-background: transparent;
	--button-secondary-color-hover: #346ED3;
  --button-secondary-background-hover: rgba(59, 130, 246, 0.04);
  
  /* intro */
  --intro-title: var(--title-color);
  --intro-title-text: "Pour une meilleure expérience, connectez-vous";
  --intro-decoration: var(--secondary-color);
  
  /* content logo source  */
  --content-image-src: url("https://ifipconnect.azurewebsites.net/prod/assets/ifip-logo.svg");
  --content-image-margin: 24px 0;
  --content-image-display: none;
  --content-background-color: var(--main-bg-color);
  --content-border-bottom-color: rgba(0, 0, 0, 0.1);
  
  /* fonts */
  --main-font: "Inter", sans-serif;
  --text-color: #6B7280;
  
  /* input */
  --input-border-color: #D1D5DB;
  --white: #ffffff;

  /* Display header */
  --header-display: flex; /* Default */
  --content-width: 50%; /* Default */
}

body {
  font-family: var(--main-font);
  text-align: center;
  height: 100vh;
  width: 100vw;
}

html {
  height: 100vh;
  width: 100vw;
}

/* body.MESSAGES {
  --main-bg-color: #184d64;
} */

.home-logo-img {
  /* prettier-ignore */
  content: var(--content-image-src);
  margin:  var(--content-image-padding);
  display: var(--content-image-display);
}

.bg-primary {
  background-color: var(--content-background-color) !important;
  border-bottom: 1px solid;
  border-color: var(--content-border-bottom-color);
}
#api {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  position: relative;
	width: 100%;
}

/*
PAGE DE CONNEXION
*/
.claims-provider-list-buttons {
  width: 100%;
  margin: 0 24px;
  order: 1;
}

.divider {
  width: 100%;
  /* margin: 0 auto;*/
  order: 2;
  margin: 16px 0;
}
.divider h2 {
  text-align: center;
  color: var(--title-color);
  font-size: 0;
}
.divider h2::after {
  content: "Ou avec avec votre compte mail";
  font-size: 1rem;
}

@media (min-width: 576px) {
  .divider {
    margin: 30px 0;
  }
}
#localAccountForm {
  width: 100%;
  margin: 0 auto;
  order: 3;
}
#localAccountForm .intro {
  display: none;
}
.intro {
  font-family: var(--main-font);
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  color: var(--intro-title);
  width: 100%;
}
.intro h2 {
  color: var(--intro-title);
  margin: 30px 0;
  font-size: 0;
  display: flex;
  flex-direction: column;
}
.intro h2::before {
  content: var(--intro-title-text);
  font-family: var(--main-font);
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
}
.intro h2::after {
  font-family: var(--main-font);
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
}

/*
SOCIAL NETWORK
*/
.claims-provider-list-buttons .options {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0px 0 16px;
  padding: 0 20px;
}


.claims-provider-list-buttons .options div {
  display: flex;
  justify-content: center;
  align-items: center;
}

.ifip-interne {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ifip-interne button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  gap: 8px;
  width: 100%;
  max-width: 300px;
  border: 1px solid var(--button-secondary-color);
  border-radius: 6px;
  background: var(--button-secondary-background);
}
.ifip-interne button:hover {
  text-decoration: underline;
}
.ifip-interne button::before {
  content: "Connexion ";
}
.ifip-interne button::after {
  content: " interne";
}
.options div button::before {
  content: "";
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center center;
}
.options div button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  width: 100%;
  border-radius: 6px;
  padding: 8px 16px;
  gap: 8px;
}

.options div {
  width: 100%;
  max-width: 300px;
}

@media (min-width: 768px) {
  .claims-provider-list-buttons .options {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  .options div {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .options div button {
    font-size: 14px;
    width: 100%;
  }
}

/* plateform buttons */

.options button {
  color: var(--button-secondary-color);
  border: 1px solid var(--button-secondary-color) !important;
  background: transparent !important;
}

/* logos for different plateforms */
.options button#GoogleExchange::before {
  background-image: url("https://ifipconnect.azurewebsites.net/prod/assets/google.svg");
}
.options button#FacebookExchange::before {
  background-image: url("https://ifipconnect.azurewebsites.net/prod/assets/facebook.svg");
}
.options button#LinkedInExchange::before {
  background-image: url("https://ifipconnect.azurewebsites.net/prod/assets/linkedin.svg");
}
.options button#TwitterExchange::before {
  background-image: url("https://ifipconnect.azurewebsites.net/prod/assets/x.svg");
}
.entry {
  /* width: 100%; */
  margin: 0 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 45px;
}
.entry .entry-item label {
  display: none;
}
.entry .entry-item input {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 12px 10.5px;
  gap: 10.5px;
  background: var(--white);
  border: 1px solid var(--input-border-color);
  border-radius: 6px;
  font-family: var(--main-font);
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-color);
  width: 100%;
  max-width: 300px;
}

@media (min-width: 768px) {
  .entry .entry-item input {
    font-size: 14px;
  }
}

.entry .entry-item {
  width: 100%;
  max-width: 300px;
}

.entry .entry-item:nth-child(2) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.entry .entry-item:nth-child(2) input {
  order: 1;
  margin-bottom: 3px;
  width: 100%;

}
.entry .entry-item:nth-child(2) .password-label {
  order: 2;
  display: block;
  margin-bottom: 20px;
  font-size: 0.8rem;
  color: var(--link-color);
}
.entry .buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.entry .buttons button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  gap: 8px;
  width: 100%;
  max-width: 300px;
  color: var(--button-main-text-color);
  background: var(--button-main-background);
  border: 1px solid var(--button-main-background);
  border-radius: 6px;
}
.password-label a {
  color: var(--link-color);
}
@media (min-width: 597px) {
  .entry {
    width: 300px;
    margin: 0 auto;
  }
  .entry .buttons {
    display: flex;
    -ms-flex-pack: justify !important;
    justify-content: center !important;
  }
  .entry .buttons button {
    width: 100%;
  }
}

form .divider {
  display: none;
}

form .create {
  padding: 24px;
  width: 100%;
  height: 136px;
  position: sticky;
  bottom: 0;
  left: 0;
  background: var(--white);
  display: flex;
  -ms-flex-pack: justify !important;
  justify-content: center !important;
  align-items: center;
  gap: 8px;
}
form .create a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  width: 100%;
  border-radius: 6px;
  padding: 8px 16px;
  color: var(--button-secondary-color);
  border: 1px solid var(--button-secondary-color) !important;
  background: transparent !important;
  margin: 16px 0 0 0;
}

/*
PAGE CREATION DE COMPTE
*/

#attributeVerification .textInput {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 12px 10.5px;
  gap: 10.5px;
  width: 100%;
  max-width: 300px;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  font-size: 16px;
}
@media (min-width: 768px) {
  #attributeVerification .textInput {
    font-size: 14px;
  }
}

#attributeList, #attributeList ul {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.verificationControlContent, #verifying_blurb {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
	width: 100%;
}

.error  {
	color: #C11728;
	text-align: center;
}

.attrEntry {
  display: flex;
	flex-direction: column;
  justify-content: center;
	align-items: center;
	padding: 0 24px;
}

.attrEntry ul {
  width: 100%;
}

.attrEntry label {
  display: none;
}

.helpLink {
  display: none;
}

#attributeVerification {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

#attributeVerification .buttons {
  display: flex;
	flex-direction: column;
  justify-content: center;
  align-items: center;
	flex-wrap: wrap;
  gap: 16px;
}

#attributeVerification .buttons button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  gap: 8px;
  width: 100%;
  max-width: 300px;
  color: var(--button-main-text-color);
  background: var(--button-main-background);
  border: 1px solid var(--button-main-background);
  border-radius: 6px;
}



#attributeVerification #cancel {
  border: 1px solid var(--button-secondary-color);
  color: var(--button-secondary-color);
  background: var(--button-secondary-background);
	text-decoration: none;
}

#attributeList ul li {
  list-style-type: none;
}

ul {
  padding: 0;
}

.home-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  width: 100%;
  height: 100%;
  background: var(--main-bg-color);
}
@media (min-width: 768px) {
  .home-container {
    flex-direction: row;
    justify-content: flex-start;
    /* height: 100vh; */
    gap: 0;
  }
}
.home-header {
  position: relative;
  display: var(--header-display);
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 136px;
  width: 100%;
  background: #4988f5;
  overflow: hidden;
}
@media (min-width: 768px) {
  .home-header {
    align-items: start;
    justify-content: end;
    height: 100vh;
    max-height: initial;
    width: 50%;
  }
}
.home-header-logo {
  position: relative;
  height: 72px;
  max-width: 60%;
  max-height: 60%;
}
@media (min-width: 768px) {
  .home-header-logo {
    top: 50%;
    right: 32px;
    left: initial;
    transform: translateY(-50%);
  }
}
.home-header-logo:before {
  position: absolute;
  transform: translate(-50%, -50%);
  top: calc(50% - 13px);
  left: -80%;
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, #ffffff 99%, #ffffff 100%);
  border-radius: 8px;
  height: 8px;
  width: 347px;
  max-width: 20vw;
  opacity: 30%;
}
@media (min-width: 768px) {
  .home-header-logo:before {
    content: "";
  }
}
.home-intro {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: calc(100% - 136px);
}
@media (min-width: 768px) {
  .home-intro {
    width: var(--content-width);
    height: 100%;
    overflow: hidden;
  }
}
.home-intro-content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
@media (min-width: 768px) {
  .home-intro-content {
    overflow-y: scroll;
  }
}
.home-logo {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .home-logo {
    margin-top: 64px;
  }
}
.home-logo-main {
  height: 72px;
}
@media (min-width: 768px) {
  .home-logo-main {
    height: 96px;
  }
}
.home-description-container {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
}
.home-subTitle {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-size: 22px;
  line-height: 33px;
  text-align: center;
  color: #c11728;
}
.home-description {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #234375;
  width: 80%;
}
.home-footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 24px;
  width: 100%;
  height: 100%;
  max-height: 232px;
  background: #fff;
  font-family: "Inter", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 16.94px;
  padding: 12px;
}

.ellipse {
  position: absolute;
  background-color: white;
  height: 300%;
  width: 130%;
  border-radius: 45%;
  opacity: 8%;
  bottom: -175%;
  left: -98%;
}
@media (min-width: 768px) {
  .ellipse {
    height: 200vh;
    width: 200vw;
    border-radius: 50%;
    bottom: -50%;
    left: -185vw;
  }
}
.ellipse-bottom {
  display: none;
  height: 160vh;
  width: 160vw;
  bottom: -110vh;
  left: -100vw;
}
@media (min-width: 768px) {
  .ellipse-bottom {
    display: block;
  }
}


.button-secondary {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  background: #4988F5;
  border: 1px solid #4988F5;
  border-radius: 6px;
}

.buttons button:hover {
  background: var(--button-main-background-hover) !important;
  border: 1px solid var(--button-main-background-hover) !important;
}

#attributeVerification #cancel:hover, form .create a:hover, .ifip-interne button:hover {
  border: 1px solid var(--button-secondary-color-hover) !important;
  color: var(--button-secondary-color-hover) !important;
  background: var(--button-secondary-background-hover) !important;
	text-decoration: none !important;
}

.heading {
  width: 100%;
  text-align: center;
}