/* 
  
  Theme Name: Wolfram U
  Theme URI: http://wolframu.wolfram.com/ 
  Description: Wolfram U Theme
  Author: WRI
  developer: Estevao T
  Author URI: http://www.wolfram.com
  Tags: wri, wolframu

  requires: /common/framework/css/framework.en.css


==========================================================================
  Theme
========================================================================== 
  Shared 
========================================================================== */

:root {
  --secondary-color: #5bb2a6;
  --badge-level1-hover: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Level1-Hover.svg);
  --badge-level2-hover: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Level2-Hover.svg);
  --badge-completion-hover: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Completion-Hover.svg);
  --badge-attendance: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Attendance.svg);
  --badge-attendance-hover: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Attendance.svg);
  --double-chevron-down: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/double-chevron-down.svg);
}

html, html._header-thick, html._header-thin { border-top: 0; }
html {  
  scroll-behavior: smooth; 
  border-top: 123.8px solid #172942;
}

body {
  font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
  color: #707070;
}

.wrapper {
  max-width: 1000px;
  margin: 0 auto;
}

p:empty { margin: 0; }

p {
  color: #535353;
  line-height: 1.75;
}

h1 {
  font-size: 1.75rem;
}

h2 {
  font-size: 1.6875rem;
  font-weight: 600;
  color: #172942;
  margin-bottom: 1.5rem;
  text-align: center;
}

h3 {
  font-size: 1.375rem;
  font-weight: 600;
  color: #172942;
}

a.course-assistant-banner {
  display: block;
  background: #499c92;
  color: #fff;
}
a.course-assistant-banner .wrapper {
  display: grid;
  grid-gap: 0.375rem;
  grid-template-columns: 30px auto;
  align-items: center;
  justify-content: center;
  height: 2.875rem;
  line-height: 1.1;
}
a.course-assistant-banner:hover {
  background: #1D3251;
}
div#cta {
  bottom: 0;
  position: fixed;
  width: 100%;
  z-index:99;
}


/* Lists and menus
  ========================================================================== */

.inline-links {
  list-style-type: none;
}

.inline-links li {
  display: inline-block;
}

.inline-links li:not(:last-of-type)::after {
  content: "|";
  margin: 0 5px;
}

.list-of-links {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-content: center;
  list-style: none;
}

.list-of-links li { 
  padding: 1rem 0 1rem 1rem;
  position: relative;
  text-align: left; 
}

.list-square-bullets li { 
  display: flex;
  align-items: center;
}

.list-of-links li::before,
.list-square-bullets li::before {
  color: var(--secondary-color);
  content: '■';
  display: inline-block;
  font-size: 9px;
  line-height: 23px;
  margin-right: 5px;
  position: relative;
}

.tabs .list-square-bullets li::before {
  left: -.8rem;
  margin: 0;
}

.list-of-links li a::after,
.events ul h4::after  {
  content:"\00a0»";
}

.list-of-links li a {
  font-size: 1rem;
  font-weight: 600;
  color: #172942;
  margin-bottom: .5rem;
}

.list-of-links li a:hover {
  color: #ff6000;
}

/* horizontal list of buttons */

.list-of-buttons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(135px,1fr));
  grid-row-gap: 20px;
  grid-column-gap: 1rem;
}
.list-of-buttons a {
  text-align: center;
}

/* horizontal list of items */

.horizontal-list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  list-style: inline;
  margin: 10px auto 0;
}

.horizontal-list.centered,
.horizontal-list.center {
  justify-content: center;
}

.horizontal-list li {
  display: inline-block;
  position: relative;
}

.horizontal-list li:not(:last-of-type)::after {
  content: "|";
  margin: 0 5px;
}

.horizontal-list li,
.horizontal-list li a {
  font-size: 16px;
  font-weight: 400;
  color: #535353;

}

/* Breadcrumbs */

.breadcrumbs li,
.breadcrumbs li a {
  font-size: 1rem;
  color: #535353;
  font-weight: 400;
}

.breadcrumbs li:hover a {
  color: #ff6000;
}

.breadcrumbs li a::before {
  content: "";
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/Arrow.png) no-repeat;
  background-size: 10px 7px;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  display: inline-block;
  transform: rotate(90deg);
}

/* topics list */

nav.topics-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}

nav.topics-list a { 
  font-size: 14px;
  font-weight: 400;
  color: #172942;
  background: #fff;
  border: 1px solid var(--secondary-color);
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
}

nav.topics-list a:hover {
  background: #ff6000;
  border: 1px solid #ff6000;
  color: #fff;
}

nav.topics-list a.active {
  color: #fff;
  background: var(--secondary-color);
}

nav.topics-list a.active:hover {
  background: #ff7000;
  border: 1px solid #ff6000;
}

/* timeline lists - used in certifications */
.timeline div { padding-top: 10px; }

.timeline ul {
  font-size: 1.125rem;
  line-height: 24px;
  margin-left: 3px;
}

.timeline ul:first-of-type {
  margin-left: 0px;
  border-left: 3px solid #3b6aaa;
}

.timeline ul li {
  padding: 0 0 40px 0;
  margin-left: -14px;
}

.timeline .large-bullet {
  position: absolute;
  content: "";
  display: inline-block;
  height: 25px;
  width: 25px;
  border-radius: 50%;
  background-color: #3b6aaa;
}

.timeline .timeline-text {
  display: block;
  font-weight: 400;
  padding-left: 35px;
  color: #535353;
}

/* projects list (used in certifications) */

.project-list li {
  font-size: 1rem;
  line-height: 24px;
  font-weight: 400;
}

.project-list li a {
  font-size: 1.125rem;
  line-height: 24px;
  font-weight: 600;
  background-size: 1.55rem;
}

.project-list li a:hover {
  color: #ff6c00;
  background-size: 1.55rem;
}

.project-list li p {
  margin-top: 3px;
  margin-bottom: 2.25rem;
}

.project-list li p:last-of-type { margin-bottom: 2.5rem; }
.project-list li p:last-of-type { margin-bottom: 1.5rem; }
 
/* Buttons
  ========================================================================== */

.btn {
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  border-radius: 5px;
  padding: 10px 15px;
}

a.btn-dark-blue,
.btn-dark-blue {
  background: #203a5e !important;
  color: #fff !important;
  &:hover {
    background: #ff6000 !important; 
    color: #fff !important;
  }
}

a.btn-green,
.btn-green {
  background: var(--secondary-color) !important;
  color: #fff !important;
}

a.btn-green:hover,
.btn-green:hover { 
  background: #ff6000 !important; 
  color: #fff !important;
}

a.btn-green-outline {
  padding: 8px 13px;
  border:solid 2px var(--secondary-color);
  background: none !important;
  color: var(--secondary-color) !important;
}

a.btn-green-outline:hover,
.btn-green-outline:hover {
  border-color:#ff6000;
}

/* Header
  ========================================================================== */

header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #172942;
  padding: .5rem 0 0;
  transition: height 0.3s ease;
  z-index: 99999;
}

header, header a, header img { transition: all 0.3s ease; }
header > .wrapper {
  max-width: 1100px;
  display: grid;
  position: relative;
  grid-template-columns: 1fr minmax(360px,450px) 60px;
  grid-template-rows: auto minmax(60px,90px);
  justify-content: space-between;
  align-content: center;
  align-items: center;
  z-index: 9;
}

header .credits,
header .inline-links {
  grid-column: 1 / -1;
  justify-self: flex-end;
  padding-bottom: 5px;
} 

header .inline-links a {
  font-size: 0.75rem;
  font-weight: 400;
  color: #bfbfbf;
}

header .credits {
  font-size: .75rem;
  color: #a5b0c0;
  font-weight: 400;
  font-style: italic;
  text-transform: uppercase;
}
header .credits a {
  color: #c0c8d3;
  font-weight: 600;
}
header .credits a:hover {
  color: #fff;
}

header .menu-search {
  cursor: pointer;
  text-align: right;
  & > img {
    width: 18px;
    filter: brightness(100);
    margin-top: 5px;
  }
}
header .input-container {
  display: none;
  width: 100vw;
  background: #101c2e;
  padding: 1rem 1.875rem;
  & .input-wrapper {
    display: flex;
    width: 100%;
    padding: 13px 16px 12px 16px;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
    background-color: #fff;
    border: 1px solid #101c2e;
    &:hover {
      border: 1px solid #61bcac;
    }
  }
  & input.search-input {
    width: 100%;
    color: #707070;
    font-size: 1rem;
    margin-right: .5rem;
    border: none;
    &:focus, &:focus-visible { outline: none; }
  }
  & input[type="submit"] {
    background: #fff url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/search.svg) no-repeat;
    background-size: 20px 50%;
    background-position: center;
    padding: 5px 15px;
    border: none;
  }
  &:hover input[type="submit"]{
    background: #fff url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/search-active.svg) no-repeat;
    background-size: 20px 50%;
    background-position: center;
  }
}
header.search .input-container { 
  display: block;
  padding: 15px;
  @media (max-width: 1200px) { padding: 15px 30px; }
  @media (max-width: 600px) { padding: 15px; }
  & .wrapper { 
    max-width: 1100px;
    padding: 0;
  }
}

header .mobile-links { display: none; }

header .wu-header-logo {
  justify-self: flex-start;
  width: 294px;
  transition: width 0.5s ease;
}

header nav {
  justify-self: flex-end;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
}

header nav a {
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
}

header nav a:hover { 
  color: var(--secondary-color); 
}

header nav ul {
  display: flex;
  justify-content: space-between;
}

header #menu-header > li,
header .menu-search {
  position: relative;
  padding: 30px 20px 40px 20px;
  @media (max-width: 600px) {
    grid-column: ;
    padding: 10px 15px;
  }
}

header.sticky #menu-header > li,
header.sticky .menu-search {
  padding: 10px 15px;
}

.tab-container > ul > li.dropdown::after,
header #menu-header > li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 7px;
  margin-left: 5px;
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/Arrow.png) no-repeat;
  background-size: 10px 7px;
}

.tab-container > ul > li.dropdown:hover::after,
header #menu-header > li.menu-item-has-children.menu-open > a::after,
header #menu-header > li.menu-item-has-children > a:hover::after,
header #menu-header.active > li.menu-item-has-children a::after {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/Arrow-hover.png);
  background-size: 10px 7px;
}

header #menu-header > li:hover,
header #menu-header.active > li,
header #menu-header > li.menu-open,
header .menu-search:hover,
header .menu-search.active {
  background: #101c2e;
}

header .sub-menu {
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  min-width: 200px;
}

header .sub-menu li {
  background: rgba(16, 28, 46, 0.9);
  padding: 10px 20px;
}

header .sub-menu li:hover {
  background: #324662;
}

header .sub-menu li a {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
}

header nav ul li.menu-open .sub-menu {
  display: block;
}

/* header overlay
  ================================== */

header .overlay {
  display: none;
  background: rgba(0, 0, 0, .3);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

header.menu-open .overlay {
  display: block;
}

/* header when sticky (docked)
  ================================== */
header.sticky { padding:0 }
header.sticky .wrapper {
  grid-template-columns: 1fr auto auto;
  grid-column-gap: 5px;
  grid-template-rows: 41px auto;
}

header.sticky .inline-links { display: none; }
header.sticky img.wu-header-logo { width: 150px; }
header.sticky .sub-menu { top: 40px; }
header.sticky nav ul { flex-wrap: nowrap; }

header .mobile-links .menu-button {
  display: flex;
  height: 30px;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

header .mobile-links .menu-button div,
header .mobile-links .menu-button div::before,
header .mobile-links .menu-button div::after {
  display: block;
  background-color: #fff;
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

header .mobile-links .menu-button div::before {
  content: '';
  margin-top: -8px;
}

header .mobile-links .menu-button div::after {
  content: '';
  margin-top: 8px;
}

header.menu-open .menu-button div::before {
  margin-top: 0px;
  transform: rotate(405deg);
}

header.menu-open .menu-button div {
  background: rgba(255, 255, 255, 0);
}

header.menu-open .menu-button div::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}

header.menu-open nav {
  display: block;
  grid-row: 3; 
  grid-column: 1 / -1;
  margin-top: 10px;
}


/* ==========================================================================
   Home
   ========================================================================== */

.home .hero {
  padding-top: 50px;
  background: linear-gradient(180deg, #1c3251 210px, #ecf8fb 50px);
}


.home .hero .wrapper {
  display: grid;
  grid-template-columns: 1fr 450px;
}

.home .hero h1 {
  grid-column: 1;
  align-self: start;
  font-size: 1.8125rem;
  font-weight: 300;
  color: #fff;
}

.home .hero .wrapper > div {
  position: relative;
  grid-column: 2;
  text-align: center;
}

.home .hero .wrapper .hero-animation-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  justify-items: center;
  align-items: center;
  & > figure { 
    grid-column:1; 
    grid-row:1;
  }
}
/*
.home .hero figure {
  
}*/

/*figure#background {
  
}
figure#screen {
  position: absolute;
  top: 13px;
  left: 115px
}

figure#screen {
  position: absolute;
  top: 13px;
  left: 115px
}*/

.home .description {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.5;
  color: #172942;
  padding-bottom: 50px;
  margin-bottom: 50px;
  text-align: center;
}

.home #search-section {
  background: #ecf8fb;
  padding-top: 50px;
  padding-bottom: 50px;
  & .input-wrapper {
    display: flex;
    width: 100%;
    padding: 0.638rem 1rem 0.638rem;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
    background-color: #fff;
    border: 1px solid #fff;
    &:hover {
      border: 1px solid #61bcac;
    }
  }
  & input.search-input {
    width: 100%;
    color: #707070;
    font-size: 1rem;
    margin-right: .5rem;
    border: none;
    &:focus, &:focus-visible { outline: none; }
  }
  & input[type="submit"] {
    background: #fff url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/search.svg) no-repeat;
    background-size: 20px 50%;
    background-position: center;
    padding: 5px 15px;
    border: none;
  }
  &:hover input[type="submit"]{
    background: #fff url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/search-active.svg) no-repeat;
    background-size: 20px 50%;
    background-position: center;
  }
}

.home #featured {
  background: #ecf8fb;
  padding-bottom: 50px;
}

.home #featured .btn-green {
  margin-top: 50px;
}

.home .get-certified {
  padding: 50px 0;
}

.home .get-certified h3,
.home .resources h3 {
  font-size: 1.375rem;
  font-weight: 400;
  color: var(--secondary-color);
  text-align: left;
  margin-bottom: .25rem;
}

.home .get-certified .showcase {
  display: grid;
  grid-template-columns: 1fr 316px;
  grid-gap: 2rem;
  margin:30px auto 40px;
}

.home .get-certified .showcase ul {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  align-content: center;
  list-style: none;
}

.home .get-certified .showcase ul li { 
  padding-left: 1rem;
  position: relative;
  text-align: left; 
}

.home .get-certified .showcase ul li:not(:first-of-type) {
  margin-top: 1rem;
}

.home .get-certified .showcase ul li::before {
  color: var(--secondary-color);
  content: '■';
  display: inline-block;
  font-size: 9px;
  left: 0;
  line-height: 18px;
  position: absolute;
}

.home .get-certified .showcase ul li h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #172942;
  margin-bottom: .25rem;
}

.home .get-certified .showcase ul p {
  margin-top: 0;
}

.home .meet-instructors .wrapper {
  display: grid;
  grid-template-columns: minmax(250px,1fr) repeat(8,1fr);
  justify-content: space-between;
  align-items: center;
}

.home .meet-instructors div {
  grid-column: 1 / span 2;
  grid-row: 1;
}

.home .meet-instructors figure {
  grid-column: 2 / -1;
  grid-row: 1;
}

.home .meet-instructors .wrapper h2 {
  font-size: 1.6875rem;
  font-weight: 600;
  text-align: left;
  margin-bottom: 10px;
}

.home .meet-instructors .wrapper h2:hover {
  color: var(--secondary-color);
}

.home .meet-instructors .wrapper p {
}

.home .columns-three .wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 25px;
  margin: 50px auto;
}

.home .columns-three .wrapper h3 {
  margin-bottom: 30px;
}

.home #events {
  background: #f4fbfc;
  border-top: 10px solid #c3e3de;
  margin-top: 3.125rem;
  padding-bottom: 3.125rem;
  & .wrapper { margin-bottom:0 }
}

/* ==========================================================================
   Categories
   ========================================================================== */

.categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-row-gap: 30px;
  grid-column-gap: 5px;
  justify-content: center;
  margin: 40px 0 50px 0;
}

.categories a {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-content: center;
  justify-content: center;
  align-items: center;
  grid-column-gap: 1rem;
}

.categories p,
.categories a { 
  font-size: 1.125rem;
  font-weight: 600;
  color: #172942;
  line-height: 1.4rem;
}

.categories img {
  width: 30px;
}

.categories a:hover p { color: #ff6000; }
.categories a.grid-center { grid-column-end: -2; }

.categories.learn { margin-bottom: 60px; }
.categories.learn a:hover p { color:#dd1100; }
.categories.learn img { 
  max-width:30px; 
  width:auto; 
  margin: 0 auto;
}


/* ==========================================================================
   Filter box (used for course cards)
   ========================================================================== */

.mobile-filter { display: none; }

.filter-box {
  display: flex;
  background: #fff;
  box-shadow: 0 0 5px 0 rgba(100, 100, 100, 0.3);
  margin-bottom: .25rem;
}

.filter-box + .results {
  margin-bottom: 2rem;
  text-align: left;
}

.filter-box li { position: relative; }

.filter-box li > div {
  padding: 15px;
  font-size: 14px;
  font-weight: 400;
  color: #535353;
  cursor: pointer;
  position: relative;
}

.filter-box .input {
  padding: 10px;
}

.filter-box .input::after {
  content: "";
  width: 0;
}

.filter-box input {
  border: none;
  border-bottom: 1px solid var(--secondary-color);
  padding: 5px 5px 3px 0;
}

.filter-box li.checkbox label { cursor:pointer; }

.filter-box input[type="text"] {
  font-size: 14px !important;
  color: #535353;
}

.filter-box > li:last-of-type {
  margin-left: auto;
  padding: 8px;
}

.filter-box > li:last-of-type button {
  padding: 6px 10px;
  border: none;
}

.filter-box > li:last-of-type button svg {
  position: relative;
  top: 3px;
  transform: scaleX(-1);
  margin-left: 5px;
}

.filter-box > li:not(.input):not(.checkbox):not(:last-of-type) > div::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: .5rem;
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/arrow-down.svg) no-repeat;
  background-size: 10px 10px;
}

.filter-box > li:not(:last-of-type):hover > div::after {
  content: "";
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/arrow-down-hover.svg) no-repeat;
  background-size: 10px 10px;
}

.filter-box span {
  color: var(--secondary-color);
}

.filter-box li:not(.input):not(:last-of-type):hover > div {
  color: #fff;
  background: var(--secondary-color);
}

.filter-box > li .pill::before {
  content: "(";
  margin-right: 1px;
}

.filter-box > li .pill::after {
  content: ")";
  margin-left: 1px;
}

.filter-box > li:hover .pill {
  color: #172942;
}

.filter-box li ul {
  display: none; 
  flex-flow: column;
  flex-wrap: wrap;
  z-index: 2;
  left: 0;
  top: 48px;
}

.filter-box li:hover > ul {
  display: flex;
  position: absolute;
  background: var(--secondary-color);
}

.filter-box li ul li { 
  display: flex;
  align-items: baseline;
  padding: 8px 15px;
  color: #fff;
}

.filter-box li ul li .reset-radio-options {
  padding: 8px 17px;
  color: #444;
}

.filter-box li ul li label {
  min-width: 100px;
  white-space: nowrap;
  cursor: pointer;
}

.filter-box ul input {
  margin-right: 2px;
}

.filterHidden { display: none !important; }

/* ==========================================================================
   Featured courses (cards)
   ========================================================================== */

.cards-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px,1fr));
  grid-gap: 30px;
  justify-items: center;
  position: relative;
}

.cards-list .course-card {
  display: grid;
  grid-template-rows: auto 40px;
  border-radius: 2px;
  box-shadow: 0 0 5px 0 rgb(100,100,100,.3);
  border: none;
  cursor: pointer;
  color: var(--secondary-color);
  width: 100%;
  max-width: 230px;
  min-height: 250px;
  background: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  position: relative;
  transition: 0.3s;
  border: 1px solid #d9e4e6;
}

.cards-list .course-card-body {
  display: grid;
  position: relative;
  grid-template-rows: 30px auto;
  padding: 0;
  text-align: center;
  border: none;
  border-bottom: none;
  transition: 0.3s;
}

.cards-list .course-card:hover {
  border: 1px solid var(--secondary-color);
}

.cards-list .course-card:hover .course-card-footer {
  background: var(--secondary-color);
}

/* Courses featured badges */
/*#courses:not(.hide_featured) .cards-list .course-card.highlight .course-card-body::before, 
.course-catalog:not(.hide_featured) .cards-list .course-card.highlight .course-card-body::before {*/
:not(.hide_featured) .cards-list .course-card.highlight .course-card-body::before { 
  content: attr(data-highlight); 
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  display: block;
  background: var(--secondary-color);
  padding:4px 15px;
  font-size:.8rem;
  color:#fff;
  font-weight:600;
  text-transform: uppercase;
}

/*#courses:not(.hide_featured) .cards-list .course-card.highlight.new .course-card-body::before, 
.course-catalog:not(.hide_featured) .cards-list .course-card.highlight.new .course-card-body::before {*/
:not(.hide_featured) .cards-list .course-card.highlight.new .course-card-body::before { 
/*    content: "NEW";*/
    background: #ff6000;
    padding:4px 20px;
}

/*#courses:not(.hide_featured) .cards-list .course-card.highlight.updated .course-card-body::before, 
.course-catalog:not(.hide_featured) .cards-list .course-card.highlight.updated .course-card-body::before {*/
:not(.hide_featured) .cards-list .course-card.highlight.updated .course-card-body::before { 
/*   content: "UPDATED";*/
    background: #f9a233;
}

/*#courses:not(.hide_featured) .cards-list .course-card.highlight.on-demand .course-card-body::before, 
.course-catalog:not(.hide_featured) .cards-list .course-card.highlight.on-demand .course-card-body::before {*/
:not(.hide_featured) .cards-list .course-card.highlight.on-demand .course-card-body::before {
/*   content: "ON DEMAND";*/
    background: #8560a8;
}

/*.course-catalog:not(.hide_featured) .cards-list .course-card.highlight .course-card-body::before {
  top: -16px;
}*/

/*  */

.cards-list .course-card img {
  align-self: flex-end;
  margin-top: 1rem;
  width: 100%;
  max-width: 100%;
  max-height: 183px;
  height: auto;
  border: none;
}

.cards-list .course-card p {
  align-self: center;
  color: #172942;
  padding: 0 10px;
  line-height: 1.3;
}

/* Variations of the number of cards on the cards-list */

.cards-list[data-columns="1"],
.cards-list[data-columns="2"],
.cards-list[data-columns="3"] { 
  grid-template-columns: auto;
  grid-auto-flow: column;
  justify-content: center;
}

/* badges */

.badges {
  display: flex;
  list-style: none;
  justify-content: flex-end;
  top: -10px;
  position: relative;
  padding: 0 10px;
}

.badges li {
  width: 30px;
  height: 30px;
  order: 2;
  z-index: 1;
}

.badges li:hover::before {
  content: "";
  position: relative;
  top: -35px;
  transform: translateX(-50%);
  position: absolute;
  padding: 5px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 0 4px 0 #1c325145;
  font-size: 12px;
  font-weight: 400;
  color: #535353;
  z-index: 2;
}

.badges li:hover::after {
  content: "";
  position:absolute;
  transform:translateY(-13px) translateX(-50%);
  border:10px solid #fff;
  border-color: #fff transparent transparent transparent;
  z-index: 2; 
}

.badges .badge-completion:hover::before {
  content: "Completion\00A0 Certificate";
  width: 123px;
}

.badges .badge-attendance:hover::before {
  content: "Attendance\00A0 Certificate";
  width: 123px;
}

.badges .badge-completion,
.badges .badge-attendance,
.info .badge-completion::before,
.course-card.badge-completion::before {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Completion.svg) no-repeat;
}
.badges .badge-completion:hover,
.badges .badge-attendance:hover {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Completion-Hover.svg) no-repeat;
}

.info .badge-attendance::before,
.course-card.badge-attendance::before {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Attendance.svg) no-repeat;
}

.badges .badge-level1:hover::before {
  content: "Level\00A0 1\00A0 Certificate";
  width: 98px;
}

.badges .badge-level1,
.badges .badge-Level1,
.info .badge-level1::before,
.course-card.badge-level1::before {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Level1.svg) no-repeat;
}
.badges .badge-level1:hover,
.badges .badge-Level1:hover {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Level1-Hover.svg) no-repeat;
}

.badges .badge-level2:hover::before {
  content: "Level\00A0 2\00A0 Certificate";
  width: 98px;
}
.badges .badge-level2,
.badges .badge-Level2,
.info .badge-level2::before,
.course-card.badge-level2::before {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Level2.svg) no-repeat;
}
.badges .badge-level2:hover,
.badges .badge-Level2:hover {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Level2-Hover.svg) no-repeat;
}

.badges .badge-courseassistant:hover::before,
.badges .badge-assistant:hover::before {
  content: "AI Course\00A0 Assistant";
  width: 110px;
  white-space: nowrap;
}

.badges .badge-courseassistant,
.badges .badge-assistant,
.info .badge-courseassistant::before,
.info .badge-assistant::before,
.course-card.badge-assistant::before,
.course-card.badge-courseassistant::before {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Course-Assistant.svg) no-repeat;
  order: 1;
}
/*.badges .badge-courseassistant:hover,
.badges .badge-assistant:hover,
.badges .badge-courseassistant:hover,
.badges .badge-assistant:hover {
  background: url(assets/img/badges/Badge-Course-Assistant-Hover.svg) no-repeat;
}*/



.cards-list .course-card-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1c3251;
  font-size: 0.8125rem;
  font-weight: 400;
  color: #fff;
  padding: 10px;
  transition: 0.3s;
}

.cards-list .course-card-footer div {
  display: flex;
  align-items: center;
}

/*.cards-list .course-card-footer .duration::before {
  content: "";
  display: inline-block;
  background: url(assets/img/Clock.svg);
  background-size: 95px;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  background-position: -35.5px -26px;
}*/

/*.cards-list .course-card-footer .date::before,
.cards-list .course-card-footer .calendar::before {
  content: "";
  display: inline-block;
  background: url(assets/img/icons/calendar.svg);
  width: 20px;
  height: 20px;
  margin-right: 10px;
}*/

.cards-list .course-card-footer div+div {
  margin-left: 10px;
  border-left: 1px solid #fff;
  padding-left: 0.75rem;
}

.cards-list .course-card-footer div + .customText {
  padding-left: 10px;
}

/*.cards-list .course-card-footer .level::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 10px;
}
.cards-list .course-card-footer .level.beginner::before {
  background: url(assets/img/level-beginner.png) no-repeat;
  background-size: 18px 18px;
  background-position: 0px 1px;
}*/
.cards-list .course-card-footer .level.beginner::after {
  content: "Beginner";
}

/*.cards-list .course-card-footer .level.intermediate::before {
  background: url(assets/img/level-intermediate.png) no-repeat;
  background-size: 18px 18px;
  background-position: 0px 1px;
}*/
.cards-list .course-card-footer .level.intermediate::after {
  content: "Intermediate";
}

/*.cards-list .course-card-footer .level.advanced::before {
  background: url(assets/img/level-advanced.png) no-repeat;
  background-size: 18px 18px;
  background-position: 0px 1px;
}*/
.cards-list .course-card-footer .level.advanced::after {
  content: "Advanced";
}

/*.cards-list .course-card-footer .level.check::before,
.cards-list .course-card-footer .level.exam::before,
.cards-list .course-card-footer .level.exercises::before,
.cards-list .course-card-footer .level.quizzes::before,
.cards-list .course-card-footer .level.videos::before,
.cards-list .course-card-footer .level.activities::before,
.cards-list .course-card-footer .level.attendance::before,
.cards-list .course-card-footer .level.project::before {
  background: url(assets/img/icons/certification-check.png) no-repeat;
  background-size: 18px 18px;
  background-position: 0px 1px;
  margin-left: 0;
}*/
.cards-list .course-card-footer .level.custom::after { content: attr(data-custom); }
.cards-list .course-card-footer .level.exam::after { content: "Exam"; }
.cards-list .course-card-footer .level.exercises::after { content: "Exercises"; }
.cards-list .course-card-footer .level.activities::after { content: "Activities"; }
.cards-list .course-card-footer .level.quizzes::after { content: "Quizzes"; }
.cards-list .course-card-footer .level.videos::after { content: "Videos"; }
.cards-list .course-card-footer .level.attendance::after { content: "Attendance"; }
.cards-list .course-card-footer .level.project::after { content: "Project"; }

.cards-list .course-description {
  display: none;
  grid-column: 1 / -1;
  padding: 30px;
  border: 1px solid var(--secondary-color);
  background: #fff;
  width: 100%;
  bottom: -70px;
  z-index: 2;
}

.cards-list .course-description p.info:first-of-type {
  margin-top: 2px;
}

/* 
  Variation of course-description
  Used in: single-course;
 */

.course-info + .course-description p:first-of-type {
  margin-top: 0;
}

.course-info + .course-description {
  position: relative;
  padding: 25px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-shadow: 0 0 5px 0 rgba(100, 100, 100, 0.3);
  display: none;
  width: 100%;
  bottom: -20px;
  z-index: 2;
  margin-bottom: 70px;
}

.cards-list .course-card.open::after,
.cards-list .course-card.open::before,
.course-info.open li:last-of-type::after,
.course-info.open li:last-of-type::before {
  content: '';
  display: flex;
  justify-self: center;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  z-index: 2;
  border-width: 16px;
}

.course-info.open li:last-of-type::after,
.course-info.open li:last-of-type::before {
  right: -12px;
}

.cards-list .course-card.open::after {
  bottom: -32px;
  border-color: transparent transparent #fff transparent;
}

.cards-list .course-card.open::before {
  bottom: -31px;
  border-color: transparent transparent var(--secondary-color) transparent;
}

.cards-list .course-card.open + .course-description,
.course-info.open + .course-description {
  display: block;
  z-index: 1;
  overflow: hidden;
}

.cards-list .course-description h5 {
  font-size: 18px;
  font-weight: 600;
  color: #1c3251;
  margin-bottom: 5px;
}

.cards-list .course-description h6 {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--secondary-color);
}

.course-description .info {
  display: flex;
  font-size: 14px;
  font-weight: 400;
  color: #898989;
  margin: 0;
  line-height: 22px;
  margin: 5px 0;
}

.course-description .info:last-of-type {
  margin-bottom: 0;
}

.course-description .info .badge { order: 2; }
.course-description .info .badge-courseassistant { 
  order: 1; 
  padding-left: 0.375rem;
}

.course-description .info .badge::before,
.event-card .info .badge::before {
  content: "";
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  margin-right: 3px;
  top: 3px;
  z-index: 1;
}

.course-description .info .badge:not(:last-of-type)::after,
.event-card .info .badge:not(:last-of-type)::after {
  content: ",";
  margin-right: 5px;
}

.course-description .info+.btn {
  margin-top: 30px;
}

.cards-list .course-description p {
  font-size: 14px;
  font-weight: 400;
  color: #898989;
  margin: 0;
  line-height: 1.5;
}

.cards-list .course-description .summary,
.cards-list .course-description .summary p,
.event-card .summary,
.event-card .summary p {
  font-size: 16px;
  font-weight: 400;
  color: #535353;
  margin: 20px auto;
  line-height: 1.5;
}

.cards-list .course-description p:not(.summary) + .course_overview,
.cards-list .course-description p + p + .btn {
  margin-top: 30px;
}

.cards-list .course-description .course_overview h6 {
  padding-left: 0;
  padding-bottom: 1rem;
}

#single-course .course_overview_table,
.cards-list .course-description .course_overview_table {
  -webkit-columns: 3;
  -moz-columns: 3;
  columns: 3;
}

.cards-list .course-description .course_overview_table {
  margin-bottom: 30px;
}

#single-course .course-summary .course_overview_table li,
.cards-list .course-description .course_overview_table li {
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: flex-start;
  grid-gap: 1rem;
  font-size: 16px;
  font-weight: 400;
  color: #535353;
  padding: 5px 1rem;
  border-bottom: 1px solid #dbdbdb;
  width: 100%;
}

#single-course .course-summary #outline .course_overview_table li::before { display:none; }

/* ==========================================================================
   Banners
   ========================================================================== */

.full-blue-banner {
  background: #172942;
  padding: 20px 0;
  overflow-x: hidden;
}

.full-light-green-banner {
  background: #c3e3de;
  padding: 20px 0;
  overflow-x: hidden;
}

.full-orange-banner {
  padding: 25px 0;
  background: #ff6000;
  text-align: center;
}

.full-orange-banner h3 {
  font-size: 1.125rem;
  color: #fff;
  font-weight: 600;
}

.full-orange-banner h3:hover {
  color: #222;
}

.sign-up-banner,
.new-feature-stripe {
  background: var(--secondary-color); 
  padding: 20px 0;
  text-align: center;
}

.new-feature-stripe + .sign-up-banner {
  background: #ff6000; 
}
.new-feature-stripe + .sign-up-banner { margin-top: 2px; } 

.new-feature-stripe a,
.new-feature-stripe a:hover,
.sign-up-banner a,
.sign-up-banner a:hover {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
}

.sign-up-banner:hover {
  background: #ff6000; 
}

.new-feature-stripe + .sign-up-banner:hover  {
  background: #1d3251; 
}

/* ==========================================================================
   Events list
   ========================================================================== */

.events ul {
  list-style: none;
}

.events ul h4 {
  margin: 2px 0;
  font-size: 1rem;
  font-weight: 600;
  color: #172942;
}

.events ul h4:hover {
  color: #ff6000;
}

.events ul h5 {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--secondary-color);
}

.events ul li:not(:first-of-type) {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid #ccc;
}

.events ul li time+div {
  display: inline-block;
}

.events ul li time+div::before {
  content: "|";
  margin: 0 5px;
}

.columns-three .events ul + div,
.columns-three .course-catalog p + div {
  margin-top: 30px;
}

/* ==========================================================================
   Pages and Archives
   ========================================================================== */

#pages, #courses, #calendar {
  padding-top: 50px;
}

#pages h1,
#courses h1,
#topics h1,
#certifications h1,
#calendar h1,
#single-course h1,
.single h1 { 
  font-size: 2.25rem;
  font-weight: 600;
  color: #172942;
  margin-bottom: 10px;
}

#courses .courses-cards-list,
#certifications .courses-cards-list {
  background: #ecf8fb;
  padding: 50px 0;
}

/* ==========================================================================
   Search page
   ========================================================================== */
#search {
  background:#ecf8fb;
  padding:1.25rem 0 3.75rem;
  & .top-container { margin-bottom:20px; }
  & section > a { 
    font-size:1.125rem; 
  }
  & section:not(:last-of-type), & section+hr { margin-bottom: 3.75rem;  }
  & hr {
    border: none;
    height: 1px;
    background: #ccc;
  }
  & h1, & #featured-courses h2 {
    font-size:1.688rem;
    font-weight:600;
    margin-bottom: 3.125rem;
  }
  & h2 {
    font-size: 1.375rem;
    font-weight: 600;
    margin-bottom: 1.3125rem;
  }
  & h1, & h2 { color: #172942; }
  & h1 span, & h2 span { color:#777; }
  & h3 {
    font-size: 1.375rem;
    font-weight: 600;
    color: #777;
    margin-top: 2.5rem;
    margin-bottom: .5rem;
  }
  & section .btn { margin-top:1.3125rem; }
  & #nothing-found {
    & h2 { color:#777; }
  }
}

/*.search-input {
  background: url(/wp-content/themes/wolfram-u/assets/img/icons/search.svg) no-repeat;
  background-size: 20px 50%;
  background-position: right 20px center;
  padding-right: 45px;
}*/

/* ==========================================================================
   Single Course page
   ========================================================================== */

#single-course.video-course .course-featured {
  padding-bottom: 0;
}

#single-course section .wrapper {
  max-width: 1100px;
  margin: 0 auto;
}

#single-course h1,
#single-certification h1 {
  text-align: center;
}

#single-course h2 {
  font-size: 25px;
  font-weight: 600;
  color: #172942;
  padding-top: 50px;
  padding-bottom:40px;
  margin-bottom: 0;
  text-align: center;
}
#single-course h2 span.course-assistant {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/badges/Badge-Course-Assistant-Hover.svg) no-repeat;
  padding-left: 2.25rem;
}

#single-course h3 {
  font-size: 16px;
  font-weight: 600;
  color: #172942;
  text-align: center;
}

#single-course h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--secondary-color);
  text-transform: uppercase;
  text-align: center;
}

.top-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 30px;
}

#single-course .course-featured,
.single .highlighted-section {
  background: #ecf8fb;
  padding: 50px 0;
  margin-top: 50px;
  text-align: center;
}

#single-course .course-featured a,
#single-course .course-featured-img-wrapper {
  display: inline-block;
  grid-row: 1 / -1;
}

#single-course .course-featured a img,
#single-course .course-featured-img-wrapper img {
  margin: 0 auto;
  border: 2px solid #dcdcdc;
  width: 100%;
  height: auto;
}

#single-course .course-featured a:hover img {
  border-color: #ff6000;
}

#single-course .course-featured .course-summary {
  grid-column: 2;
  grid-row: 1;
}
#single-course .course-featured .course-btn {
  position: relative;
  margin-top: 1rem;
  z-index: 3;
  grid-column: 2;
  grid-row: 2;
}

#single-course .course-featured a:hover .course-btn {
  background: #ff6000;
}

#single-course .course-featured .badges {
  top: 18px;
  margin: 0 30px;
  z-index: 3;
}

#single-course .course-info,
.course-info-details {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style-type: none;
  list-style: inline;
  margin: 10px auto 0;
}

#single-course .course-info > li,
.course-info-details li {
  display: inline-block;
  position: relative;
}


#single-course .course-info > li:not(:last-of-type)::after,
.course-info-details > li:not(:last-of-type)::after {
  content: "|";
  margin: 0 5px;
}

#single-course .course-info > li,
#single-course .course-info > li a,
.single .sub-title,
.course-info-details > li {
  font-size: 16px;
  font-weight: 600;
  color: var(--secondary-color);
}
.course-info-details li { color: #999 }

#single-course .course-info li a:hover {
  color: #ff6000;
}

#single-course .course-info li.icon-download::before {
  content: "";
  width: 15px;
  height: 14px;
  display: inline-block;
  margin-right: 6px;
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/download.png) no-repeat;
}

#single-course .course-info li.icon-download:hover::before {
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/download-hover.png) no-repeat;
}

#single-course .course-info li .badges,
.course-info-details li .badges {
  display: inline-flex;
  top: 0;
  & > li { 
    width:20px;
    height: 20px;
    &::after {
      transform: translateY(-13px) translateX(0);
    }
    &::before {
      transform: translateX(-40%);
    }
  }
}

/*.course-info .certification-dropdown {
  cursor: pointer;
}*/

/*.course-info .certification-dropdown span {
  display: inline-block;
  width: 10px;
  height: 7px;
  margin-left: 5px;
  background: url(assets/img/Arrow.png) no-repeat;
  background-size: 10px 7px;
}

.course-info.open .certification-dropdown span {
  background: url(assets/img/Arrow-hover.png);
  background-size: 10px 7px;
}

.course-info.open .certification-dropdown::after {
  bottom: -22px;
  border-color: transparent transparent #fff transparent;
}

.course-info.open .certification-dropdown::before {
  bottom: -21px;
  border-color: transparent transparent #ccc transparent;
}
*/

/* Signed or anonymous user */

#single-course .sign-in .logged-in,
#single-course.signed-user .sign-in .anonymous-user,
#data-science-content #cost .button.logged-in,
#data-science-content.signed-user  #cost .button.anonymous-user,
#data-science-content #cost .large-link.logged-in,
#data-science-content.signed-user  #cost .large-link.anonymous-user  {
  display: none;
}

#single-course .sign-in .anonymous-user,
#single-course.signed-user .sign-in .logged-in,
#data-science-content  #cost .button.anonymous-user,
#data-science-content.signed-user  #cost .button.logged-in,
#data-science-content  #cost .large-link.anonymous-user,
#data-science-content.signed-user  #cost .large-link.logged-in {
  display: block;
}


/* single-course summary */

#single-course .course-summary .wrapper {
  padding-bottom: 50px;
}

#single-course .course-summary .wrapper div:not(:first-of-type) {
  margin-top: 30px;
}

#single-course .course-summary h3 {
  color: var(--secondary-color);
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  text-align: left;
  margin-top: 40px;
  font-weight: 400;
}

#single-certification p,
#single-course .course-summary p {
  font-size: 1rem;
  font-weight: 400;
  color: #535353;
  line-height: 1.75;
}

#single-course .course-summary .content-highlight-box {
  background: #f7f7f7;
  padding: 1.5rem;
  margin-bottom: 2rem;
}
#single-course.video-course .course-summary .content-highlight-box {
  margin-top:2rem;
}

#single-certification section:not(:first-of-type) a,
#single-course .course-summary p > a,
#single-course #course-custom-content {
  color: #535353;
}
#course-custom-content a {
  font-weight: 600;
  color: #172942;
}

#single-certification .course-summary a.anchor-link-icon {
  font-size: 16px;
  font-weight: 600;
  color: var(--secondary-color);
  display: flex;
  align-items: center;
}
#single-certification .course-summary a.anchor-link-icon::before {
  content: "";
  background: url(http://content.wolfram.com/sites/44/2024/12/jump-link.png) no-repeat;
  background-size: 14px 18px;
  width: 20px;
  height: 18px;
  display: inline-block;
  margin-top: 4px;
}

#single-certification a.anchor-link-icon:hover::before {
  filter: brightness(0) saturate(100%) invert(39%) sepia(80%) saturate(2554%) hue-rotate(2deg) brightness(104%) contrast(104%);
}

#single-certification section:not(:first-of-type) a:hover,
#single-course .course-summary p a:hover,
#course-custom-content a:hover {
  color: #ff6000;
}

.single .outline,
#single-course .course-summary #outline-wrapper {
  margin-top: 16px;
}

.single .outline li,
.single .outline p,
#single-course .course-summary #outline-wrapper li, 
#single-course .course-summary #outline-wrapper p {
  line-height: 1.7;
  position: relative;
  color: #535353;
}

#single-course .course-summary #outline li,
#single-course .course-summary #outline-wrapper p {
  padding: 0 .75rem .5rem;
}

.single .outline li::before,
.single .outline p::before,
#single-course .course-summary #outline li::before, 
#single-course .course-summary #outline p::before {
  background: var(--secondary-color);
  content: '';
  display: inline-block;
  height: 4px;
  margin: .7rem 0 0 -.75rem;
  position: absolute;
  width: 4px;
}

#single-course .course-featured + #course-schedule .wrapper {
  border-top: none;
}

/* Overlay for interactive courses */

.overlay-mooc { 
  max-width: 700px;
  position: relative; 
  overflow: hidden;
  display: grid !important;
  /* For squared overlay */
  /*grid-template-columns: 21% auto 21%;
  grid-template-rows: 62px 1fr;*/
  grid-template-columns: 19% auto 19%;
  grid-template-rows: min(57px,10vw) 1fr;
  justify-content: center;
  align-content: center;
  justify-items: center;
  align-items: flex-start;
}      
.overlay-mooc img:first-of-type {
  z-index: 2;
  position: relative;
  grid-column: 1 / -1;
  grid-row: 1 / -1;
}
.overlay-mooc img + img {
  z-index: 1;
  max-width: 100%;
  grid-row: 2;
  grid-column: 2;
  border-color: #000 !important;
}

/* Course certifications */

#single-course .course-summary + .course-certifications .wrapper,
#single-course #course-schedule + .course-certifications .wrapper,
#single-course #course-custom-content .wrapper {
  border-top: 1px solid #ccc;
}

#single-course .course-certifications {
  margin-bottom: 30px;
}

#single-course .course-certifications + .course-community-bar {
  margin-top: 0;
}

#single-course .certifications-list,
.media-list {
  list-style-type: none;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 30px;
}

#single-course .certifications-list {
  margin-bottom: 30px;
}

#single-course .certifications-list > li,
.media-list > li,
.event-card {
  display: grid;
  grid-template-columns: 50px 1fr 150px;
  grid-template-rows: auto;
  grid-column-gap: 20px;
  align-items: center;
  padding: 25px;
  background: #ecf8fb;
  border-radius: 2px;
  box-shadow: 0 0 5px 0 rgba(100, 100, 100,0.3);
}

#single-course .certifications-list > li.no-btn {
  grid-template-columns: 50px 1fr;
}

#single-course .certifications-list li img,
.media-list > li > img {
  grid-row: 1 / span 2;
  grid-column: 1;
}

#single-course .certifications-list li .btn,
.media-list li .btn {
  grid-row: 1 / span 2;
  grid-column: 3;
  text-align: center;
}

#single-course .certifications-list li p,
.media-list p {
  font-size: 1rem;
  font-weight: 400;
  color: #535353;
}

#single-course .certifications-list li p,
.media-list > li p {
  grid-row: 2;
  grid-column: 2;
  margin: 0;
  padding: 0;
}

#single-course .certifications-list li h4,
.media-list li h4,
.event-card h4,
.event-card .calendar-icon {
  font-size: 1.125rem;
  font-weight: 600;
  color: #172942;
  text-transform: none;
  margin-bottom: .3rem;
}

#single-course .certifications-list li h4,
#single-course .certifications-list li p,
.media-list li h4,
.media-list li p {
  text-align: left;
}

#single-course .course-about {
  margin-bottom: 50px;
  & .course-about__h2WithIcon {
    display: flex;
    justify-content: center;
    padding-top: 50px;
    padding-bottom: 40px;
    & > img { margin-right: .5rem; }
    & h2 { 
      padding:0;
      text-align: left;
    }
  }
  & h2 {
    /*display: flex;*/
    /*justify-content: center;*/
  }
}

/* Course community bar */

#single-course .course-community-bar {
  margin-top: 30px;
  text-align: center;
}

#single-course .course-summary + .course-community-bar {
  margin-top: 0;
}

#single-course .course-community-bar a {
  display: flex;
  justify-content: center;
  align-items: center;
}

#single-course .course-community-bar a:hover h3,
#single-course #course-schedule a:hover h3 {
  color: #ff6000;
}

#single-course .course-community-bar a > img {
  margin-right: 10px;
}

/* custom content */

#single-course #course-custom-content { margin-top: 4rem}

/* related content  */
.course-related {
  background: #ecf8fb;
  padding-bottom: 90px;
  margin-top: 50px;
}

.course-related h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--secondary-color);
  text-transform: uppercase;
  text-align: left;
}

#single-course .sign-up-banner + .course-related {
  margin-top: 0;
}

.course-related ul {
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 30px;
}

.course-related ul li a {
  display: grid;
  grid-template-columns: 85px 1fr;
  grid-template-rows: repeat(2,auto);
  align-items: center;
}

.course-related ul li a img {
  grid-row: 1 / span 2;
  grid-column: 1;
}

.course-related ul li a p {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: #172942;
  margin: 0;
  padding: 0;
}

.course-related ul li a:hover p {
  color: #ff6000;
}

#single-course .course-related h4,
.course-related h4,
.course-related p {
  text-align: left;
}

/* ==========================================================================
   Certification single
   ========================================================================== */

#single-certification h1 { margin-bottom:1rem; } 
#single-certification .highlighted-section img { border: 1px solid #D4DFD4; }

/* ==========================================================================
   For instructor-led courses
   ========================================================================== */

#single-course.instructor-led .course-featured .wrapper,
.single .highlighted-section .wrapper  {
  display: grid;
  grid-template-columns: 255px auto;
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}

#single-course.interactive-course .course-featured .wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto 1fr;
  grid-column-gap: 30px;
}

#single-course.instructor-led .course-featured .badges{
  display: none;
}

#single-course.instructor-led .course-featured .course-summary, 
#single-course.instructor-led .course-featured .course-summary p {
  text-align: left;
}

#single-course.instructor-led .course-featured img {
  width: 253px;
  height: auto;
}

#single-course.interactive-course .course-featured img {
  width: 100%;
  height: auto;
}


#single-course.instructor-led #course-schedule ul.certifications-list > li div {
  position: relative;
}


/* ==========================================================================
   For scheduled courses
   ========================================================================== */

#single-course #course-schedule {
  margin-bottom: 50px;
  & > .wrapper {
    border-top: 1px solid #ccc;
  }
}

/* ==========================================================================
   For video courses
   ========================================================================== */

#video.no-playlist {
  padding-bottom: 50px;
}

#video-wrapper {
  position: relative;
}

#video-wrapper, #video-iframe {
  border: none;
  max-height: 653px;
  outline: none;
  width: 100%;
}

#titlescreen {
  display: none;
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #fff;
  text-align: center;
  line-height: 2em;
  top: 0;
  bottom: 0;
  left: 0;
}

#video-playlist-wrapper {
  padding-top: 24px;
  min-height: 130px;
  max-height: 230px;
  overflow-y: auto;
  width: 100%;
} 

#video-playlist {
  width: 100%;
}

#video-playlist > div:hover {
  background: #cde8e4;
}

#video-playlist {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(auto-fill, minmax(200px, .20fr));
}

#video-playlist.grid-two { grid-template-columns: repeat(2, 220px);}
#video-playlist.grid-three { grid-template-columns: repeat(3, 220px);}
#video-playlist.grid-four { grid-template-columns: repeat(4, 220px);}

#video-playlist > div {
  display: grid;
  align-content: flex-start;
  padding: 16px 8px;
  cursor: pointer;
  min-width: 96px;
}

#video-playlist > div > div:first-of-type {
  margin-bottom: 10px;
}

#video-playlist > * > * {
  text-align: center;
}

#video-playlist .selected {
  background: #9cd1cc;
  color: #000;
}

#video-playlist .thumbnail {
  text-align: center;
}

#video-playlist .title {
  font-size: .875rem;
}

/* ==========================================================================
   Topic Course page #topics
   ========================================================================== */

#topics h1 {
  display: grid;
  grid-template-columns: 45px auto;
  grid-column-gap: 10px;
  align-items: center;
  justify-content: center;
  padding-top: 0;
}

#topics h2 { margin-bottom: 2.5rem; }
#topics h3 { 
  margin-bottom: 1rem; 
  color: #535353;
  font-weight: 400;
  line-height: 2rem;
}

#topics h1 img { 
  max-width:45px;
  margin-right:1rem;
}

#topics > section,
.section-padding-y {
  padding: 50px 0;
}

#topics section.section-border-top { padding-top: 0; }

#topics > section div.text-align-c a.btn-green { margin-top: 40px }

#topics .contrast,
.bg-contrast { background: #ecf8fb; }

#topics #topic-description + #popular-certifications { padding-top:0; }
#topics #topic-description + #popular-certifications .wrapper,
#topics section.section-border-top .wrapper,
.single section.section-border-top .wrapper {
  padding-top: 50px;
  border-top: 1px solid #ccc; 
}

#topics #popular-certifications + #upcoming-events .wrapper { border-top: 0 !important; }

/* Related resources for topics */
#topics .course-related {
  margin-top: .625rem;
}

#topics .course-related ul {
  grid-template-columns: repeat(2, 1fr);
}

#topics .course-related ul li a { align-items: flex-start; }

#topics section.contrast + section.display-n + section.section-border-top .wrapper {
  border-top: 0 !important;
}
#topics #topic-section-anchors a::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 11px;
  margin-right: 5px;
  background: var(--double-chevron-down) no-repeat;
  background-size: 15px 11px;
}

/* ==========================================================================
   Certifications
   ========================================================================== */

#certifications .description,
#courses .description {
  display: grid;
  grid-template-columns: .7fr .3fr;
  grid-column-gap: 2rem;
  margin-bottom: 40px;
}

#courses .description {
  grid-template-columns: .70fr .30fr;
}

#certifications .description img,
#courses .description img { width:100%; }

#certifications .description h2,
#courses .description h2 {
  font-size: 1.4375rem;
  line-height: 2rem;
  font-weight: 400;
  color: #535353;
  margin-bottom: 1rem;
  text-align: left;
}

#certifications .description p,
#courses .description p { line-height: 1.75rem; }

#certifications .description a,
#courses .description a,
#calendar .summary a,
#certification-content a,
#search section a,
a.link-blue { 
  font-weight:600;
  color:#172942; 
}

#certifications .description a:hover, 
#calendar .summary a:hover,
#certification-content a:hover,
#search section a:hover,
a.link-blue:hover,
#courses .description a:hover { color:#ff6000; }

#certifications .wrapper > h3 {
  font-size: 1.4375rem;
  font-weight: 400;
  line-height: 2rem;
  color: #535353;
  margin-bottom: 40px;
}

#certifications section .wrapper {
  padding-top: 50px;
}

#certifications #cards-section {
  background: #ecf8fb;
  padding-top: 45px;
}

/* ==========================================================================
   Calendar
   ========================================================================== */

#calendar h3 {
  font-size: 1.4375rem;
  font-weight: 400;
  color: var(--secondary-color);
}

#calendar h2 + a {
  font-size: 16px;
  font-weight: 600;
  color: var(--secondary-color);
  margin: .5rem auto 30px;
}

.events-list-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 30px;
  padding-bottom: 30px;
}

.event-card {
  grid-template-columns: 92px 1fr;
  padding: 1.5625rem;
}

.event-card h4 {
  margin-bottom: 5px;
  line-height: 1.2;
}

.event-card p {
  font-size: 14px;
  font-weight: 400;
  color: #898989;
  margin: 0;
}

.event-card p,
.event-card .info,
.event-card .details {
  line-height: 1.5;
}

.event-card p strong,
.event-card p.info,
.event-card .badge { color:#535353; }

.event-card .details {
  display: flex;
  flex-flow: row;
  align-items: center;
}

.event-card > div:first-of-type {
  display: grid;
  grid-row: 1 / -1;
  grid-column: 1;
  justify-content: center;
  align-self: flex-start;
}

.event-card > div:last-of-type {
  align-self: flex-start;
}

.event-card .calendar-icon {
  display: grid;
  width: 92px;
  height: 90px;
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/calendar-icon.svg) no-repeat;
  background-size: 90px 92px;
  text-align: center;
  line-height: 1rem;
  margin-bottom: 0.8rem;
  padding-top: 33px;
  padding-bottom: 5px;
  justify-content: center;
  align-items: center;
}

.event-card .summary {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; 
  overflow: hidden;
  word-break: break-word;
  position: relative;
  margin-top: 10px;
}

.event-card .summary.closed {
  margin-bottom: 8px;
}

.event-card .summary.closed::after {
  content: "";
  background: rgb(255,255,255);
  background: linear-gradient(180deg, rgba(255, 255, 255,0) 0%, rgb(236, 248, 251) 90%);
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 22px;
  left: 0;
}

.event-card .summary.open {
  -webkit-line-clamp: unset;
}
.event-card .open-close-btn {
  margin-bottom: 20px;
  display: none;
}

.event-card .summary.open + .open-close-btn,
.event-card .summary.closed + .open-close-btn {
  display: block;
}

.event-card .summary.closed + .open-close-btn::after {
  content: "\00a0More\00a0»";
}
.event-card .summary.open + .open-close-btn::after {
  content: "\00a0Less\00a0»";
}

/* ==========================================================================
   Shared
   ========================================================================== */
/* blurb with image */
.media-list.blurb {
  list-style-type: none;
  display: grid;
  grid-template-columns: 1fr;
}

.media-list.blurb > li {
  grid-template-columns: .33fr .67fr;
  grid-template-rows: auto 85px;
  padding: 0;
  padding-right: 25px;
}

.media-list.blurb > li > img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.media-list.blurb > li > div:first-of-type {
  align-self: flex-start;
  padding-top: 25px;
}

.media-list.blurb > li > div:last-of-type {
  align-self: flex-end;
  padding-top: 15px;
  padding-bottom: 25px;
}

.media-list.blurb > li > div {
  text-align: left;
}

.media-list.blurb h4 {
  margin-top: 0;
}

.media-list.blurb .info,
.event-card .details span {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--secondary-color);
  margin-bottom: 0;
}

/* Certifications card list */

.certifications-cards-list.cards-list {
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
}
.home .certifications-cards-list.cards-list {
  grid-template-columns: repeat(4, 1fr);
}

#topics .certifications-cards-list.cards-list[data-cards="1"],
#topics .certifications-cards-list.cards-list[data-cards="2"]  {
  grid-template-columns: auto;
  grid-auto-flow: column;
}

.home .cards-list .course-card,
.certifications-cards-list.cards-list .course-card {
  max-width: 315px;
}

.home .cards-list .course-card img, 
.certifications-cards-list.cards-list .course-card img {
  max-height: unset;
}

.certifications-cards-list.cards-list .course-card > .course-card-body {
  grid-template-rows: auto;
}

.certifications-cards-list.cards-list .course-card > .course-card-body > p {
  padding-top: 1rem;
}

/*
For icons on top of the cards 
---
.certifications-cards-list.cards-list .course-card::before {
  content: "";
  position: absolute;
  top: -28px;
  padding-left: 23px;
  font-size: 1rem;
  font-weight: 400;
  height: 30px;
}
.certifications-cards-list.cards-list .course-card > .course-card-body {
  grid-template-rows: 50px auto;
}
*/

.certifications-cards-list.cards-list .course-card.badge-completion::before,
.certifications-cards-list.cards-list .course-card.badge-attendance::before,
.certifications-cards-list.cards-list .course-card.badge-level1::before,
.certifications-cards-list.cards-list .course-card.badge-level2::before {
  background-size: 20px;
}

.certifications-cards-list.cards-list .course-card.badge-completion::before,
.certifications-cards-list.cards-list .course-card-body .badge.completion::after {
  content: "Completion";
}

.certifications-cards-list.cards-list .course-card.badge-attendance::before,
.certifications-cards-list.cards-list .course-card-body .badge.attendance::after {
  content: "Attendance";
}
.certifications-cards-list.cards-list .course-card.badge-level1::before,
.certifications-cards-list.cards-list .course-card-body .badge.level1::after {
  content: "Level\00A0 1";
}

.certifications-cards-list.cards-list .course-card.badge-level2::before,
.certifications-cards-list.cards-list .course-card-body .badge.level2::after {
  content: "Level\00A0 2";
}


.certifications-cards-list.cards-list .course-card-body .badge {
  display: table;
  margin: 0 auto;
  width: auto;
  height: auto;
  background-size: 18px 18px;
  padding-left: 1.56rem;
  color: var(--secondary-color);
  text-transform: none;
  font-style: unset;
  top: 0;
  background-position: left center;
}

/* ==========================================================================
   Tabs
   ========================================================================== */

  .tab-container > ul { 
    display: grid;
    grid-column-gap: .5rem;
    grid-auto-flow: column;
    justify-content: flex-start;
  }

  .tab-container > ul li {
    font-size: 1.125rem;
    font-weight: 600;
    color: #1c3251;
    background: #ecf8fb;
    padding: .625rem .9375rem;
    text-align: center;
    cursor: pointer;    
    transition: background-color .3s ease;
  }

  .tab-container > ul > li.dropdown { display:none; }

  .tab-container > ul > li.dropdown:hover,
  .tab-container > ul li.active {
    background: #1c3251;
    color: #fff;
  }

  .tab-container .tabs {
    border: 2px solid #1c3251;
    padding: 30px;
  }

  .tab-container h3 {
    font-size: 1.4375rem;
    font-weight: 400;
    color: var(--secondary-color);
    margin-bottom: .2rem;
  }

  .tab-container p,
  .tab-container .tabs li {
    font-size: 1rem;
    font-weight: 400;
    color: #535353;
  }

  .tab-container .tabs li {
    display: flex;
    align-items: normal;
    padding-left: .8rem;
    text-align: left;
  }

  .tab-container .tabs ul {
    margin-top: 1rem;
  }

  .tab-container .tabs > div:not(.active) { display: none; }
  .tab-container .tabs ul li:not(:last-of-type) { margin-bottom: .5rem; }
  .tab-container .tabs ul li::before {
    font-size: 6px;
  }

/* ==========================================================================
   Misc
   ========================================================================== */

/* colors */
.green, .secondary-color { color: var(--secondary-color); }

/* spacers */
hr.separator { 
  border:none; 
  margin: 3.125rem 0;
  border-top: 1px solid #ccc;
}

.spacer-main-footer,
.margin-b-50 { margin-bottom: 50px; }
.margin-t-50 { margin-top: 50px }
.margin-t-30 { margin-top: 30px }
.margin-b-30 { margin-bottom: 30px }
.margin-t-40 { margin-top: 40px }
.margin-b-40 { margin-bottom: 40px }

/* borders  */
.border-b-gray { border-bottom: 1px solid #ccc; }
.border-t-gray { border-top: 1px solid #ccc; }

.toggleActive { cursor: pointer; }

/* Pagination */
#pagination { text-align: right; }
.course-catalog #pagination { min-height: 50px; }
#pagination .screen-reader-text { display: none; }
#pagination .nav-links { margin: 30px 0; }
#pagination .navigation {
  width: auto;
  display: inline-block;
  margin-right: .3rem;
}

#pagination .nav-links .page-numbers {
    background: #fff;
    border-radius: 3px;
    color: #1c3251;
    box-shadow: 0 0 5px 0 rgb(100,100,100,.3);
    border:1px solid #d9e4e6; 
    font-size: 16px;
    padding: 0.2rem 0.5rem 0.3rem;
}

#pagination .nav-links .page-numbers:not(.current):hover {
  background: var(--secondary-color);
  color: #fff;
}

#pagination .nav-links .current {
  background: #1c3251;
  color:#fff;
}

/* Share buttons */
.share-btns {
  /*margin-top: 20px;
  margin-bottom: 30px;*/
  text-align: right;
}

/* Icons  */

.chevron-left::before {
  content: "\00a0\003C";
}

.chevron-right::after {
  content: "\00a0»";
}

.info-tooltip::before {
  content: "";
  width: 15px;
  height: 15px;
  background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/info-tooltip-icon.png) no-repeat;
  margin: 0 5px;
  display: inline-block;
  background-size: 15px;
  border-radius: 50%;
  background-position: center;
  top: 2px;
  position: relative;
  cursor: pointer;
}

.badge-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  top: 2px;
  position: relative;
  margin-right: 3px;
}

.badge-icon.level1,
.badge-icon.badge-level1,
.certifications-cards-list.cards-list .course-card-body .badge.level1 { 
  background: var(--badge-level1-hover) no-repeat;
}

.badge-icon.level2, .badge-icon.badge-level2,
.certifications-cards-list.cards-list .course-card-body .badge.level2 { 
  background: var(--badge-level2-hover) no-repeat;
}

.badge-icon.completion, .badge-icon.badge-completion,
.certifications-cards-list.cards-list .course-card-body .badge.completion  { 
  background: var(--badge-completion-hover) no-repeat;
}

.certifications-cards-list.cards-list .course-card-body .badge.attendance,
.badge-icon.attendance, .badge-icon.badge-attendance {
  background: var(--badge-attendance) no-repeat;
  background-size: 15px;
  background-position: 6px;
}

/* alignment */

.justify-self-s {justify-self: flex-start;}
.inline-flex { display: inline-flex !important; }

/* tooltip for timezones */

.info-tooltip-wrapper {
  display: inline-block;
  position: relative;
}

.info-tooltip-content {
  display: none;
  background: #fff;
  border-radius: .5rem;
  border: 1px solid #ddd;
  box-shadow: 0 0 6px #ddd;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.2;
  padding: .75rem 1rem;
  position: absolute !important;
  left: 9px;
  top: 18px;
  width: 12rem;
  z-index: 2;
}

.info-tooltip-wrapper.info-tooltip-btn .info-tooltip-content {
  width: calc(100% + 10px);
  bottom: calc(100% + 5px);
  top: unset;
  color: #333;
  left: 0;
}

.info-tooltip-wrapper.info-tooltip-btn .info-tooltip-content::after {
  content: "";
  position: absolute;
  transform: translateX(50%);
  left: 0;
  bottom: -20px;
  border: 10px solid #fff;
  border-color: #fff transparent transparent transparent;
  z-index: 3;
}

.info-tooltip-content strong,
.info-tooltip-content p  {
  line-height: 24px;
}

.info-tooltip-content a { color: #ff6c00; }
.info-tooltip-content a:hover { color: #000; }

.info-tooltip-wrapper:hover > .info-tooltip-content {
  display: block;
}

/* IP Stripe background */
body.stripe #IPstripe-outer { background: var(--secondary-color); }
body.stripe #IPstripe-outer:hover,
body.stripe #IPstripe-outer.slide-top { background:#f77700; }
body.stripe #IPstripe-outer.slide-top:hover {
    background: #ff9007;
}

/* magnific global overrides */
.mfp-container .mfp-content { padding: 0 !important; }
img.mfp-img { padding: 40px 0 !important; }
.mfp-content button.mfp-close { right: -12px; top: -12px !important; }

/*    ========================================================
  wri video
   ========================================================================== */

/*general*/
.wri-video { position: relative; text-align: center; }
.wri-video br { display: none; }

.wri-video:hover::before, .wri-video:hover::after, 
.wri-video:active::before, .wri-video:active::after, 
.wri-video.paused::before, .wri-video.paused::after, 
.wri-video.paused:active::before, .wri-video.paused:active::after {
    bottom: 20%; 
    content: '';
    left: 0; 
    margin: auto;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0; 
    z-index: 4;
}


/*border (before)*/
.wri-video:hover::before,
.wri-video:active::before,
.wri-video.paused::before,
.wri-video.paused:hover::before,
.wri-video.paused:active::before {
    background: rgba(0, 0, 0, 0.25);
    border: 3px solid rgba(255, 255, 255, 0.75);
    border-radius: 10px;
    height: 72px;
    width: 84px;
}
.wri-video:active::before,
.wri-video.paused:hover::before,
.wri-video.paused:active::before {
    border-color: #fff;
}


/*icons (after)*/
.wri-video:hover::after,
.wri-video:active::after,
.wri-video.paused::after,
.wri-video.paused:hover::after,
.wri-video.paused:active::after {
    background: url('https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/icon-play.svg') no-repeat;
}
.wri-video:hover::after,
.wri-video:active::after {
    height: calc(50px * 0.84); 
    width: calc(27px * 0.84); 
}
.wri-video.paused::after,
.wri-video.paused:hover::after, .wri-video.paused:active::after {
    height: 50px; 
    width: 25px;
}
.wri-video:hover::after { background: url('https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/icon-pause.svg') no-repeat; }
.wri-video:active::after { background: url('https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/icon-pause-hover.svg') no-repeat; }
.wri-video.paused:hover::after, .wri-video.paused:active::after { background: url('https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/icon-play-hover.svg') no-repeat; }

.wri-video.with-placeholder:not(.paused) video { display: block; }
.wri-video.with-placeholder:not(.paused) img { display: none; }
.wri-video.with-placeholder.paused video { display: none; }
.wri-video.with-placeholder.paused img { display: block; }

/*tooltip*/
.magnific.iframe.overlay-mooc:hover::after {
  content: "Watch Course Preview";
  background: #fff;
  margin-top: 22px;
  padding: 5px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 0 4px 0 #1c325145;
  font-size: 12px;
  font-weight: 400;
  color: #535353;
  z-index: 2;
}

.magnific.iframe.overlay-mooc:hover::before {
  content: "";
  transform: translateY(-10px) translateX(0);
  border: 10px solid #fff;
  border-color: transparent transparent #fff transparent;
  z-index: 3;
}

.magnific.iframe.overlay-mooc:hover::after,
.magnific.iframe.overlay-mooc:hover::before {
  position: absolute;  
  grid-column: 2/3;
  grid-row: 1 / -1;
  align-self: center;
}


/*no overlay*/
.wri-video.no-overlay::before, .wri-video.no-overlay::after { display: none; }



/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */

/* styles for large screens (1200px)
   ========================================================================== */

@media all and (max-width: 1200px) {

  .wrapper {
    max-width: 1060px;
    padding-left: 30px;
    padding-right: 30px;
  }

  /* Home hero for <1200w */

  .home .hero { 
    padding-top: 40px;
    background: linear-gradient(180deg, #1c3251 200px, #ecf8fb 30px);
  }

  /* Cards for < 1200w */

  .cards-list { 
    grid-template-columns: repeat(3, 1fr); 
    grid-gap: 30px;
  }

  .home .cards-list,
  .home .certifications-cards-list.cards-list,
  .cards-list.max-four-cards { 
    grid-template-columns: repeat(4, 1fr); 
  }

  .cards-list[data-columns="3"] { grid-template-columns: repeat(4, 1fr);  }

  .cards-list.max-four-cards { 
    grid-template-columns: repeat(2, 1fr); 
    grid-gap: 30px;
  }

  .home .cards-list .course-card:nth-child(2n+1) { justify-self: flex-end; }
  .home .cards-list .course-card:nth-child(2n+2) { justify-self: flex-start; }

  /* Course page */
  .filter-box li > div { padding: 15px 10px; }
  .filter-box > li.input { max-width: 150px; }

  .overlay-mooc { grid-template-rows: 4.6vw 1fr; }

}

/* styles for medium screens (900px)
   ========================================================================== */

@media all and (max-width: 900px) {

  header img.wu-header-logo { width: 200px; }
  header nav ul { justify-content: flex-end; }

  header .sub-menu { top: 89px; }
  header.sticky .sub-menu { top: 39px; }

  /* Home hero for 900w */

  .home .hero { 
    padding-top: 30px;
    background: linear-gradient(180deg, #1c3251 279px, #ecf8fb 30px);
  }
  .home .hero h1 { 
    text-align: center;
  }
  .home .hero .wrapper {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    justify-items: center;
    grid-gap: 2rem;
  }
  .home .hero .wrapper .hero-animation-wrapper {
    grid-column: 1;
  }
  .home .hero img { max-width: 500px; }

  /* Categories for < 900px */

  .categories a.grid-center { grid-column-end: unset; }

  /* Course catalog */

  .course-catalog figure img {
    width: 100%;
    height: auto;
  }

  #single-course .course_overview_table,
  .cards-list .course-description .course_overview_table {
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
  }

  .home .cards-list,
  .home .certifications-cards-list.cards-list,
  .cards-list.max-four-cards { 
    grid-template-columns: repeat(2, 1fr); 
    grid-gap: 30px;
  }

  .cards-list[data-columns="2"],
  .cards-list[data-columns="3"],
  .cards-list[data-columns="4"] { 
    grid-template-columns: repeat(auto-fill, 250px);
    grid-auto-flow: row;
    justify-content: center;
  }


  /* Single-course 900px */
  #single-course .course-featured #video-iframe { max-height: 450px; }
  #single-course.instructor-led .course-featured .wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: unset;
    justify-items: center;
    grid-row-gap: 3rem;
    & > * {
      grid-column: 1;
      grid-row: unset;
    }
    & .course-featured-img-wrapper, 
    & .course-featured-btn { grid-row:1 }
    & .course-featured-btn { 
      align-self: flex-end;
      bottom: -18px;
      position: relative;
    }
  }
  .overlay-mooc { grid-template-rows: 77px 1fr; }

  /* Filters for course cards */

  .mobile-filter { 
    display: flex;
    justify-content: space-between;
    background: #fff;
    box-shadow: 0 0 5px 0 rgba(100, 100, 100, 0.3);
    margin-bottom: .3rem; 
    padding: 15px;
  }
  
  .mobile-filter strong { 
    font-size: 16px;
    font-weight: 600;
    color: #172942;
  }

  .mobile-filter small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
    color: #898989;
  }

  .mobile-filter .icon {
    background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/mobile-sort-open.png) no-repeat;
    width: 18px;
    height: 18px;
    align-self: center;
  }

  .mobile-filter.active .icon {
    background: url(https://www.wolfram.com/wolfram-u/wp-content/themes/wolfram-u/assets/img/icons/mobile-sort-close.png) no-repeat;
    background-position: 0;
  }

  /* 
  
  The filter is constructed as: 

  ===================================

  div.mobile-filter - the menu button
  ul.filter-box - the main wrapper for the options
    li - the option wrapper 
      div - The label for the options
      ul - the wrapper for the options (hidden at first)
       li - the options (checkboxes or radios)
       li - the options (checkboxes or radios)
       ...
       ...
    li - the next option wrapper
    ...
    ...
    li - The last items are the search field
    li - and the submit button (we ignore them)
  
  ===================================

  Remember: 
    Ignore the last two <li>.

  ===================================

  The filter is hidden for < 900px.
  It is visible when the user clicks on .mobile-filter
  The click toggles .active (adding display: block);

  */

  .filter-box { 
    display: none; 
  }

  .filter-box li > div {
    padding: 10px 15px;
    color: #fff;
  }

  .filter-box > li .pill,
  .filter-box > li:hover .pill {
    color: #ecf8fb;
  }

  .filter-box li ul li label {
    color: #535353;
  }

  .filter-box li ul li div.reset-radio-options { color: var(--secondary-color); }

  .mobile-filter.active {
    margin-bottom: 0;
  }

  .mobile-filter.active + .filter-box { 
    display: flex; 
    flex-wrap: wrap;
  }

  /* Change the filter menu (except for the last two items) */
  .mobile-filter.active + .filter-box > li:not(:nth-last-of-type(-n+2)) {
    background: var(--secondary-color);
    border-bottom: 1px solid #1da491;
    color: #fff;
  }

  .mobile-filter.active + .filter-box > li:nth-last-of-type(3) {
    border-bottom-width: 4px;
  }

  .mobile-filter.active + .filter-box > li.input,
  .mobile-filter.active + .filter-box > li.input input {
    width: 100%;
    max-width: 100%;
    border-radius: none;
  }
  
  .mobile-filter.active + .filter-box li {
    flex-basis: 100%;
  }

  /* targeting the li inside the ul (dropdown items) */
  .mobile-filter.active .filter-box > li:not(:nth-last-of-type(-n+2)) > ul > li {
    position: relative;
  }

  /* Showing the dropdown menu when :hover  */
  .mobile-filter.active + .filter-box > li:hover:not(:nth-last-of-type(-n+2)) > ul {
    display: block;
    background: #fff;
    position: relative;
    top: 0;
    left: 0;
  }

  /* targeting the label when the dropdown li is :hover */
/*  .mobile-filter.active + .filter-box > li:nth-of-type(2n+1):not(:nth-last-of-type(-n+2)) + li > ul > li:hover > label,*/
  .mobile-filter.active + .filter-box > li > ul > li:hover > label,
  .filter-box li ul li:hover > div.reset-radio-options {
    color: #ff7000;
  }

  /* courses - video playlist */

  #video-playlist,
  #video-playlist.grid-two,
  #video-playlist.grid-three,
  #video-playlist.grid-four {
    grid-template-columns: repeat(auto-fill, minmax(145px, .25fr));
  } 

  /* Lists for < 900px */
  .tabs .list-square-bullets li::before { top: -3px; }
  
}

@media all and (max-width: 750px) { 

  /* menu */ 
  header #menu-header > li {padding: 30px 10px 30px 10px;}
  header .sub-menu { top: 79px }

  /* cards */

  .home .certifications-cards-list.cards-list,
  .certifications-cards-list.cards-list,
  .cards-list { 
    grid-template-columns: repeat(2, 1fr); 
    grid-gap: 30px;
  }

  /* Single-course instructor-led */
  #single-course.interactive-course .course-featured .wrapper {
    grid-template-columns: auto;
    justify-items: center;
    grid-row-gap: 30px;
  }

  .overlay-mooc { 
    grid-template-rows: 6.6vw 1fr;
    max-width: 450px;
  }

} 

/* styles for small screens (600px)
   ========================================================================== */

@media all and (max-width: 600px) {

  html, html:not(._header-thin-only) { border-top-width: 70px !important; }

  .wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }

  h2 { margin-bottom: 20px; }

  /* Header for < 600px */
  
  header .wrapper {
    grid-template-columns: 1fr auto auto;
    grid-column-gap: 5px;
    grid-template-rows: 41px auto;
  }

  header .inline-links,
  header nav { display: none; }
  header img.wu-header-logo { width: 150px; }
  header nav ul,
  header.sticky nav ul { flex-wrap: wrap; }
  header #menu-header > li { 
    padding: 10px 15px; 
    flex-basis: 100%;
  }
  header nav .sub-menu { 
    position: relative; 
    padding: 20px 0;
    max-height: 300px;
    overflow-y: scroll;
  }

  header nav .sub-menu,
  header.sticky nav .sub-menu {
    top: 0;
  }

  header .mobile-links {
    display: flex;
    justify-content: flex-end;
    order: 2;
  }

  /* home for < 600px */
  .home .hero {
    padding-top: 80px;
  }

  .home .hero figure { padding-top: 0; }
  .home .hero img { 
    max-width: 80%; 
    min-width: auto;
    min-height: auto;
  }
  .home .description { 
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .home .columns-three .wrapper { margin: 0 auto; }

  .home #featured,
  .home .get-certified,
  .home .columns-three .wrapper { 
    padding-top: 30px;
    padding-bottom: 30px; 
  }

  .home #featured .btn-green { margin-top: 20px; }
  .home .get-certified img { margin: 0 auto; }
  .home .get-certified .showcase { 
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
    margin-bottom: 20px;
  }

  .home .get-certified .showcase ul,
  .list-of-links li { padding-left: 10px; }

  .home .columns-three .wrapper { grid-template-columns: 1fr; }
  .home .columns-three .course-catalog { text-align: center; }
  .home .columns-three .wrapper h3 { 
    margin-bottom: 20px; 
    text-align: center;
  }

  .home .events ul + div,
  .columns-three .course-catalog p + div { 
    margin-top: 20px;
    text-align: center;  
  }

  /* Categories for < 600px */

  .categories {
    grid-template-columns: repeat(2, minmax(150px,250px));
    grid-column-gap: 20px;
  }

  /* Courses */

  #courses { padding-top:30px; }
  #courses h1 { margin-bottom: 30px; }
  #courses h1 + ul { display: none; }
  #courses .courses-cards-list { padding-top: 30px; }

  #single-course .course_overview_table,
  .cards-list .course-description .course_overview_table {
    -webkit-columns: 1;
    -moz-columns: 1;
    columns: 1;
  }

  /* Cards for < 600w */
  
  .home .certifications-cards-list.cards-list,
  .home .cards-list,
  .cards-list { 
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  #courses .cards-list .course-card.highlight:not(:first-of-type) {
    margin-top: 15px;
  }

  .home .cards-list .course-card:nth-child(n),
  .cards-list .course-card:nth-child(n) { justify-self: center; }

  .cards-list .course-card.open + .course-description {
    margin-top: 10px;
  }

  /* Certifications cards list */
  .certifications-cards-list { padding-top: 2rem; }
  .certifications-cards-list.cards-list { row-gap: 50px; }
  .certifications-cards-list.cards-list .course-card.open + .course-description {
    margin-bottom: -20px;
    margin-top: 0;
    top: -20px;
    position: relative;
  }

  /* tabs */
  .tab-container {
    position: relative;
    padding-top: 39px;
  }

  .tab-container > ul { 
    grid-template-columns: repeat(2,auto);
    grid-template-rows: auto;
    grid-auto-flow: row;
    position: absolute;
    top: 0px;
    z-index: 2;
  }

  .tab-container > ul > li:not(.active):not(.dropdown) { 
    order:3; 
    grid-column: 1 / -1;
  }

  .tab-container > ul > li.active {
    display: block;
    order: 1;
  }

  .tab-container:not(.open) > ul > li:not(.active):not(.dropdown) {
    display: none;
  }

  .tab-container > ul > li.dropdown {
    display: block;
    padding: 10px 1rem 10px 1rem;
    grid-order: 2;
    order: 2;
  }

  .tab-container > ul > li.dropdown::after { margin-left: 0; }


  /* Single-course for < 600px */

  #single-course h1 { font-size: 29px; }
  #single-course h2,
  #calendar h2 { 
    font-size: 20px;
    padding-top: 30px;
    padding-bottom: 20px; 
  }
  #single-course h3 { text-align: left; }
  .overlay-mooc { grid-template-rows: 8.4vw 1fr; }

  #single-course .course-featured .badges { margin: 0 10px; }
  #single-course .course-featured .badges li:hover::before { 
    transform: translateX(-80%);
  }

  #single-course .course-featured #video-iframe { 
    height: auto; 
    min-height: 215px;
  }
  #single-course .course-featured #video { margin-top:20px; }

  #single-course .course-info + .course-description {
    margin-bottom: 60px;
  } 

  #single-course .course-info li, 
  #single-course .course-info li a { font-size: 14px; }
  #single-course .course-featured {
    margin-top: 30px;
    padding: 25px 0;
  }

  #single-course .certifications-list {
    grid-gap: 20px;
  }

  #single-course .certifications-list > li,
  .media-list > li {
    grid-template-columns: 50px minmax(200px,1fr);
    padding: 25px 20px;
  }

  #single-course .certifications-list li .btn,
  .media-list li .btn {
    grid-row: 3;
    grid-column: 2;
    margin-top: 20px;
    max-width: 150px;
  }

  .course-related ul {
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }

  /*#single-course .course-about { margin-top: 30px;  }*/
  #single-course .course-community-bar { margin-top: 20px; }
  .course-related { 
    padding-bottom: 30px;
    margin-top: 30px; 
  }

  #single-certification { padding-top: 30px; }
  #single-certification .course-summary a.anchor-link-icon {
    align-items: flex-start;
  }

  /* topics */
  #topics .course-related ul,
  #topics .certifications-cards-list.cards-list[data-cards],
  .certifications-cards-list.cards-list { 
    grid-template-columns: 1fr;
    grid-auto-flow: row;
  }

  /* Certifications  */
  #certifications .description,
  #courses .description {
    grid-template-columns: 1fr;
    grid-row-gap: 2rem;
    margin-bottom: 30px;
  }

  #certifications .description img,
  #courses .description img { 
    width:80%;
    margin: 0 auto;
  }

  .single .highlighted-section .wrapper {
    grid-template-columns: 1fr;
  }

  .timeline ul li { padding: 0 0 30px 0; }

  /* media list */
  .media-list.blurb > li {
    padding-right: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .media-list.blurb > li > img { 
    width: 100%; 
    object-fit: contain;
  }
  .media-list.blurb > li > div:first-of-type {
    padding: 25px;
  }
  .media-list.blurb > li > div:last-of-type {
    padding: 25px;
    padding-top: 0;
  }

  /* Banners */

  .full-orange-banner h3 { line-height: 22px; }
  .full-blue-banner, .full-light-green-banner { padding-bottom: 25px; }
  
  .home .meet-instructors .wrapper {
    grid-template-columns: 1fr;
    & h2, & p { text-align:center; }
  }

  .share-btns { margin-top: 30px; }

  /* tooltip */
  .info-tooltip-content { left: unset; right: -50px; }

  .course-info.open li:last-of-type::after, .course-info.open li:last-of-type::before { 
    right: 0;
  }

  .magnific.iframe.overlay-mooc:hover::after { margin-top: 60px; }
  .magnific.iframe.overlay-mooc:hover::before { transform:translateY(9px) translateX(0); }

}


/* styles for minimum supported screen width (320px)
   ========================================================================== */

@media all and (max-width: 320px) {

  /* Overlay for interactive courses */
  .overlay-mooc {
    /*grid-template-rows: 26px auto;*/
    grid-template-rows: 32px auto;
  }
}


/* styles for minimum supported screen height
   ========================================================================== */

@media all and (max-height: 550px) {
  header .sub-menu {
    max-height: 200px;
    overflow-y: scroll;
  }
}

/* printer styles
   ========================================================================== */

@media print {}