
body.popup-enabled {
  height: 100vh;
  overflow: hidden;
}
.center {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.popup {
  position:fixed;
  top:50%;
  left:0px;
  width:0%;
  height:0%;
  transform:translateY(-50%);
  background: #ffffff;
  overflow:hidden;
  z-index:2;
}
.popup .content {
  margin:0 auto;
  padding:10em 0em;
max-width: 960px;
  width:100%;
  opacity:0;
}
#popup-open-btn {
  cursor:pointer;
}
.popup .content .popup-close-btn {
position: absolute;
    top: 15%;
    right: 5%;
    width: 1.5em;
    height: 1.5em;
    color: rgb(3, 28, 168);
    font-size: 2em;
    cursor: pointer;
    border-radius: 50%;
    background: #08c2f8 !important;
    color: #fff !important;
    text-align: center;
}
.popup .content .popup-close-btn:hover {
  background:#f37b1a !important;
  color: #ffffff !important;
}
.popup .content h1 {
  font-size:40px;
  margin:20px 0px;
}
.popup .content p {
  margin-bottom:10px;
  color:#555;
}

.popup.active {
  animation: popupAnimation 1500ms ease-in-out forwards;
  height: 100vh;
  overflow-y: auto;
}
.popup.active .content {
  opacity:1;
  transition:all 300ms ease-in-out 1500ms;
}
@keyframes popupAnimation {
  0% {
    width:0%;
    height:0%;
  }
  50% {
    width:100%;
    height:2px;
  }
  100% {
    width:100%;
    height:100%;
  }
}
  

  #ribbon-schedule {
    max-width: 960px;
    
  }

  #ribbon_schedule > h1 {
    font-weight: 300;
    margin: 0px;
  }

  #week_container {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #filter_container {
    visibility: hidden !important;
  }

  .week_day {
    flex: 3;
    padding: 20px;
    margin: -1px;
    font-weight: 700;
  }

  .in_past {
    opacity: 40%;
    font-weight: 300;
  }

  .week_day > * {
    pointer-events: none;
    text-align: center;
  }

  .day_of_week {
    font-size: 12px;
    font-weight: 300;
  }

  .short_date {
    font-size: 18px;
    font-weight: 500;
  }

  .prevButton,
  .nextButton {
    display: inline-block;
    position: relative;
    padding: 18px;
  }

  .popup button {
    padding: 9px 15px;
    background-color: #08c2f8 !important;
    color: #fff;
    border: none;
    
  }
  .popup .nextButton button:hover{
    background-color:  #0a98c0 !important;
  }
  .popup .prevButton button:hover{
    background-color:  #0a98c0 !important;
  }

  .selected_day {
    opacity: 100%;
    
    
  }

  .today_container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 20px 0px;
    padding: 10px 18px;
    
  }

  .today_container > button {
    margin-left: auto;
    font-family: "Open Sans", sans-serif !important;
    background-color:  #08c2f8 ;
  }
  .today_container > button:hover{
    background-color:  #0a98c0 !important;
  }

  .schedule_item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    
    padding: 40px 18px;
  }

  .event_list_container > ul > :first-child {
    

  }

  .event_list_container > ul > li {
    border-bottom: 2px solid #fff;
  }

  .event_list_container > ul {
    padding-left: 0px;
    margin: 0px;
  }

  .event_list_container > ul > :last-child {
    border-bottom: 0px;
    
  }

  .no_events {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  .schedule_item > .event_title {
    font-weight: 700;
    margin: 0px auto 0px 40px;
  }

  .class_time {
    font-weight: 700;
  }

  .schedule_item > :nth-child(2) {
    margin: 0px 40px;
    width: 140px;
    text-align: left;
  }

  .mobile_loc {
    display: none;
  }

  .teacher_name {
    word-wrap: normal;
    font-weight: 400;
  }

  .class_location {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  .class_location > img {
    margin-right: 4px;
  }

  .livestream_label {
    font-size: 14px;
    font-weight: 300;
  }

  .teacher_img {
    height: 60px;
    width: 60px;
    border-radius: 50%;
  }

  .sign_up_button {
    font-size: 14px;
    text-transform: uppercase;
    padding: 9px 40px;
    background-color: #08c2f8 !important;
    
    color: #fff !important;
    text-decoration: none;
    
    font-family: "Open Sans", sans-serif !important;
  }
  .sign_up_button:hover{
    background-color: #0a98c0 !important;
  }

  .filter_container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0px 18px 18px 18px;
  }

  .filter_container > :nth-child(odd) {
    margin-left: 18px;
  }

  .filter_container > :nth-child(even) {
    margin-left: 18px;
  }

  .list_filter {
    padding: 9px 15px;
    width: 140px;
    
  }

  .list_filter:focus {
    outline: none;
  }

  .disabled_sign_up {
    opacity: 55%;
    cursor: no-drop;
  }

  .livestream_inperson {
    display: none;
    padding: none;
    margin: none;
  }

  @media screen and (min-width: 769px) {
    .mobile_loc {
      display: none;
    }
  }

  @media screen and (max-width: 768px) {
    #ribbon-schedule {
      max-width: 768px;
      width: 100%;
    }
    .week_day {
      padding: 10px;
    }
    .desktop_loc {
      display: none;
    }
    .teacher_img {
      margin-left: 40px;
    }
  }

  @media screen and (max-width: 675px) {
    #ribbon-schedule {
      max-width: 675px;
    }
    .schedule_item > :nth-child(2) {
      margin: 0px 10px;
    }
    .desktop_loc {
      display: none;
    }
    .teacher_img {
      margin-left: 20px;
    }
  }

  @media screen and (max-width: 560px) {
    .schedule_item {
      display: block;
      padding: 20px 18px 20px 18px;
    }
    .schedule_item > .event_title {
      text-align: center;
      margin-left: 0px;
      margin-right: 0px;
    }
    .time_dur {
      text-align: center;
    }
    .class_location {
      margin: 10px 0px 10px 0px;
    }
    .schedule_item > * {
      margin: 20px auto 20px auto;
    }
    .sign_up_button_container {
      margin-top: 0px;
      width: 100%;
      display: flex;
    }
    .sign_up_button {
      margin-top: 30px;
      text-align: center;
      display: inline-block;
      flex: 1;
    }
    .disabled_sign_up {
      margin-top: 30px;
      text-align: center;
      display: inline-block;
      flex: 1;
    }
  }

  @media screen and (max-width: 400px) {
    #ribbon-schedule {
      max-width: 400px;
    }
    #week_container {
      flex-wrap: wrap;
    }
    #week_container > .prevButton {
      flex: 1;
      min-width: 100%;
    }
    #week_container > .nextButton {
      flex: 1;
      min-width: 100%;
    }
    #week_container > .prevButton > button {
      flex: 1;
      width: 100%;
    }
    #week_container > .nextButton > button {
      flex: 1;
      width: 100%;
    }
    .filter_container {
      justify-content: center;
      padding: 5px 18px 20px 18px;
    }
  }

  @media screen and (max-width: 1023px) {
    .popup-enabled #header
    {
      width:80% !important;
    }
    .popup .content .popup-close-btn {
      top: 1em;
      right: 3em;
  }
  .prevButton, .nextButton
  {
    padding: 18px 0 !important;
    background: #2cc3f8 !important;
  }
  }
  /* Mobile devices */
  @media screen and (max-width: 767px) {
    .popup .content .popup-close-btn {
      top: 0.5em;
      right: 1em;
      z-index: 9999;
  }
  .logo.float-left 
  {
    display: flex;
  }
  #header .logo h1 {
    width: 70%;
    font-size: 1.5em !important;
  }
   }
