html {
  scroll-behavior: smooth;
}
body {
  box-sizing: border-box;
}
* *::after,
*::before {
  padding: 0px;
  margin: 0px;
  box-sizing: inherit;
}
a {
  font-weight: 300;
  list-style: none;
  color: #fff;
}
a:hover {
  text-decoration: none !important;
}
ul,
li {
  list-style: none;
}
ul,
li,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
/***** Fonts ******/
@font-face {
}
/***** Variables *****/
:root {
  /* These variables are used to keep the thumbnails of the videos at 16:9 ratio */
  --boxWidth: 370px;
  --boxHeight: calc(var(--boxWidth) * 9 / 16);
  /* Colors */
  --color-primary: #f98619;
  --color-secondary: #0c75b7;
}

/************** Header Section *************/

img {
  width: 100%;
  height: auto;
}

/************** Video Library Section ****************/
#know-more {
  padding-top: 60px;
}
.division {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  position: relative;
}
.division .playlist-arrow {
  position: absolute;
  top: 15%;
  left: -112px;
  width: 100px;
  height: 100px;
  visibility: hidden;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.5s ease-in-out;
}
.division .playlist-arrow.active {
  transform: translateX(0px);
  visibility: visible;
  opacity: 1;
}
.division__box {
  height: var(--boxHeight);
  border: 1px solid #0c75b7;
  border-radius: 27px;
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: pointer;
}
.division__box .box-img {
  height: 100%;
  width: 100%;
}
.division__box .box-play {
  position: absolute;
  width: 50px;
  height: 50px;
  bottom: 10px;
  left: 15px;
  cursor: pointer;
  z-index: 999;
}
.division__box .box-playBK {
  position: absolute;
  width: 60px;
  height: 60px;
  bottom: 5px;
  left: 9px;
  cursor: pointer;
  animation: glow 0.8s infinite alternate;
}

@keyframes glow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.division__title {
  display: flex;
  justify-content: space-between;
  margin: 10px 0px;
}
.division__title span {
  color: rgba(10, 1, 1, 0.555);
}
.division__para {
  text-align: end;
  font-size: 16px;
}

.playlist {
  max-height: 800px;
  overflow: scroll;
  width: 90%;
  background-color: #f5f5f5;
  box-shadow: 0 0px 21px rgb(0 0 0 / 50%);
  position: sticky;
  top: 48px;
  border-radius: 20px;
  padding: 36px;
  padding-top: 60px;
  display: none;
}
.playlist.active {
  display: block;
}
.playlist::-webkit-scrollbar {
  width: 0px;
}
.playlist .playlist-arrow {
  position: absolute;
  top: 50px;
  right: -90px;
  width: 100px;
  height: 100px;
}

.playlist-header {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
}
.playlist-header .button {
  border-radius: 32px;
  padding: 17px 20px;
}
.search-bar {
  position: relative;
}
.search-bar img {
  width: 66px;
  height: 66px;
  position: absolute;
  right: 0;
  filter: saturate(0);
  transition: all 0.2s ease-in-out;
}
.search-bar input:focus + img {
  width: 66px;
  height: 66px;
  position: absolute;
  right: 0;
  filter: none;
}
.search-bar input {
  outline: none;
  border: 1px solid transparent;
  padding: 20px 95px 20px 46px;
  border-radius: 50px;
}
.search-bar input:focus,
.search-bar input:focus-visible {
  border: 1px solid#0c75b7;
}
.playlist-items {
  padding: 0;
  margin-top: 40px;
}
.playlist-item {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.playlist-item div {
  display: flex;
  align-items: center;
  gap: 10px;
}
.playlist-item .item-date {
  text-align: start;
  font-size: 12px;
}
.item-icon {
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.item-icon:hover {
  transform: translateY(-2px);
}
.item-title {
  font-size: 18px;
  text-align: end;
}
.item-date {
  font-size: 13px;
  color: #0983c4;
  vertical-align: bottom;
}

/*  The popup video */
#popup-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  display: none;
}
#popup-video.active {
  display: flex;
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
  .division .playlist-arrow {
    left: -102px;
  }
  :root {
    --boxWidth: 320px;
  }
}
/********************* End of desktop styles ***********************/

/********************* Start of mobile and tables styles **************/

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  :root {
    --boxWidth: 75vw;
  }

  /***** Videos Library *****/
  #know-more {
    position: relative;
    padding-top: 25px;
  }
  .divisions {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .division {
    height: var(--boxHeight);
    width: auto;
    transition: all 0.4s ease-in-out;
    overflow: hidden;
  }
  .division-overlay {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    transition: all 0.3s ease-in-out;
    border-radius: 27px;
    overflow: hidden;
    cursor: pointer;
    z-index: 99;
  }
  .division-overlay-2 {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 27px;
    z-index: 9;
    background-color: rgb(0 0 0 / 22%);
    opacity: 0;
    transition: all 0.3s ease-in-out;
  }
  .division-overlay:hover + div + div + div,
  .division-overlay:hover + div + div + div + div,
  .division-overlay:hover + div + div + div + div + div {
    opacity: 1;
  }
  .division__box {
    height: 100%;
    width: 100%;
    position: relative;
    border: 1px solid#0c75b7;
    border-radius: 27px;
    overflow: hidden;
  }
  .division.active-mob {
    margin-bottom: 870px;
  }
  .division .playlist-arrow {
    display: none;
  }
  .division__title {
    text-align: end;
    padding: 10px 10px;
    position: absolute;
    left: 0;
    width: 100%;
    color: #fff;
    z-index: 10;
    transition: all 0.3s ease-in-out;
    opacity: 0;
  }
  .division__title span {
    color: #fff;
  }
  .division__para {
    position: absolute;
    top: 70px;
    right: 10px;
    width: 87%;
    color: #fff;
    z-index: 10;
    opacity: 0;
    transition: all 0.3s ease-in-out;
  }
  .playlist {
    z-index: 999;
    display: block;
    position: absolute;
    top: 200px;
    overflow: hidden;
    margin: 0 auto;
    height: 0;
    padding: 20px;
    margin: 0;
    opacity: 0;
    width: 90%;
    transition: all 0.5s ease-in;
  }
  .playlist.active-mob {
    position: absolute;
    top: 224px;
    left: 5%;
    height: 800px;
    opacity: 1;
    overflow: scroll;
  }

  #popup-video iframe {
    width: 85%;
    height: 50%;
  }

  /****** The  Playlist postions in the mobile view - Careful here
  **Everything is relative to the .row inside the #know-more main
  **it is calculated precisely for each plyalist based on the number of the previous playlists
   ******/
  #playlist-1 {
    position: absolute;
    top: calc(var(--boxHeight) + 30px);
  }
  #playlist-2 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 1 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-3 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 2 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-4 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 3 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-5 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 4 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-6 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 5 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-7 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 6 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-8 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 7 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-9 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 8 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-10 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 9 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-11 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 10 + calc(var(--boxHeight) + 30px)
    );
  }
  #playlist-12 {
    position: absolute;
    top: calc(
      calc(var(--boxHeight) + 30px) * 11 + calc(var(--boxHeight) + 30px)
    );
  }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
  :root {
    --boxWidth: 67vw;
  }
  .playlist-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 13px;
  }
  .search-bar {
    width: 100%;
  }
  .search-bar input {
    width: 100%;
  }
  .playlist-item {
    flex-direction: column;
    align-items: flex-end;
    font-size: 8px !important;
  }
  .playlist-item .item-date {
    margin-right: auto;
  }
  .playlist-item .item-title {
    font-size: 16px;
  }
}

/* / X-Small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  :root {
    --boxWidth: 95vw;
  }
  header .content .text .button.button--outline {
    margin: 0px 0px 12px 0px !important;
  }
  .search-bar input {
    padding: 20px 71px 20px 18px;
    font-size: 14px;
  }
}

/************** Buttons *************/
.button:focus {
  outline: 0;
  box-shadow: none;
}
.button,
.button:visited,
.button:link {
  font-size: 18px;
  transition: all 0.1s ease-in-out;
  color: #fff;
  background-color: transparent;
  border: none;
}
.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 10px #0006;
}
.button--primary {
  background-color: var(--color-primary);
  border-radius: 8px;
  padding: 8px 20px;
}
.button--outline {
  border: 1px solid#0c75b7;
  border-radius: 8px;
  padding: 8px 20px;
  border: 1px solid rgb(212, 212, 212);
}
