body { 
  background-color: #F9F9F9;
  background-image: url(img/pattern1.webp), url(img/pattern2.webp);
  background-position: left 1400px, right 3500px;
  background-repeat: no-repeat, no-repeat; 
}


.navbar{
  --flex-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

header .navbar-toggler { border: 0 }

header.navbar {
  /* --flex-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); */
  --flex-navbar-toggler-border-color: rgba(0,0,0,.5);
  --flex-navbar-padding-y: 1rem }

header .nav-link { 
  position: relative;
  transition: all 300ms;
  font-weight: bold;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  color: #FFF }

header .nav-link:hover,
header .nav-link:active,
header .nav-link:focus,
header .nav-link.show,
header .nav-link.active { color: var(--flex-primary) !important }

header .nav-link:hover:before,
header .nav-link:active:before,
header .nav-link:focus:before {
  opacity: 1;
  top: -1.5rem;
}

header .nav-link:hover:after,
header .nav-link:active:after,
header .nav-link:focus:after {
  opacity: 1;
  bottom: -1.5rem;
}

@media(max-width:991.98px){

    .navbar-brand img { height: 40px }
  
    header .navbar-collapse { 
      background: var(--flex-dark);
      width: 100%;
      position: fixed;
      z-index: 100000;
      top: 0;
      left: 0  }
  
    header .navbar-nav {
      justify-content: center;
      width: 100%;
      height: 100vh }  
  
    header .nav-link { 
      text-align: center;
      color: #FFF;
      padding: .75rem 3rem !important; 
      width: 100% }

    header a { font-size: 120% !important }
  
    header .nav-link.active,
    header .nav-link:hover,
    header .nav-link:active,
    header .nav-link:focus { 
      opacity:1;
      color: var(--flex-primary) !important }

    header .dropdown { width: 100% }

    header .dropdown-menu {
      border: 0;
      border-radius: 0;
      width: 100%;
      background-color: rgba(0,0,0,.125) }

    header .dropdown-menu a { 
      text-align: center;
      padding: .5rem 1rem;
      color: #FFF }
}

#hero { 
  background: var(--flex-secondary); 
  background-size: cover }

#hero,
#hero > *,
#hero > * > * { height: 100% }

@media(max-width:767.98px){
  #hero .top-50.translate-middle-y {
    text-align: center;
    transform: translate(0,0) !important;
    top: 20vh !important;
    left: 0;
    padding: 0 2rem;
  }

  #hero h1 { font-size: 160% }

  #hero .fs-5 { font-size: 100% !important }
  
}

.btn { 
  padding: 1rem 1.5rem;
  font-weight: 700  }

.posts .col > article { 
  top: 0;
  transition: all 300ms }

.posts .col > article:hover {
  background: #FFF;
  top: -.5rem;
  box-shadow: 0 0 0 1.5rem rgba(255,255,255,1), 0 .5rem 2rem 1.5rem rgba(0,0,0,0.075)
}

.carousel-control-prev-icon {
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") }

#services i,
#services h4 {
  position: relative;
  transition: all 300ms;
  top: 0 }

#services article:hover i {
  top: -.5rem
}

#services article:hover h4 {
  top: -.25rem
}

#exams article .ratio {
  transition: all 300ms;
  transform: scale(1);
  opacity: .7 }

#exams article:hover .ratio {
  transform: scale(1.075);
  opacity: 1 }

#exams article .position-absolute {
  background: rgb(51,51,51);
  background: linear-gradient(360deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 100%) }

@media(max-width:1200px){
  #exams .ratio-4x3 {
    --flex-aspect-ratio: 100%;
  }
}

#about article .ratio {
  transition: all 300ms;
  transform: scale(1);
}

#about article:hover .ratio {
  transform: scale(1.075);
}

@media(max-width:767.98px){
  #about article p { font-size: 80% }
}


.calendar .d-grid { 
  display: grid;
  align-content:start;
  justify-items: center;
  grid-template-columns: repeat(7,1fr)  }

.calendar .day { margin: 2px 0 }

.calendar .day a,
.calendar .day span { 
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem }

@media(max-width:768px){
  .calendar .d-grid { 
    grid-template-columns: repeat(7,1fr) }

  .calendar .day a,
  .calendar .day span {
    width: 2.5rem;
    height: 2.5rem }
}

.calendar .day a { 
  text-decoration: none;
  color: var(--flex-dark);
  font-weight: bold;
  border: 1px solid transparent;
  border-radius: 100% }

.calendar .day a:focus,
.calendar .day a:active,
.calendar .day a:hover {
  color: #FFF;
  background: var(--flex-dark) !important }

.calendar .day span { opacity:.25 }

.calendar .today span { opacity: 1 }

.calendar .today > *:before {
  content: "";
  width: .375rem;
  height: .375rem;
  background: var(--flex-dark);
  position: absolute;
  bottom: .25rem;
  left: 50%;
  border-radius: 100%;
  transform: translate(-50%,0)
}

.calendar .today a:hover:before,
.calendar .today a:focus:before,
.calendar .today a:active:before{ background: #FFF }
