*{
  padding:0;
  margin:0;
  font-family: Helvetica, Sans-Serif;
}


.login{
  padding: 42px 42px 36px;
  border: 1px solid #eaeced;
  margin: 120px auto 167px;
  width: 460px;
  position: relative;
  margin-bottom: 157px;
}
.change{
    display: none;
    justify-content: center;
    margin-top: 18px;
}
.change p{
  margin: 0 5px 0 0 ;
  font-size: 15px;
}
.change a {
  text-decoration:none;
}
.login .logo{
  text-align: center;
  margin-bottom: 20px;
}
.login form .user , .login form .password{
  margin-bottom: 20px;
  position: relative;
}
.login form .password {
    margin-bottom: 14px;
}

.login form .user input , .login form .password input{
  height: 44px;
  width: 100%;
  padding: 0 10px;
  border: 1px solid #9da3a6;
  background: #fff;
  color: #000;
  font-size: 15px;
  border-radius: 4px;
  outline:none;
}
.login form .user input.error::-webkit-input-placeholder { color:  #C72F38; }
.login form .user input.error:-ms-input-placeholder { color:  #C72F38; }
.login form .user input.error::placeholder { color:  #C72F38; }
.login form .password input:hover{
  border-color:#0070ba;
}
.place , .place-pass{
  position: absolute;
  top: 12px;
  left: 11px;
  color: #D45E65;
  font-size: 15px;
  display: none;
}
.show , .hide{
  position: absolute;
  font-size: 14px;
  top: 12px;
  right: -6px;
  color: #0079ad;
  cursor: pointer;
  width: 13%;
  height: 32px;
  display: none;
}
.login form a{
  display: block;
  font-size: 16px;
  text-decoration:none;
  display: none;
  font-size: 15px;
}
.login form a:hover{
  text-decoration: underline;
}
.login button{
  width: 100%;
  margin-top:5px;
  min-height: 44px;
  font-weight: 600;
  margin-top: 0;
  color:#2C2E2F;
  font-size: 15px;
  background:#0070ba;
  outline:nones;
}
.login #log{
  margin-top:4px;
}
.login .or{
  text-align:center;
  position: relative;
  margin-top:15px;
}
.login .or:after{
  content: "";
  position: absolute;
  width: 46%;
  height: 1px;
  background: #CBD2D6;
  top: 50%;
  right: 0;
}
.login .or:before{
  content: "";
  position: absolute;
  width: 46%;
  height: 1px;
  background: #CBD2D6;
  top: 50%;
  left: 0;
}
.login .or p{
  font-size: 15px;
  color:#6c7378;
}
.login .btn-light{
  background: #E1E7EB;
}
.login .lang{
  margin-top: 45px;
}
.footer{
  padding-top: 14px;
  text-align: center;
  padding: 14px;
  background-color: #F7F9FA;
}
.footer ul{
  justify-content: space-evenly;
  width: 217px;
  margin: 0 auto;
}
.footer ul li{
  font-size: 11px;
  color: #666;
}

/* ___ erreur ___ */

.login .er , .login .er-pass{
  font-size: 15px;
    position: absolute;
    background: #c72f38;
    width: 100%;
    color: #fff;
    height: 34px;
    padding-top: 7px;
    display: none;
}
.login .er p , .login .er-pass p{
  margin-left: 10px;
}
.login .er-img{
  position: absolute;
  top: 7px;
  right: 6px;
  display: none;
}

.loader {
  position: absolute;
     top: 43%;
    left: 48%;
  border: 8px solid #2a5bb5;
  border-radius: 50%;
  border-top: 8px solid #3498db;
  width: 50px;
  height: 50px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 1s linear infinite;
  display: none;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* ___________ =====> CC <====== _______ */

.cardd {
  background: #fff;
  margin: 0 auto;
  height: 900px;
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}
.cardd .logo{
  margin: 0 48%;
  width: 50%;
  padding-top: 25px;
  display: flex;
  justify-content: space-between;
}
.cardd .logo img{
  width:24px;
}
.cardd h2{
  font-size: 28px;
  font-family: var(--bs-font-sans-serif);
  font-weight: 400;
  margin:35px 0 20px 0;
}
.cardd .card-image img{
  border-radius: 6px;
  background-size: 150px;
  min-height: 98px;
  box-shadow: 0 2px 4px 0 rgb(0 0 0 / 15%);
  width:150px;
}
.cardd .form{
  padding: 0px 26% 50px;
}
.form-card{
  position: relative;
}
.form-card .error, .inp-sms .error {
  color:  red;
  font-size:  12px;
  text-align: left;
}

/* ___ card-number ___*/

.form-card input , .card-type select{
  border-radius: 4px;
  border: 1px solid #9DA3A6;
  margin-top:15px;
  color:#000;
  height: 50px;
  line-height: 50px;
  padding: 16px 17px 0px;
  width: 100%;
  outline: none;
}  
.form-card input:hover {
  border-color:#009cde;
}
.form-card input: focus{
   border-color:#009cde;
}
.form-card label {
    position: absolute;
    top: 29px;
    left: 19px;
    pointer-events: none;
    color: #5A5B5C;
    font-size: 16px;
    padding-top: 0;
    font-family: var(--bs-font-sans-serif);
    font-weight: 500;
}
.cardd input::placeholder {
 font-size: 15px;
 font-weight:600;
 font-family: var(--bs-font-sans-serif);
}
.form-card , .card-type{
  position: relative;
}

.form-card input:focus ~ label,
.form-card input:valid ~ label,
.card-type label{
  top:20px;
  left: 17px;
 font-size:12px;
 color:#009cde;
 position: absolute;
}
.card-type label{
  color:#5A5B5C;
  font-family: var(--bs-font-sans-serif);
 font-weight: 600;}

/* ___card type ___ */

.card-type select{
  color: #5A5B5C;
  font-size: 0.9375rem;
   padding: 16px 13px 0px;
  font-weight: 500;
  font-family: var(--bs-font-sans-serif);
}
button{
  margin-top: 1.5rem;
  background-color: #0070ba;
  border-radius: 1.5rem;
  border: 0.0625rem solid #0070ba;
  color: #ffffff;
  cursor: pointer;
  font-size: 0.9375rem;
  margin-bottom: 1.5rem;
  min-width: 6rem;
  padding: 0.6875rem 1.4375rem;
  text-align: center;
  font-weight: 500;
  width: 100%;
  font-weight: 600;
  outline: none;

}

/* ___ SMS ___ */

.header-sms{
  background-image: linear-gradient(100deg,#0070ba,#1546a0);
  min-height: 72px;
  max-height: 84px;
}
.header-sms nav , .section , .footerr , .nav-res{
  width: 100%;
  max-width: 1024px;
  padding: 0 8px;
  margin: 0 auto;
  display: flex;
}
.nav-res{
  display: none;
  align-items: center;
  justify-content: space-between;
  padding-top: 15px;
}
.header-sms nav ul li {
  padding: 0 .925rem;
  color:#fff;
  font-size: .875rem;
}
.header-sms nav ul{
  display: flex;
  align-items: flex-end;
  margin-bottom:0;
}
.header-sms .logo img{
  padding: 1.25rem .75rem 0 0;
}
.header-sms .ul{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
section{
  background:#F5F7FA;
  padding-top:50px;
}
.section{
  display: flex;
  padding-bottom: 50px;
}
.search{
  width:250px;
  margin-top:20px;
}
.inp-search , .inp-sms{
  position: relative;
}
.inp-search .icon{
  position: absolute;
  top: 10px;
  left: 12px;
}
.inp-search .icon i{
  color: #aba7a7;
  font-weight: 500;;
}
.search input{
  border-radius: 4px;
  border: 1px solid #9DA3A6;
  height: 40px;
  width: 100%;
  padding:0 50px;
  outline: none;
}
.search hr{
  margin:30px 0;
}
.search p{
  color: #736d6d;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 20px;
}
.search h5{
  font-size: 14px;
  font-weight: 600;
  background: #fff;
  padding: 10px;
  border-left: 3px solid #3575ea;
}
.sms {
  background: #fff;
  width: 72%;
  margin-left: 30px;
  padding:30px 15px;
}
.sms h5{
  color:#403f3f;
  margin-bottom:30px;
}
.sms-bod{
  text-align: center;
  padding: 0px 165px;
}
.sms-bod img{
  width: 30%;
  margin-bottom:20px;
}
.sms-bod input {
  border-radius: 4px;
  border: 1px solid #9DA3A6;
  height: 40px;
  width: 100%;
  padding:0 20px;
  outline: none;
}
.sms .inp{
  display: flex;
  align-items: self-end;
}
.inp-sms p{
  font-size: 12px;
  font-weight: 700;
  color: #4949ff;
  position: absolute;
  top: 10px;
  right: 12px;
  cursor: pointer;
}
.footerr{
  display: block;
}
.footer-sms{
  background:#fff;
}
.footer-sms .footer-left{
  display: flex;
  justify-content: space-between;
}
.footer-sms .footer-left ul , .footer-sms .footer , .footer-sms .langue ul{
  display: flex;
  margin-bottom:10px;
}
.footer-sms .footerr{
  background:#fff;
  padding-top:30px;
}
.footer-sms ul li {
  font-size:12px;
  margin:0 7px;
  color:#777979;

}
.copy{
  display: flex;
  justify-content: flex-end;
  font-size:13px;
  color:#777979;
}
.copy ul{
  margin-left: 15px;
}
.copy ul li{
  margin:0 5px;
} 
.copy ul li:first-child{
  border-left: 1px solid #777979;
  padding-left:15px;
}
.footerr h5{
  font-size: 12px;
  font-weight: 600;
  color:#3d4444;
  margin-top: 15px;
}
.error{
  font-size: 13px;
  color:red;
  margin-top: 5px;
}
/* ____ MEDIA___ */

@media(max-width:767px){

  .login{
    border:none;
    margin:0;
    width: 100%;
    padding: 31px 42px 36px;
    margin-bottom: 290px;
  }
  .show, .hide{
    right: -8px;
  }
  .header-sms nav{
    display: none;
  }
  .nav-res{
    display: flex;
  }
    .section{
    display: block;
  }
  .search {
    width:100%;
  }
  .sms{
    padding:30;
    margin-left:0;
    width:100%;
  }
  .sms-bod{
    padding: 0 20px;
  }
}

@media(min-width: 500px) and (max-width: 991px){
  body .cardd .form {
    padding: 0px 6% 50px;
  }
}

@media(min-width: 768px) and (max-width: 1021px){
  .sms-bod{
    padding:0 20px;
  }
}