@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700;800;900&display=swap');

:root{
  /* --clr-accent-900: #fd5f00; */
  --clr-accent-900: rgb(5, 5, 204);

  --clr-primary-900: #000D29;
  --clr-primary-800: #0F3A5E;
  --clr-primary-700: rgb(5, 5, 204);
  --clr-primary-600: #5d50c6;
  --clr-primary-100: #E9EFFF;

  --clr-neutral-900: #000;
  --clr-neutral-800: #000000b3;
  --clr-neutral-700: #232323;
  --clr-neutral-600: rgba(0, 0, 0, 0.8);
  --clr-neutral-550: #cad2db;
  --clr-neutral-540: #7f8897;
  --clr-neutral-510: #F7FAFD;
  --clr-neutral-500: #666666;
  --clr-neutral-400: gray;
  --clr-neutral-300: #fafafa;
  --clr-neutral-100: #fff;

  --ff-primary: 'Poppins', sans-serif;;

  --fw-900: 900;
  --fw-800: 800;
  --fw-700: 700;
  --fw-600: 600;
  --fw-500: 500;
  --fw-400: 400;
  --fw-300: 300;

  --section-padding: 70px 0;

  --box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
  --overlay: linear-gradient(45deg, rgba(13,17,40,1) 0%, rgba(251,97,0,1) 100%);
}

/*----------------------------- 
    Reset
-------------------------------*/
*, *::before, *::after{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a{ 
  text-decoration: none;
}

ul, li, ol{
  list-style: none;
  padding: 0;
  margin: 0;
}

html{
  transition: all 0.3s ease;
  scroll-behavior: smooth;
  padding: 0 !important;
  margin: 0 !important;
}

body{
  font-family: var(--ff-primary);
  background-color: var(--clr-neutral-100);
  line-height: 1.8;
  padding: 0 !important;
  margin: 0 !important;
  direction: rtl;
}

input,
textarea{
    border: none;
    outline: none;
    resize: none;
}

input:focus,
label:focus,
button:focus,
textarea:focus{
    outline: none !important;
}

img{
  max-width: 100%;
}

.form-control:focus,
.form-control:active {
  outline: none !important;
  box-shadow: none !important;
}

.form-select:focus,
.form-select:active {
  outline: none !important;
  box-shadow: none !important;
}

button{
  background-color: transparent !important;
  border: transparent;
}

h1{
  font-weight: var(--fw-700);
}

h2{
  font-weight: var(--fw-600);
  font-size: 40px;
}

/*----------------------------- 
    Direction 
-------------------------------*/
.owl-carousel,
.bx-wrapper {
   direction: ltr; 
}
.owl-carousel .owl-item {
   direction: rtl; 
}

.navbar .navbar-collapse{
  flex-grow: 0 !important;
}

/*----------------------------- 
    Utitlity classes
-------------------------------*/
.primary-text{
  color: var(--clr-primary-800);
}
.bd-raduis{
  border-radius: var(--bd-raduis);
}

section{
  padding: var(--section-padding);
}

.card {
  border: none;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.section-title{
  text-align: center;
  margin-bottom: 2rem;
}

.section-title h2{
  color: var(--clr-neutral-600);
  font-size: 2.75rem;
  margin-bottom: 1.5rem;
  font-weight: 600
}

.section-title p{
  color: var(--clr-neutral-500);
}


@media(max-width: 763px){
  .section-title h2{
    font-size: 2.2rem;
  }
}
@media(max-width: 576px){
  .section-title h2{
    font-size: 1.8rem;
  }
}

.btn{
  padding: 0.375rem 0.75rem;
  transition: all 0.3s ease;
  border: 1px solid var(--clr-accent-900) !important;
  border-radius: 2.5rem !important;
}

.btn-contact{
    padding: 1rem 1.5rem;
}

.btn-apply{
  border-radius: 0 !important;
  padding: 0.5rem 1rem;
}

.btn:hover,
.btn:focus{
    background-color: transparent !important;
}

.btn-primary{
  background: var(--clr-accent-900);
  color: var(--clr-neutral-100) !important;
}

.btn-primary:hover,
.btn-primary:focus{
  background-color: transparent !important;
  color: var(--clr-accent-900) !important;
}

.btn-submit{
  background-color: var(--clr-accent-900) !important;
}

@media (max-width: 578px){
  .container{
    padding-inline: 25px;
  }
}

/*----------------------------- 
    Sub Navbar
-------------------------------*/
.sub-nav .navbar-brand{
    max-width: 160px;
}

.sub-nav .nav-text .row > *{
    padding: 0px !important;
}
    
.sub-nav i{
    color: var(--clr-accent-900);
    margin-inline: 1rem;
    font-size: 1.25rem;
}

.sub-nav .container{
    padding-left: 0px !important;
}

.sub-nav span{
    color: var(--clr-neutral-800);
   font-size: 15px;
}
.sub-nav h6{
    color: var(--clr-primary-800);
    font-weight: var(--fw-700);
    margin: 0;
    padding: 0;
}

.sub-nav ul a i,
.sub-nav ul svg{
  transition: all 0.2s ease-in-out;
  color: var(--clr-accent-900);
  margin-inline: 0.8rem;
}

.sub-nav ul a i:hover,
.sub-nav ul svg:hover{
  color: var(--clr-primary-900);
}

@media(max-width: 992px){
    .sub-nav .nav-text{
        margin-top: 2rem;
    }
    .sub-nav .nav-text div:nth-child(1),
    .sub-nav .nav-text div:nth-child(2){
        margin-bottom: 0.3rem;
    }
}

@media (max-width: 578px){
  .sub-nav .container{
      padding-left: 25px !important;
  }
}

/*----------------------------- 
    Navbar Header
-------------------------------*/
header nav{
    background-color: var(--clr-primary-900);
    color: var(--clr-neutral-100);
}

header nav .nav-link{
    color: var(--clr-neutral-100);
}

header nav .nav-item{
    padding: 0 0.8rem;
    font-weight: var(--fw-500);
}

header nav .nav-link.active,
header nav .nav-link:hover,
header nav .nav-link:focus{
  color: var(--clr-accent-900) !important;
}

header .navbar-toggler{
    font-size: 15px;
    color: var(--clr-neutral-100) !important;
}

header input{
    background-color: transparent !important;
    color: var(--clr-neutral-300) !important;
    border: none !important;
}

header input::placeholder{
    color: var(--clr-neutral-300) !important;
}

header .search{
    border: 1px solid var(--clr-neutral-300);
    border-radius: 3rem;
    height:54px;
    padding: 0 0.5rem;
    width: 550px;
}

header .search button{
    color: var(--clr-neutral-300) !important;
    height:54px;
    width:54px;
}

header .search img{
  height: 45px;
  width: 45px;
  padding-top: 10px;
}

header .results{
  background-color: var(--clr-neutral-100);
  z-index: 9999;
  width: 550px;
  min-height: 10vh;
  position: absolute;
  border-radius: 1rem;
  margin-top: 9px;
  color: var(--clr-primary-900);
  padding: 1.5rem;
  margin-right: 0.5rem;
}

header .results ul li{
  margin-top: 0.8rem;
  font-weight: var(--fw-500);
}

header .results ul li:hover{
  cursor: pointer;
  color: var(--clr-accent-900);
}

header .toggle-lang .dropdown-menu a{
  font-weight: 500;
  color: var(--clr-primary-900) !important;
} 

header .toggle-lang  .dropdown-menu {
  --bs-dropdown-min-width: 3rem !important;
}

header .navbar{
  display: flex;
  justify-content: space-between;
}

.header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: transform 0.3s ease;
}

@media(max-width: 992px){
    header .container{
        max-width: 1200px;
        background-color: var(--clr-primary-900);
        padding-inline: 5rem !important;
    }

    header .nav-item{
        margin: 0.6rem 0;
    }
}

@media (max-width: 678px){
  header .navbar-toggler{
    margin-top: 0.6rem;
  }
  header form{
      margin: 0.6rem 0;
  }

  header .container{
    padding-inline: 1.5rem !important;
  }

  header .search,
  header .results{
    width: 400px;
  }
   
}

@media (max-width: 540px){
  header .navbar-toggler{
      margin-top: 1rem;
  }
 
}

@media(max-width: 430px){
  header .search,
  header .results{
    width: 310px;
  }
  
}

@media(max-width: 330px){
  header .search,
  header .results{
    width: 250px;
  }
  
}

header .fa-circle{
  font-size: 13px;
  color: green;
}

/************************** Sign in & Sign Up Pages **************************/

#form{
  min-height: 88vh;
  padding: 1rem 0;
}

#form .form-container{
  background-color: var(--clr-neutral-100);
  box-shadow: var(--box-shadow);
  padding: 2.8rem;
}


#form.signup .form-container{
  padding: 2rem 2.8rem;
}

#form.signup {
  padding: 0 0 0.5rem;
}

#form .form-floating{
  margin: 2rem 0;
}

#form .form-floating label{
  color: var(--clr-neutral-500);
}

#form .form-floating input:focus{
  border-color: var(--clr-accent-900);
}

#form button{
  background: var(--clr-accent-900) !important;
  color: var(--clr-neutral-100) !important;
  margin: 0.5rem 0 2rem;
}

#form button:hover,
#form button:focus{
  background-color: var(--clr-neutral-100);
  color: var(--clr-accent-900) !important;
}

#form button:hover,
#form button:focus{
    background-color: transparent !important;
}

#form .hello-text{
  text-align: center;
  margin-bottom: 2rem;
  color: var(--clr-primary-800);
  font-weight: var(--fw-800);
  font-size: clamp(2rem, 3vw, 5rem);
}

#form .hello-text span{
  color: var(--clr-accent-900);
}

#form .signup-text{
  color: var(--clr-neutral-500);
  margin-bottom: 2rem;
}

@media (max-width: 768px){
  #form .form-container{
    padding: 1.5rem;
  }
  #form.signup .form-container{
    padding: 1.5rem;
  }
}


/************************** Inputs Pages **************************/
.inputs > div{
  	margin: 2rem 0;
    position: relative;
}

form input:focus,
form .form-select:focus,
form textarea:focus{
  border-color: var(--clr-accent-900) !important;
}


form > div > span.error {
    display: none;
    font-size: 0.8rem;
    position: absolute;
}

form > div >input:invalid:not(:focus):not(:placeholder-shown) ~ .error {
    display: block;
    color: red;
}

form .form-check-input:checked {
  background-color: var(--clr-accent-900);
  border-color: var(--clr-accent-900);
  box-shadow: var(--clr-accent-900);
}

/************************** Dashboard page  **************************/
#dashboard {
  background-color: #F6F8F7;
  min-height: 100vh;
}

.dashboard-sidebar{
  width: 17%;
  transition: width 0.5s ease;
  background-color: #343a40;
}

.dashboard .sidebar-logo{
  height: 70px;
  line-height: 70px;
  font-size: 20px ;
  font-weight: var(--fw-600);
  overflow: hidden;
  text-align: center;
  /* color: var(--clr-primary-900); */
  color: #d6d8d9;
}

.dashboard .dashboard-sidebar a{
  /* color: var(--clr-primary-900); */
  color: #d6d8d9;
  overflow: hidden;
  text-align: center;
  font-weight: var(--fw-600);
  padding: 18px 0 ;
}

.dashboard .list-group-item.active,
.dashboard .list-group-item:hover{
  background-color: var(--clr-accent-900);
  color: #ebecec;
}

.dashboard .sub-menu{
  display: none;
  overflow: hidden;
  text-align: center;
  /* transition: margin 0.3s ease; */
}

.dashboard .sub-menu.active{
  display: block;
}

.dashboard .sub-item a{
  font-weight: var(--fw-500);
  padding: 18px 0 ;
  display: block;
  /* transition: margin 0.3s ease; */
}

.dashboard .sub-item {
  /* padding: 10px 0; */
  /* background-color: var(--clr-neutral-300); */
  background-color: #494e53;
}

.dashboard .nav-item .arrow{
  margin-left: 0.3rem;
}

.dashboard .sub-item.active a,
.dashboard .sub-item:hover a{
  /* color: var(--clr-accent-900); */
  width: 100%;
  margin: 0;
  padding: 18px 0;
  display: block;
  background-color: var(--clr-accent-900);
}

.dashboard .rotate{
  transform: rotate(180deg);
}

.h{
  width: 0;
  transition: all 0.5s ease;
}

.dashboard #menu-toggle{
  cursor: pointer;
}

.data{
  width: 83%;
  transition: width 0.5s ease;
}

.w100{
  width: 100%;
}

.dashboard img,
.dashboard video{
  width: 100px;
  height: 100px;
  object-fit: cover;
}

@media (max-width: 835px){
  .dashboard .dashboard-sidebar a{
     font-size: 15px;
  }
  .sidebar-logo{
      visibility: hidden;
  }

  .data{
    width: 100%;
  }
  
  .dashboard-sidebar{
    width: 0;
  }

  .dashboard-sidebar.h {
    width: 20%;
  }
  
  .data.w100{
    width: 85%;
  }
}

@media (max-width: 500px){
  .dashboard .dashboard-sidebar a{
     font-size: 10px;
  }

  .dashboard .navbar-toggler-icon{
    font-size: 20px;
  }

  .dashboard-sidebar.h {
    width: 20%;
  }
  
  .data.w100{
    width: 80%;
  }
}

.dashboard .analytics{
  display: flex;
  align-items: center;
  justify-content: space-around;
  box-shadow: var(--box-shadow);
  padding: 1rem;
  background:linear-gradient(100deg, #000000 0%, #2944F2 100%);
  color: var(--clr-neutral-100) !important;
  border-radius: 1rem !important;
  line-height: 1;
}

.dashboard .up{
  color: #00FF00;
}

.dashboard .percent{
  position: relative;
  height: 90px;
  width: 90px;
  border-radius: 50%;
}

.dashboard .analytics .percent svg{
  width: 110px;
  height: 110px;
}

.dashboard .percent svg circle{
  fill: none;
  stroke: var(--clr-neutral-100);
  stroke-width: 14;
  stroke-linecap: round;
  transform: translate(10px, 10px);
}

.dashboard .analytics:nth-child(1) svg circle{
  stroke-dashoffset: -30;
  stroke-dasharray: 175;
}
.dashboard .analytics:nth-child(2) svg circle{
  stroke-dashoffset: -20;
  stroke-dasharray: 150;
  /* stroke: #FB547F; */
}
.dashboard .analytics:nth-child(3) svg circle{
  stroke-dashoffset: -100;
  stroke-dasharray: 180;
  /* stroke: #FF8959; */
}
.dashboard .analytics:nth-child(4) svg circle{
  stroke-dashoffset: -30;
  stroke-dasharray: 140;
  /* stroke: #4AB8FB; */
}

.dashboard .percent .number{
  position: absolute;
  top: 8px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/************************** Tables **************************/
table i{
  font-size: 21px;
  cursor: pointer;
}

table .fa-pen-to-square{
  color: green;
}

table .fa-trash{
  color: red;
}

table{
  background-color: var(--clr-neutral-100);
  margin: 1.2rem 0;
  box-shadow: var(--box-shadow);
}

table td, th{
  text-align: center;
  vertical-align: middle;
}

table tbody tr.active,
table tbody tr:hover{
  background-color: var(--clr-neutral-300);
}

table thead{
  background-color: var(--clr-primary-900);
  color: var(--clr-neutral-100);
}


/************************** Spinner **************************/
#spinner {
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease-out, visibility 0s linear .5s;
  z-index: 99999;
  color: var(--clr-accent-900);
}

#spinner.show {
  opacity: 1;
  visibility: visible;
  transition: opacity .5s ease-out, visibility 0s linear 0s;
}
/* Set the size of the div element that contains the map */
#map {
  height: 500px; /* The height is 400 pixels */
  width: 80%; /* The width is the width of the web page */
  margin : 2% auto;
}
.latlang-res{
  margin : 2% auto;
}

.latlang-res input{
  display : block;
  font-size : 20px;
  margin-bottom : 10px;
  width : 50%;
}

.latlang-res span{
  font-size : 20px;
}