
/* global */
@import url('https://fonts.googleapis.com/css?family=Roboto');
@import url('https://fonts.googleapis.com/css2?family=Rubik+Pixels&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Avenir+Next&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Delicious+Handrawn&display=swap');


:root
{

  --primary :rgba(20, 83, 154, 1);
  --primary-light : rgba(0,102 , 153,.05) ;
  --secondary : rgba(13, 53, 98,1);
  --secondary-light : rgba(13, 53, 98,.5);
  --tertiary : red;
  --dark-tertiary : rgb(128, 0, 0);
}
dt {
  font-weight: bold;
}
dt::after {
  content: " : ";
}
/* Awesome fonts */
.fa-water
{
 color: blue;
}
.fa-broadcast-tower
{
  color: red;
}


header aside{
  text-align: right;
  margin: 8px;
  margin-top: -16px;
  color: darkgray;
}

aside div header a{
font-size: small;} 
#tags
{
  text-align: center;
  margin-bottom: 8px;
  padding: 8px;
  width: 100%;
}

aside span
{
  background-color: var(--primary-light);
  padding-left: 4px;
  padding-right: 4px;
  border-radius: 4px;
  margin: 2px;
  margin-bottom: 4px;
}

aside figure
{
  text-align: center;
}

aside figure img
{
  padding: 8px;
}

aside figure img:hover
{
  opacity: .7;
  box-shadow: 0px 0px 4px var(--primary);
  border-radius: 8px;
}
aside span:hover
{
  opacity: 0.5;
  cursor:pointer;
  box-shadow: 0px 0px 4px;
}

aside li::first-letter
{
  text-transform: capitalize;
  color: var(--primary);
  text-shadow: 1px 1px 2px black;
  font-weight: 600;
}
aside li:hover
{
  background-color: var(--primary-light);
}

a
{
  text-decoration: none;
}

header h1
{
  font-size: 32px;
  padding: 8px;
  margin: auto;
  text-align: center;
}

.main-container header
{
  padding-top: 64px;
  padding-bottom: 64px;
  text-align: center;
  background-color: var(--primary);
  color: white;
  text-transform: capitalize;
  border-radius: 8px 0px 0px 0px;
}
aside h2, aside h3 {
  font-size: medium;
}
#mySidebar
{
  z-index:3;
  width:300px;
  box-shadow: 1px 0px 8px var(--secondary);
  float: left;
  border-radius: 0px 8px 0px 0px;

}
 
#mySidebar header
{
  display: flex;
  flex-direction: row;
  align-content:space-between;
  padding: 8px;
  text-align: center;
  background-color: var(--primary);
  color: white;
   border-radius: 0px 0px 0px 0px;
}
#mySidebar header >*
{
  margin: auto;
  border-radius: 8px;
  padding: 4px;
  box-shadow: 0px 0px 2px white;

}
#mySidebar header a:hover
{
  box-shadow: 0px 0px 8px var(--secondary);
  color: var(--primary);
  background-color: var(--secondary);
}

#mySidebar figure small span, #mySidebar figure small span a
{
  display: inline-block;
  position: absolute;
  right: 8px;
  font-size: 10px;
  padding: 4px;
  font-family: "Delicious Handrawn", cursive;
  font-weight: 400;
  font-style: normal;
  color: var(--secondary);
  text-shadow: 0px 0px 1px white;
  box-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
  background-color: rgba(255, 255, 255, 0);
}
.w3-bar-block .w3-bar-item
{
  padding: 2px;
}


main h2:nth-of-type(1)
{
  font-size: 1.4rem;
  color: var(--primary);
  
}

main section h2:nth-of-type(1)
{
  font-size: 1.3rem;
  color: var(--primary);
  text-shadow: 0px 0px 4px white;
  font-weight: bold;
  text-align: left;
}
main section article h2:nth-of-type(1)
{
  font-weight:500;
  font-size: 1.3rem;
}
main section
{
  padding: 8px;
  text-align: justify;
}

main article
{
  padding: 16px;
  margin-bottom: 16px;

  box-shadow: 0px 0px 4px var(--primary);
  background-color: rgb(241, 241, 241);
}

main article article
{

  box-shadow: 0px 0px 0px white;
  background-color: white;
}
main section article h2:nth-of-type(1)
{
  font-size: 1.2rem;
}

main section article article h2:nth-of-type(1)
{
  font-size: 1.1rem;
}

main section article article article h2:nth-of-type(1)
{
  font-size: 1rem;
}

main section article article article article h2:nth-of-type(1)
{
  font-size: 0.9rem;
}

main section article article article article article h2:nth-of-type(1)
{
  font-size: 0.9rem;
}

main section article article article article article article h2:nth-of-type(1)
{
  font-size: 0.9rem;
}

main section article h3
{
  font-size: 1.4rem;
}

main section article h4
{
  font-size: 0.7rem;
}

main section article h5
{
  font-size: 0.5rem;
}

main section article h6
{
  font-size: 0.3rem;
}

main .w3-button
{
  box-shadow: 0px 0px 2px var(--primary);
  border-radius: 4px;
  background-color: var(--primary);
  color: white;
}

main a
{
  box-shadow: 0px 0px 2px var(--primary);
  border-radius: 4px;
  background-color: var(--primary);
  color: white;
  box-shadow: 0px 0px 4px var(--secondary);
  border-radius: 4px;
  padding: 8px;
  margin-right:8px;
  margin-bottom: 8px;
}

main a:hover
{
  color:var(--primary);
  background-color:white;
  box-shadow: 0px 0px 8px var(--secondary);
}

main .w3-button:hover
{
  color:var(--primary);
  background-color:white;
  box-shadow: 0px 0px 8px var(--primary);
}

.w3-button:hover
{
  color:var(--primary);
  background-color:white;
  box-shadow: 0px 0px 8px var(--primary);
}

pre
{
  width: 100%;
  background-color: white;
  padding: 8px;
  font-family:'Courier New', Courier, monospace;
  overflow: scroll;
  border-left: 8px solid var(--primary);
  box-shadow: 0px 2px 4px var(--primary);
}

footer
{
  font-size: smaller;
  background-color: var(--secondary);
  color: lightgray;
  text-align: center;
  padding: 16px;

}




table, th, td 
{
  /*border: 1px dotted;*/
  padding: 4px;
}

table caption
{
  background-color: var(--primary-light);
  font-weight: bold;
}
tr:nth-child(even) 
{
  background-color: var(--primary-light);
}
th 
{
  background-color: var(--primary);
  color: white;
}

tr:hover 
{
  background-color: rgba(255, 255, 255, 0.5); 
  color: var(--tertiary);
}

table, caption
{
  margin-bottom: 32px;
  box-shadow: 1px 1px 4px var(--primary);
}

caption
{
  margin-bottom: 16px;
}

ul li
{
  margin-bottom: 16px;
}

#mySidebar h2
{
  background-color: var(--primary);
  padding: 2px;
  font-weight: bold;
  text-align: center;
  color: white;
}

#mySidebar h3
{

  font-weight: bold;
  margin-left: 4px;

}


/* pipe line big data course css */


.pipe-line, .pipe-line ol li article
{
  background-color: var(--primary-light);
  text-align: center;
}

.pipe-line ol li article div 
{
  border-radius: 8px;
}

.pipe-line ol li article div div div
{
  box-shadow: 0px 0px 4px black;
  text-align: center;
  margin: 2px;
}

ol li::marker {
  color: red; /* Change la couleur du compteur */
  font-size: 1rem; /* Change la taille du compteur */
  margin-left: 8px;
}



@media only screen and (min-width: 1024px) 
{
  .main-container
  {
    margin-left: 308px;
  }

}

@media only screen and (max-width: 767px) 
{
  /* For tablette & mobile phones: */
  header
  {
    padding-left: 8px;
    padding-right: 8px;
  }

  header h1
  {
    font-size: 32px;
  }
  h1, h2, h3, h4, h5, h6 
  {
    text-align: left;
  }

}

@media only screen and (max-width: 475px) 
{

  main, main section, main section article, main ol, main li, main ol li section, main ol li section article, ol, li
  {
    margin-left:0.5px;margin-right:0.5px;
  }
  main{
    overflow: auto;
  }

  main h2:nth-of-type(1), main section h2:nth-of-type(1), main section article h2:nth-of-type(1), main section article article h2:nth-of-type(1)ajuster {
    font-size: 1.3rem;
    color: var(--primary);
    }

    
  
  /* Définition des tailles des titres */
  h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }

  h2 {
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
  }

  footer h2, logo-title
  {
    font-size: 1rem;
    margin: auto;
    width: 100%;
    text-align: center;
  }

  h3 {
    font-size: 0.9rem;
    margin-bottom: 0.6rem;
  }

  h4 {
    font-size: 0.8rem;
    margin-bottom: 0.4rem;
  }

  h5 {
    font-size: 0.7rem;
    margin-bottom: 0.2rem;
  }

  h6 {
    font-size: 0.6rem;
    margin-bottom: 0.2rem;
  }

  /* Paragraphes */
  p {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1rem;
  }

  ol li::marker {
    font-size: 0.5rem; /* Change la taille du compteur */
  }

  aside ol {
    margin-left: 16px;
  }

  ol {
    padding-inline-start: 4px;
    }
    
}

/* Styles pour le sommaire dynamique */
.sommaire-container {
  padding: 15px;
  background-color: #f9f9f9;
  border-radius: 5px;
  margin: 15px 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.sommaire-container h3 {
  margin-top: 0;
  color: var(--primary);
  border-bottom: 1px solid #eee;
  padding-bottom: 8px;
  margin-bottom: 15px;
}

.sommaire-list {
  list-style-type: none;
  counter-reset: item;
  padding: 0;
  margin: 0 0 0 1em;
}

.sommaire-list > li {
  counter-increment: item;
  margin-bottom: 8px;
  line-height: 1.4;
  position: relative;
}

.sommaire-list > li:before {
  content: counters(item, ".") ". ";
  position: absolute;
  left: -1.5em;
  color: var(--primary);
  font-weight: bold;
}

.sommaire-list a {
  color: var(--secondary);
  text-decoration: none;
  display: block;
  padding: 5px 10px;
  border-radius: 3px;
  transition: all 0.2s ease;
}

.sommaire-list a:hover,
.sommaire-list a.active {
  color: white;
  background-color: var(--primary);
  text-decoration: none;
}

.sommaire-sublist {
  list-style-type: none;
  counter-reset: subitem;
  padding-left: 1.5em;
  margin: 5px 0 0 0.5em;
  border-left: 2px solid #e0e0e0;
}

.sommaire-sublist > li {
  counter-increment: subitem;
  margin-bottom: 5px;
  position: relative;
}

.sommaire-sublist > li:before {
  content: counters(item, ".") "." counter(subitem) " ";
  position: absolute;
  left: -1.5em;
  color: var(--secondary);
  font-weight: normal;
  font-size: 0.9em;
}

.sommaire-sublist a {
  color: #666;
  font-size: 0.9em;
  padding: 3px 8px;
}

.sommaire-sublist a:hover,
.sommaire-sublist a.active {
  color: white;
  background-color: var(--secondary);
}



            /* Styles pour la navigation utilisateur */
            .user-nav .dropdown-toggle {
                display: flex;
                align-items: center;
                padding: 0.5rem 1rem;
                border: none;
                background: none;
                color: #333;
                text-decoration: none;
                transition: all 0.3s;
            }

            .user-nav .dropdown-toggle:hover {
                color: #0d6efd;
            }

            .user-nav .dropdown-toggle::after {
                margin-left: 0.5rem;
            }

            .user-nav .dropdown-menu {
                min-width: 15rem;
                padding: 0.5rem 0;
                border: 1px solid rgba(0, 0, 0, 0.1);
                box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
            }

            .user-nav .dropdown-item {
                padding: 0.5rem 1.5rem;
                color: #333;
                display: flex;
                align-items: center;
            }

            .user-nav .dropdown-item:hover {
                background-color: #f8f9fa;
                color: #0d6efd;
            }

            .user-nav .dropdown-item i {
                width: 1.5rem;
                text-align: center;
            }

            /* Style pour le bouton de déconnexion */
            .user-nav .dropdown-divider + .dropdown-item {
                color: #dc3545;
            }

            .user-nav .dropdown-divider + .dropdown-item:hover {
                background-color: #f8d7da;
                color: #dc3545;
            }


/*form css */

.form-label {
    display: block;
    margin-bottom: 0.5rem;
}

.form-control {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #bdbdbd;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #0d6efd;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn-login {
    display: block;
    width: 100%;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
    padding: 0.75rem;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-login:hover {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}

