/* Googlefont Poppins CDN Link */
/* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@500;700&display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Tajawal', sans-serif;
}
html{
  /* font-size: 62.5%; */
}
body{
  min-height: 100vh;
  text-align: center;
  /* background-image: url("https://www.transparenttextures.com/patterns/cubes.png"); */
  /* background-image: url("https://www.transparenttextures.com/patterns/black-thread-light.png"); */
  background-image: url("../app-Images/qiamback.png") ;
  display: flex;
  flex-direction: column;
}

a{
  text-decoration: none;
  text-decoration-color: rgba(37, 97, 66, 0.836);
} 
a:hover{
  color: rgba(45, 120, 81, 0.836);
}
.btn-primary{
  background:  rgba(37, 97, 66, 0.836);
  border: none;
  border-radius: 20px;
  width: 200px;
  /* website.css's shared .btn rule sets display:inline-flex with no
     justify-content, so this button's fixed width left its text pinned to
     the flex-start edge (the right side, in RTL) instead of centered. */
  justify-content: center;
}
.btn-primary:hover{
  background: rgba(45, 120, 81, 0.836);
}
footer {
  background-color:  rgba(37, 97, 66, 0.836);
  /* font-size: 15px; */
  height: 4rem;
  /* margin-top: 10px; */
  color: white;
  font-family: "Tajawal", sans-serif;
  /* margin-top: auto; */
  padding: 20px;
  /* padding: 2rem; */
  margin-top: auto;
}
.overlay{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(134, 223, 222, 0.221);
  /* background-color: rgb(56, 165, 238, 0.5); */
}
section{
  /* position: relative;
  height: calc(100vh - 3rem);
  width: 100%;
  background: url('/app-Images/Tarteel.png') ; */
  /* background: url('Tarteel.png') no-repeat top center / cover; */
  /* overflow: hidden;
  opacity: 20%;
  background-size: cover; */
}
h1,h2,h3,h4,h5,h6 {
  color: rgba(37, 97, 66, 0.836);
}
nav{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 70px;
  background: rgba(37, 97, 66, 0.836);;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  z-index: 99;
}
nav .navbar{
  height: 100%;
  max-width: 1250px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  /* background: red; */
  padding: 0 50px;
}
.navbar .logo a{
  font-size: 30px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
nav .navbar .nav-links{
  line-height: 70px;
  height: 100%;
}
nav .navbar .links{
  display: flex;
}
nav .navbar .links li{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  padding: 0 14px;
}
nav .navbar .links li a{
  height: 100%;
  text-decoration: none;
  white-space: nowrap;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}
.links li:hover .centers-arrow,
.links li:hover .staff-arrow,
.links li:hover .student-arrow,
.links li:hover .events-arrow,
.links li:hover .users-arrow{
  transform: rotate(180deg);
  }

nav .navbar .links li .arrow{
  /* background: red; */
  height: 100%;
  width: 22px;
  line-height: 70px;
  text-align: center;
  display: inline-block;
  color: #fff;
  transition: all 0.3s ease;
}
nav .navbar .links li .sub-menu{
  position: absolute;
  top: 70px;
  left: 0;
  line-height: 40px;
  background: rgba(37, 97, 66, 0.836);;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  border-radius: 0 0 4px 4px;
  display: none;
  z-index: 2;
  padding: 0 10px;
}
nav .navbar .links li:hover .centers-sub-menu,
nav .navbar .links li:hover .staff-sub-menu,
nav .navbar .links li:hover .student-sub-menu,
nav .navbar .links li:hover .events-sub-menu,
nav .navbar .links li:hover .users-sub-menu{
  display: block;
}
.navbar .links li .sub-menu li{
  padding: 0 22px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.navbar .links li .sub-menu a{
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}
.navbar .links li .sub-menu .more-arrow{
  line-height: 40px;
}
.navbar .links li .centers-more-sub-menu{
  /* line-height: 40px; */
}
.navbar .links li .sub-menu .more-sub-menu{
  position: absolute;
  top: 0;
  left: 100%;
  border-radius: 0 4px 4px 4px;
  z-index: 1;
  display: none;
}
.links li .sub-menu .more:hover .more-sub-menu{
  display: block;
}
.navbar .search-box{
  position: relative;
   height: 40px;
  width: 40px;
}
.navbar .search-box i{
  position: absolute;
  height: 100%;
  width: 100%;
  line-height: 40px;
  text-align: center;
  font-size: 22px;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.navbar .search-box .input-box{
  position: absolute;
  right: calc(100% - 40px);
  top: 80px;
  height: 60px;
  width: 300px;
  background: rgba(37, 97, 66, 0.836);;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s ease;
}
.navbar.showInput .search-box .input-box{
  top: 65px;
  opacity: 1;
  pointer-events: auto;
  background: rgba(37, 97, 66, 0.836);;
}
.search-box .input-box::before{
  content: '';
  position: absolute;
  height: 20px;
  width: 20px;
  background: rgba(37, 97, 66, 0.836);;
  right: 10px;
  top: -6px;
  transform: rotate(45deg);
}
.search-box .input-box input{
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 4px;
  transform: translate(-50%, -50%);
  height: 35px;
  width: 280px;
  outline: none;
  padding: 0 15px;
  font-size: 16px;
  border: none;
}
.navbar .nav-links .sidebar-logo{
  display: none;
}
.navbar .bx-menu{
  display: none;
}
@media (max-width:920px) {
  nav .navbar{
    max-width: 100%;
    padding: 0 25px;
  }

  nav .navbar .logo a{
    font-size: 27px;
  }
  nav .navbar .links li{
    padding: 0 10px;
    white-space: nowrap;
  }
  nav .navbar .links li a{
    font-size: 15px;
  }
}
@media (max-width:975px){
  nav{
    /* position: relative; */
  }
  .navbar .bx-menu{
    display: block;
    cursor: pointer;
  }
  nav .navbar .nav-links{
    position: fixed;
    top: 0;
    left: -100%;
    display: block;
    max-width: 300px;
    width: 100%;
    background:  rgba(37, 97, 66, 0.836);
    line-height: 40px;
    padding: 20px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.5s ease;
    z-index: 1000;
  }
  .navbar .nav-links .sidebar-logo{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .sidebar-logo .logo-name{
    font-size: 25px;
    color: #fff;
  }
    .sidebar-logo  i,
    .navbar .bx-menu{
      font-size: 25px;
      color: #fff;
    }
  nav .navbar .links{
    display: block;
    margin-top: 20px;
  }
  nav .navbar .links li .arrow{
    line-height: 40px;
  }
nav .navbar .links li{
    display: block;
  }
nav .navbar .links li .sub-menu{
  position: relative;
  top: 0;
  box-shadow: none;
  display: none;
}
nav .navbar .links li .sub-menu li{
  border-bottom: none;

}
.navbar .links li .sub-menu .more-sub-menu{
  display: none;
  position: relative;
  left: 0;
}
.navbar .links li .sub-menu .more-sub-menu li{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.links li:hover .centers-arrow,
.links li:hover .staff-arrow,
.links li:hover .student-arrow,
.links li:hover .events-arrow,
.links li:hover .users-arrow{
  transform: rotate(0deg);
  }
  .navbar .links li .sub-menu .more-sub-menu{
    display: none;
  }
  .navbar .links li .sub-menu .more span{
    /* background: red; */
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
  }

  .links li .sub-menu .more:hover .more-sub-menu{
    display: none;
  }
  nav .navbar .links li:hover .centers-sub-menu,
  nav .navbar .links li:hover .staff-sub-menu,
  nav .navbar .links li:hover .student-sub-menu,
  nav .navbar .links li:hover .events-sub-menu,
  nav .navbar .links li:hover .users-sub-menu{
    display: none;
  }
.navbar .nav-links.show1 .links .centers-sub-menu,
  .navbar .nav-links.show3 .links .staff-sub-menu,
  .navbar .nav-links.show4 .links .student-sub-menu,
  .navbar .nav-links.show5 .links .events-sub-menu,
  .navbar .nav-links.show6 .links .users-sub-menu,
  .navbar .nav-links.show2 .links .more .more-sub-menu{
      display: block;
    }
    .navbar .nav-links.show1 .links .centers-arrow,
    .navbar .nav-links.show3 .links .staff-arrow,
    .navbar .nav-links.show4 .links .student-arrow,
    .navbar .nav-links.show5 .links .events-arrow,
    .navbar .nav-links.show6 .links .users-arrow{
        transform: rotate(180deg);
}
    .navbar .nav-links.show2 .links .more-arrow{
      transform: rotate(90deg);
    }
}
@media (max-width:370px){
  nav .navbar .nav-links{
  max-width: 100%;
} 
}




/* From Original */

#maxRows {
  width: 40%;
  height: 30px;
  width: 100px;
  font-weight: bold;
}

.hr-Line {
  width: 60%;
  color: rgba(37, 97, 66, 0.836);
}

.userName {
  position: relative;
  padding-left: 300px;
}

.container {
  /* direction: rtl; */
  margin-top: 1%;
  width: 80%;
}


.required label:after {
  content: "*";
  color: red;
}

/* input:read-only, textarea:read-only {
      background-color: #ccc;
    } */
    .user-icon {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      display: flex;
      float: left;
    }
    .test-logo {
      display: flex;
      position: fixed;
    } 
     .test-logo li , img{
      position: relative;
    }

    /* @media (max-width: 975px){
      .links {
        display: flex;
        position: fixed;
        top: 0;
      }
      .test-logo  {
        position: fixed;
      }
    } */
    
.photoStyle {
  display: block;
  width: 160px;
  height: 180px;
  border: 1px double black;
  box-shadow: 0px 0px 10px 0px gray;
  opacity: 90%;
  margin: 0 auto;
}
.photoStyle2 {
  display: block;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0),
    0 6px 36px rgba(0, 0, 0, 0.13);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0), 0 6px 36px rgba(0, 0, 0, 0.13);
  border: 3px solid #fff;
  animation: rotation 2s infinite linear;
}
.photoStyle3 {
  display: block;
  margin: 0 auto;
  width: 70%;
  height: 200px;
  border: 2px double rgba(37, 97, 66, 0.836);
  box-shadow: 0px 0px 10px 0px gray;
  }
.photoStyle4 {
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 200px;
  border: 3px solid rgba(37, 97, 66, 0.836);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0), 0 6px 36px rgba(0, 0, 0, 0.13);
}
.photoStyle5 {
  display: block;
  width: 160px;
  height: 180px;
  border: 1px double black;
  box-shadow: 0px 0px 10px 0px gray;
  opacity: 90%;
  margin: 0 auto;
}
.photoStyle6 {
  display: block;
  width: 100%;
  height: 100px;
  /* border: 1px solid black; */
  /* box-shadow: 0px 0px 10px 0px gray; */
  /* opacity: 90%; */
  /* margin: 0 auto; */
}
.outer {
  width: 100%;
  text-align: right;
  margin-right: 20px;
  padding: 20px;
  margin: 10px;
  display: flex;
  flex-direction: column;
  /* display: grid;
  grid-template-columns: repeat(3, 3fr);
  grid-column-gap: 25px;
  grid-row-gap: 25px; */
}
.outer > div img {
  max-width: 100%;
}

.multi-image-upload {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 300px;
  border: 2px double rgba(37, 97, 66, 0.836);
  box-shadow: 0px 0px 10px 0px gray;
  }
@media (max-width:768px) {
  .multi-image-upload{
    /* width: 80%;
    height: 80%; */
    margin-bottom: 20px;
  }
}

.inner {
  display: inline-block;
}

.multi-images-outer {
  padding: 20px 50px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  column-gap: 80px;
  row-gap: 1em;
}
.outer-test > img {
  width: 100%;
}


.image-upload{
  /* padding-right: 30px;
  display: grid;
  grid-template-columns: 50px 50px 50px 50px;
  column-gap: 20px; */
  display: flex;
  align-items: center;
}


.carousel-frame1 {
  width: 100%;
  text-align: center;
  margin-right: 20px;
  margin: 10px;
  display: grid;
  grid-template-columns: repeat(3, 3fr);
}
.carousel-frame2 {
  width: 100%;
  display: grid;
  justify-content: center;
  justify-items: center;
}

.carousel-frame2 .carousel-item {
  height: 350px;
  width: 500px;
  color: white;
  position: relative;
  border-radius: 10px;
  margin: 5px 10px;
  align-items: center;
  box-shadow: 0px 0px 10px 0px grey;
}

.overlay-image{
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  top: 10px;
  background-position: center;
  background-size: cover ; 
  border: 1px solid grey;
  border-radius: 10px;
}
.carousel-control-next,
.carousel-control-prev /*, .carousel-indicators */ {
    filter: invert(100%);
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
}
.carousel-control-next {
  left: 0;
}
.carousel-control-prev {
  right: 100;
}

.carousel-inner::after{
  content: '';
  display: block;
  clear: both;
}
.carousel .carousel-indicators li.active {background-color: rgba(37, 97, 66, 0.836);}
.carousel .carousel-indicators li {background-color: lightgray;}

#activityCarousel li {
  height: 20px;
  width: 20px;
  border-radius: 50%;
}

@media (max-width:768px){
  .carousel-frame2 .carousel-item {
    width: 280px;
    height: 170px;
  }
  .overlay-image{
    width: 260px;
    height: 150px;
  }
  .carousel-control-next-icon,
.carousel-control-prev-icon {
 width: 20px;
 height: 20px;
}
#activityCarousel li {
  height: 10px;
  width: 10px;
}
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

.inlineCheck {
  color: red;
}
.specialSpan {
  color: rgba(37, 97, 66, 0.836);
  font-weight: bold;
}
input[type="checkbox"] {
  /* width: 1.2rem;
  height: 1rem; */
  display: inline;
}

#map {
  height: 400px;
  width: 100%;
}

table.table-fit {
  width: auto !important;
  table-layout: auto !important;
}
table.table-fit thead th,
table.table-fit tfoot th {
  width: auto !important;
}
table.table-fit tbody td,
table.table-fit tfoot td {
  width: auto !important;
}
.addButtonDiv {
  text-align: right;
  /* padding: 20px; */
}
/* .logo {
  align-content: center;
  transition: all 0.5s;
  z-index: 997;
  height: 100px;
  width: 100px;
  box-shadow: 3px 1px 15px 1px rgba(37, 97, 66, 0.836);
} */
.print-logo {
  align-content: center;
  /* transition: all 0.5s; */
  /* z-index: 997; */
  height: 100px;
  width: 100px;
  border: 1px solid;
}

#header .logo {
  font-size: 30px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.8px;
  /* font-family: "Poppins", sans-serif; */
  font-family: "Tajawal", sans-serif;
}
#header .logo a {
  color: rgba(37, 97, 66, 0.836);
}
#header .logo a span {
  color: rgba(37, 97, 66, 0.836);
}
#header .logo img {
  max-height: 40px;
  box-shadow: 2px 2px lightgray;
}
.user-icon {
  width: 30px;
  height: 30px;
  border-radius: 100px;
  box-shadow: 0 0 1px 1px lightgrey;
}
a {
  color: rgb(15, 135, 129);
}
.card-header {
  background-color: rgba(37, 97, 66, 0.836);
  color: white;
}
.card-frame{
  padding: 10px;
}
.photoButton {
  padding: 20px 20px;
  display: flex;
}
.icons {
  width: 30px;
  height: 30px;
  margin: 0 5px;
}
.print-icons {
  width: 30px;
  height: 30px;
  margin: 10px;
  display: block;
  text-align: left;
  box-shadow: 3px 3px 3px grey;
}
.file-icons {
  width: 50px;
  height: 50px;
  margin: 10px;
  /* padding: 20px; */
}

.form-label {
  display: inline-block;
}
.form-text {
  width: 10%;
  height: 40px;
}
.detail-text-large {
  width: 40%;
}
.detail-text-small {
  width: 20%;
}

.inactiveLink {
  pointer-events: none;
  cursor: default;
}
.formFields{
  text-align: right;
  display:block ;
  padding: 10px 10px;
  /* margin: 20px; */
  /* float: right; */
}

/* .printableContainer {
  direction: rtl; 
  margin: 1.5em;
  width: 80%;
} */


.tab-frame{
  padding: 20px 0px;
}
/* .social_links1{
  display: inline;
  justify-content:center;
  padding: 20px;
} */
.formPhotoStyle {
  display: block;
  width: 160px;
  height: 180px;
  border: 1px double black;
  float: left;
  box-shadow: 0px 0px 10px 0px gray;
  opacity: 90%;
}

.thumbnailPhotoStyle {
  width: 30px;
  height: 30px;
  box-shadow: 0px 0px 10px 0px gray;
}

.thumbnailPhotoStyle:hover{
  cursor: pointer;
  width: 100px;
  height: 100px;
  transition: all 1s;       
  transform-origin: 0% 100%;
}

.card {
  margin: 0 2em 0.5em;
  box-shadow: 2px 6px 8px 0 rgba(22, 22, 26, 0.18);
  border: none;
}
.userprofile-card {
  width: 50%;
  /* margin: 0 2em 0.5em; */
  box-shadow: 2px 6px 8px 0 rgba(22, 22, 26, 0.18);
  /* border: none; */
  background: white;
  margin: auto;
  margin-top: auto;
  margin-bottom: 30px;
}

.card .img-wrapper {
    max-width: 100%;
    height: 13em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.card img {
    max-height: 100%;
}

@media (max-width: 767px) {
  .card .img-wrapper {
    height: 17em;
  }
}

.global-card{
  background:#fff; 
  /* color:lightseagreen ; */
}
.heart {
	/* font-size: 150px; */
  /* color: #e00; */
  float: right;
	animation: beat 2s infinite alternate;
	transform-origin: center;
}

/* Heart beat animation */
@keyframes beat{
	to { transform: scale(1.4); }
}

.detail-heading{
  display: block;
  flex-direction: row;
  /* margin: auto; */

}
.detail-heading-voice{
  display: flex;
  align-items: center;
  padding: 0 20px;
  flex-direction: column;
}
#student_voice{
  /* margin: auto; */
  width:60%;
  /* padding: 0 10px; */
}
.detail-heading-special{
  float: right;
  /* padding: 10px 10px 10px 10px; */
  margin: 10px auto;
  color: rgba(37, 97, 66, 0.836);
}

.photoFrame{
  display: grid;
  grid-auto-rows: px;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
  padding: 10px;
}

.voiceFrame{
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 0.5px;
  place-items: center end;
  justify-items: center;
}

.footer-images {
  margin: 20px 10px;
}
.dataTable{
  width:100%;
}
#staffTable,#classesTable,#studentsTable{
  width: 50%;
  margin:0 auto;
}

#register-section {
  /* width: 100%;  */
  /* height: 15rem; */
}
.register-card .card{
  font-size: 12px; 
  width: 80%; 
  height: 100%;
  margin: auto;
}
.register-card .card img{
  margin: auto;
  width: 80%;
  height: 100px;
  box-shadow: 0px 0px 10px 0px grey;
}

.qr-code-image{
  width: 5rem;
  height: 5rem;
}


@media (max-width:768px){
  html{
    font-size: 75%;
    /* margin: auto; */
  }
  .photoStyle5 {
    /* width: 100%;
    height: 60%; */
    }
  .photoStyle3 {
    /* width: 100%;
    height: 60%; */
    }
    #staffTable,#classesTable,#studentsTable{
      width: 50%;
    }
}


@media (orientation: landscape) and (max-height: 500px) {
  .header{
      height: 90vmax;
  }
}
@media (orientation: portrait) and (max-width: 500px) {
  #staffTable,#classesTable,#studentsTable{
    width: 100%;
  }
  .photoStyle5 {
    /* width: 60%;
    height: 60%; */
    }
  .file-icons {
    width: 30px;
    height: 30px;
  }
  .icons {
    width: 20px;
    height: 20px;
  }
  .carousel-frame1 img{
    margin: 50px;
  }
  .dataTable{
    margin-left: auto;
    margin-right: auto;
  }
  html{
    font-size: 75%;
    /* margin: auto; */
  }
  .image-upload{
    width: 100%;
    height: auto;
    flex-direction: row;
  }
  .carousel-frame2 .carousel-item  {
    /* margin: 0 auto; */
    width: 200px;
    height:150px;
  }

 .overlay-image{
  margin: auto;
      width: 60%;
      height:60%;
    }
    /* .overlay-image{
      width: -30%;
      height: 150px;
    } */
    .carousel-control-next-icon,
  .carousel-control-prev-icon {
   width: 20px;
   height: 20px;
  }
  #activityCarousel li {
    height: 10px;
    width: 10px;
  }
  .container{
    width: 100%;
  }
  .btn-primary{
    width: 50%;
  }
  /* #activityCarousel .overlay-image{
    width: 230px;
    height: 150px;
  }

  /* .row {
    display: flex;
    flex-direction: row;
  }
  .col {
    display: flex;
    flex-direction: column;
  } */
}

.owl-theme .owl-nav [class*='owl-'] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
}
.owl-theme .owl-nav [class*='owl-']:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none;
}

/* @media (max-width:768px){
  .carousel-item{
    width: 280px;
    height: 170px;
  }
  .overlay-image{
    width: 260px;
    height: 150px;
  } */



.security-box{
    background: #ffffff;
    border: 1px solid #e9ecef;
    transition: 0.3s ease;
}

.security-box:hover{
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.token-box{
    width: 120px;
    height: 55px;
    background: linear-gradient(135deg, rgba(37, 97, 66, 0.836), rgb(53, 90, 50));
    color: #fff;
    border: none;
    letter-spacing: 3px;
    border-radius: 12px;
}

.verify-box{
    flex: 1;
    min-width: 220px;
    height: 55px;
    border-radius: 12px;
    border: 1px solid rgba(37, 97, 66, .35);
    background: #fff;
    color: var(--fh-ink, #1e332a);
    font-size: 15px;
}

.verify-box:focus{
    border-color: var(--fh-green);
    background: #fff;
    box-shadow: 0 0 0 0.15rem rgba(37, 97, 66, .18);
}

/* The readonly box that displays the generated security code (apply-job's
   #tokenNo) is the code itself, not something to type into - filled green
   with white text sets it apart from the white input box next to it. */
#tokenNo.verify-box{
    background: var(--fh-green);
    color: #fff;
    border-color: var(--fh-green);
}

/* Bootstrap's .form-check spacing (padding-left / negative margin) assumes
   LTR and breaks apart in this RTL page, leaving a large gap between each
   checkbox and its label. Rebuilt as a simple flex row instead, which is
   direction-agnostic and keeps them tight together regardless of dir. */
.form-check{
    display: flex;
    align-items: center;
    gap: 8px;
    padding-inline-start: 0;
}
.form-check .form-check-input{
    margin: 0;
    float: none;
    flex-shrink: 0;
}
.form-check .form-check-label{
    margin: 0;
}

/* =========================================================
   Student Registration — brand-matched form styling
   Reuses the --fh-green / --fh-gold / --fh-ink variables
   already defined in FormHeader.ejs so this page matches the
   site header exactly.
   ========================================================= */
.reg-hero{
  background: linear-gradient(135deg, var(--fh-green), var(--fh-green-soft));
  color: #fff;
  border-radius: 22px;
  padding: 38px 32px;
  margin: 24px 0 -46px;
  text-align: center;
  box-shadow: 0 16px 34px rgba(30, 51, 42, .18);
}
.reg-hero h1{
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  color: #fff;
  margin-bottom: 8px;
}
.reg-hero p{
  color: rgba(255,255,255,.85);
  font-size: 15px;
  margin: 10px 0 28px;
}

.reg-shell{
  position: relative;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 10px 40px rgba(30, 51, 42, .12);
  border: 1px solid rgba(37, 97, 66, .08);
  padding: 8px;
  overflow: hidden;
}

.reg-toolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding: 22px 20px 6px;
}
/* Two of the three toolbar buttons are wrapped in <a> tags (for the modal
   trigger vs. plain links), so the <a> — not the <button> — is the actual
   flex item .reg-toolbar sizes. Both need matching flex rules, with the
   button stretched to fill its anchor, or the wrapped ones stay content-sized
   while only the bare button grows/shrinks. */
.reg-toolbar > a{
  flex: 1 1 200px;
  max-width: 260px;
  text-decoration: none;
}
.reg-toolbar > a .btn{
  width: 100%;
}
.reg-toolbar .btn{
  border-radius: 100px;
  font-weight: 700;
  font-size: 14.5px;
  padding: 10px 20px;
  /* Equal-width buttons regardless of label length, so the toolbar row
     reads as one consistent set instead of three different widths. */
  flex: 1 1 200px;
  max-width: 260px;
  text-align: center;
  /* These buttons render as flex containers (icon + label), so text-align
     alone does nothing - justify-content is what actually centers the
     icon/label pair instead of leaving it flush to one side. */
  justify-content: center;
  align-items: center;
}
.reg-toolbar .btn-outline-brand{
  background: #fff;
  color: var(--fh-green);
  border: 1.5px solid rgba(37, 97, 66, .28);
}
.reg-toolbar .btn-outline-brand:hover{
  background: rgba(37, 97, 66, .06);
  border-color: var(--fh-green);
  color: var(--fh-green);
}

.reg-section{
  padding: 26px clamp(16px, 4vw, 40px);
}
.reg-section + .reg-section{
  border-top: 1px solid rgba(37, 97, 66, .08);
}
.reg-section-title{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  color: var(--fh-green);
  font-size: 17px;
  margin-bottom: 18px;
}
.reg-section-title .num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--fh-green);
  color: var(--fh-gold);
  font-size: 14px;
  flex: 0 0 auto;
}

.reg-shell .form-control,
.reg-shell .form-select{
  border-radius: 12px;
  border: 1px solid #dfe4e0;
  padding: 10px 14px;
  font-size: 15px;
}
.reg-shell .form-control:focus,
.reg-shell .form-select:focus{
  border-color: var(--fh-green);
  box-shadow: 0 0 0 .15rem rgba(37, 97, 66, .15);
}
.reg-shell label{
  font-weight: 700;
  font-size: 14px;
  color: var(--fh-ink);
  margin-bottom: 6px;
  display: inline-block;
}
.reg-shell .required label:after{
  content: "*";
  color: #d9534f;
  margin-inline-start: 3px;
}

/* Document/photo uploads — the dashed frame is sized to the real-world
   proportions of what's being attached (passport photo / ID card / receipt),
   with the label, hint and filename placed below the frame rather than
   squeezed inside it. The full selected image is always shown intact
   (object-fit: contain) instead of being cropped to fill the frame. */
.reg-shell label.doc-upload{
  /* Beats the ".reg-shell label" rule's specificity above, which was
     forcing this back to Bootstrap's default display:inline-block and
     silently breaking the centering below. */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  margin: 0 auto;
  width: fit-content;
  text-align: center;
}
.doc-frame{
  border: 2px dashed rgba(37, 97, 66, .3);
  border-radius: 8px;
  background: rgba(37, 97, 66, .03);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: rgba(37, 97, 66, .4);
  font-size: 26px;
  transition: all .25s ease;
}
.doc-upload:hover .doc-frame{
  border-color: var(--fh-green);
  background: rgba(37, 97, 66, .06);
}
.doc-upload.has-file .doc-frame{
  border-style: solid;
  border-color: rgba(37, 97, 66, .35);
  background: #eef1ef;
}
.doc-frame .thumb{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.doc-frame .thumb img{
  width: 100%; height: 100%; object-fit: fill;
  background: #eef1ef;
}

/* Standard 35x45mm passport-photo ratio (0.778) */
.doc-frame.passport-size{ width: 132px; height: 170px; border-radius: 8px; }
/* Standard ID/credit-card ratio (85.6x53.98mm ≈ 1.586) */
.doc-frame.card-size{ width: 190px; height: 120px; border-radius: 10px; }
/* Taller frame for receipts/payment screenshots (often phone screenshots) */
.doc-frame.receipt-size{ width: 150px; height: 190px; border-radius: 8px; }

.doc-upload-info .label{
  font-weight: 700;
  color: var(--fh-ink);
  font-size: 14.5px;
}
.doc-upload-info .hint{
  font-size: 12.5px;
  color: #7a8a80;
  margin-top: 2px;
}
.doc-upload-info .filename{
  font-size: 12.5px;
  color: var(--fh-green);
  margin-top: 2px;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* OTP / email verification */
.otp-panel{
  border-radius: 16px;
  border: 1px solid rgba(37, 97, 66, .14);
  background: rgba(37, 97, 66, .03);
  padding: 18px 20px;
}
.otp-inline{
  display: flex;
  align-items: stretch;
  gap: 12px;
}
.otp-inline .verify-box{
  flex: 1;
  min-width: 0;
  border-radius: 12px;
}
.otp-panel .btn-send-code{
  background: var(--fh-green);
  color: #fff;
  border-radius: 12px;
  border: none;
  height: 55px;
  padding: 0 20px;
  font-weight: 700;
  white-space: nowrap;
  flex: 0 0 auto;
}
.otp-panel .btn-send-code:hover{ background: var(--fh-green-soft); }
.otp-panel .btn-send-code:disabled{ opacity: .6; cursor: not-allowed; }
.otp-status{ font-size: 13px; margin-top: 6px; display: block; }
.otp-status.ok{ color: #1e7e34; }
.otp-status.err{ color: #d9534f; }

/* IBAN / payment card */
.iban-card{
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, rgba(202,170,120,.16), rgba(202,170,120,.06));
  border: 1px solid rgba(202,170,120,.4);
  border-radius: 16px;
  padding: 16px 18px;
}
.iban-card .iban-value{
  flex: 1;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--fh-ink);
  font-size: 15.5px;
  direction: ltr;
  text-align: center;
}
.iban-copy-btn{
  border: 1px solid rgba(37, 97, 66, .3);
  background: #fff;
  color: var(--fh-green);
  border-radius: 10px;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
  transition: all .2s ease;
}
.iban-copy-btn:hover{ background: var(--fh-green); color: #fff; }

/* Center tabs / cards */
.reg-center-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  border: none;
  margin-bottom: 22px;
}
.reg-center-tabs .nav-link{
  border-radius: 100px;
  font-weight: 700;
  color: var(--fh-green);
  border: 1px solid rgba(37, 97, 66, .25);
  padding: 8px 22px;
}
.reg-center-tabs .nav-link.active{
  background: var(--fh-green);
  color: #fff;
  border-color: var(--fh-green);
}
.reg-center-card{
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(30,51,42,.1);
  /* --fh-gold (#C9A44C) tint — matches the homepage's مراكزنا cards */
  border: 1px solid rgba(201, 164, 76, .35);
  height: 100%;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.reg-center-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(30,51,42,.16);
  border-color: var(--fh-gold);
}
.reg-center-card .card-header{
  background: var(--fh-green);
  color: var(--fh-gold);
  border: none;
  font-weight: 700;
}
/* Same treatment as the homepage's مراكزنا cards: full photo shown intact
   (object-fit:contain, not cropped) on a neutral tint, with a margin
   before it so it doesn't sit flush against the card header. */
.reg-center-card .img-frame{
  width: 100%;
  height: 130px;
  margin-top: 14px;
  background: rgba(37, 97, 66, .05);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.reg-center-card img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.reg-center-card .card-body{
  background: rgba(201, 164, 76, .045);
}
.reg-center-card .card-body p{
  font-size: 13px;
  margin-bottom: 6px;
}

.reg-submit-btn{
  background: var(--fh-green);
  border: none;
  border-radius: 100px;
  padding: 14px 46px;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  box-shadow: 0 14px 28px rgba(37, 97, 66, .28);
  transition: all .25s ease;
}
.reg-submit-btn:hover{
  background: var(--fh-green-soft);
  transform: translateY(-2px);
}
.reg-submit-btn:disabled{
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

.reg-centers-heading{
  color: var(--fh-green);
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.reg-centers-arrow{
  color: var(--fh-gold);
  font-size: 14px;
  animation: reg-arrow-bounce 1.6s ease-in-out infinite;
}
@keyframes reg-arrow-bounce{
  0%, 100%{ transform: translateY(0); opacity: .6; }
  50%{ transform: translateY(4px); opacity: 1; }
}

@media (max-width: 767px){
  .reg-hero{ margin-bottom: -30px; }
  .iban-card{ flex-direction: column; }
  .otp-inline{ flex-direction: column; }
  .otp-panel .btn-send-code{ width: 100%; }
}

/* ===== Modern dialog: replaces native alert()/plain alert banners on
   StudentRegistration with a branded modal (used for both error + success). ===== */
.reg-dialog-overlay{
  position: fixed;
  inset: 0;
  background: rgba(20, 34, 27, .55);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
}
.reg-dialog-overlay.is-open{
  opacity: 1;
  visibility: visible;
}
.reg-dialog{
  background: #fff;
  border-radius: 18px;
  width: 100%;
  max-width: 420px;
  padding: 32px 28px 26px;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0,0,0,.28);
  transform: translateY(14px) scale(.96);
  transition: transform .25s ease;
}
.reg-dialog-overlay.is-open .reg-dialog{
  transform: translateY(0) scale(1);
}
.reg-dialog-icon{
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 26px;
}
.reg-dialog-icon.error{
  background: rgba(198, 40, 40, .12);
  color: #c62828;
}
.reg-dialog-icon.success{
  background: rgba(37, 97, 66, .12);
  color: var(--fh-green);
}
.reg-dialog h3{
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 800;
  color: var(--fh-ink);
}
.reg-dialog p{
  margin: 0 0 22px;
  color: #555;
  line-height: 1.7;
  font-size: 15px;
}
.reg-dialog-btn{
  border: none;
  border-radius: 12px;
  padding: 11px 34px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  background: var(--fh-green);
  color: var(--fh-gold);
  transition: background .2s ease, transform .2s ease;
}
.reg-dialog-btn:hover{
  background: var(--fh-green-soft);
  transform: translateY(-2px);
}
.reg-dialog-close{
  position: absolute;
  top: 14px;
  inset-inline-end: 16px;
  background: none;
  border: none;
  font-size: 18px;
  color: #999;
  cursor: pointer;
  line-height: 1;
}
.reg-dialog{ position: relative; }
.reg-dialog-close:hover{ color: #333; }


  