/**** FONTS ****/

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-200-normal.woff) format("woff");
  font-style: normal;
  font-weight: 200;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-300-normal.woff) format("woff");
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-300-italic.woff) format("woff");
  font-style: italic;
  font-weight: 300;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-400-normal.woff) format("woff");
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-400-italic.woff) format("woff");
  font-style: italic;
  font-weight: 400;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-500-normal.woff) format("woff");
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-500-italic.woff) format("woff");
  font-style: italic;
  font-weight: 500;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-700-normal.woff) format("woff");
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: nyt-cheltenham;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-cheltenham-700-italic.woff) format("woff");
  font-style: italic;
  font-weight: 700;
}

@font-face {
  font-family: nyt-franklin;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-franklin-300-normal.woff) format("woff");
  font-style: normal;
  font-weight: 300;
}

@font-face {
  font-family: nyt-franklin;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-franklin-300-italic.woff) format("woff");
  font-style: italic;
  font-weight: 300;
}

@font-face {
  font-family: nyt-franklin;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-franklin-500-normal.woff) format("woff");
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: nyt-franklin;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-franklin-500-italic.woff) format("woff");
  font-style: italic;
  font-weight: 500;
}

@font-face {
  font-family: nyt-franklin;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-franklin-700-normal.woff) format("woff");
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: nyt-franklin;
  src: local("ÃƒÆ’Ã‚Â¢Ãƒâ€¹Ã…â€œÃƒâ€šÃ‚ÂºÃƒÆ’Ã‚Â¯Ãƒâ€šÃ‚Â¸Ãƒâ€¦Ã‚Â½"), url(fonts/nyt-franklin-700-italic.woff) format("woff");
  font-style: italic;
  font-weight: 700;
}

/**** UTILITIES ****/

/* Margins & Padding */

.nomar {
  margin: 0 !important;
}

.nomar-left {
  margin-left: 0 !important;
}

.nomar-right {
  margin-right: 0 !important;
}

.mb0px {
  margin-bottom: 0 !important;
}

.mb10px {
  margin-bottom: 0.625rem !important;
}

.mb15px {
  margin-bottom: 0.9375rem !important;
}

.mb20px {
  margin-bottom: 1.25rem !important;
}

.mb25px {
  margin-bottom: 1.563rem !important;
}

.mb30px {
  margin-bottom: 1.875rem !important;
}

.mb40px {
  margin-bottom: 2.5rem !important;
}

.mb45px {
  margin-bottom: 2.813rem !important;
}

.mb50px {
  margin-bottom: 3.125rem !important;
}

.mb60px {
  margin-bottom: 3.75rem !important;
}

.mt0px {
  margin-top: 0 !important;
}

.mt10px {
  margin-top: 0.625rem !important;
}

.mt15px {
  margin-top: 0.9375rem !important;
}

.mt20px {
  margin-top: 1.25rem !important;
}

.mt25px {
  margin-top: 1.563rem !important;
}

.mt30px {
  margin-top: 1.875rem !important;
}

.mt40px {
  margin-top: 2.5rem !important;
}

.mt45px {
  margin-top: 2.813rem !important;
}

.mt50px {
  margin-top: 3.125rem !important;
}

.mt60px {
  margin-top: 3.75rem !important;
}

.nopad {
  padding: 0 !important;
}

.nopad-left {
  padding-left: 0 !important;
}

.nopad-right {
  padding-right: 0 !important;
}

.pb0px {
  padding-bottom: 0 !important;
}

.pb10px {
  padding-bottom: 0.625rem !important;
}

.pb15px {
  padding-bottom: 0.9375rem !important;
}

.pb20px {
  padding-bottom: 1.25rem !important;
}

.pb25px {
  padding-bottom: 1.563rem !important;
}

.pb30px {
  padding-bottom: 1.875rem !important;
}

.pb40px {
  padding-bottom: 2.5rem !important;
}

.pb45px {
  padding-bottom: 2.813rem !important;
}

.pb50px {
  padding-bottom: 3.125rem !important;
}

.pb60px {
  padding-bottom: 3.75rem !important;
}

.pt0px {
  padding-top: 0 !important;
}

.pt10px {
  padding-top: 0.625rem !important;
}

.pt15px {
  padding-top: 0.9375rem !important;
}

.pt20px {
  padding-top: 1.25rem !important;
}

.pt25px {
  padding-top: 1.563rem !important;
}

.pt30px {
  padding-top: 1.875rem !important;
}

.pt40px {
  padding-top: 2.5rem !important;
}

.pt45px {
  padding-top: 2.813rem !important;
}

.pt50px {
  padding-top: 3.125rem !important;
}

.pt60px {
  padding-top: 3.75rem !important;
}

/* Typography */

.strong {
  font-weight: 700;
}

.uppercase {
  text-transform: uppercase !important;
}

.nowrap {
  white-space: nowrap;
}

wbr:after {
  content: "\00200B";
}

.ellipsis,
.ellipsis > * {
  overflow: hidden !important;
}

.unstyled-blockquote {
  margin: 0 auto;
  max-width: 100%;
}

.unstyled-blockquote:before,
.unstyled-blockquote cite:before {
  content: none;
}

.unstyled-list {
  list-style: none;
  margin-top: 0;
  padding-left: 0;
}

.unstyled-list li {
  line-height: normal;
  margin-top: 0;
}

.unstyled-list li ol,
.unstyled-list li ul {
  padding-left: 0;
}

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

.nolink,
.nolink > a {
  cursor: text !important;
  text-decoration: none !important;
}

.nolink:hover,
.nolink > a:hover {
  text-decoration: none !important;
}

.block {
  display: block;
}

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

.break {
  display: inline-block;
}

.break-sm {
  display: block;
}

@media only screen and (min-width: 48em) {
  .break {
    display: block;
  }

  .break-sm {
    display: inline-block;
  }
}

/* Grid */

.full-width .row {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/**** Colors ****/

.overlay {
  color: #fff;
}

.overlay.img-block,
.overlay .img-block {
  background-color: #222;
}

.overlay.img-block:after,
.overlay .img-block:after {
  background: rgba(0, 0, 0, 0.4);
  content: "";
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: background 0.3s;
}

.white-bg {
  background-color: #fff !important;
}

.lightgray-bg {
  background-color: #f4f4f4 !important;
}

.gray-bg {
  background-color: #e5e5e5 !important;
}

.darkgray-bg {
  background-color: #333 !important;
}

.black-bg {
  background-color: #222 !important;
}

.red-bg {
  background-color: #c30e19 !important;
}

.yellow-bg {
  background-color: #ffbc00 !important;
}

.blue-bg {
  background-color: #508cd1 !important;
}

.darkblue-bg {
  background-color: #006da3 !important;
}

.lightblue-bg {
  background-color: #cfdee7 !important;
}

.no-bgcolor {
  background-color: transparent !important;
}

.red-bg,
.blue-bg,
.black-bg,
.darkgray-bg,
.darkblue-bg {
  color: #fff;
}

.red-bg a,
.blue-bg a,
.black-bg a,
.darkgray-bg a,
.darkblue-bg a {
  color: #fff;
  text-decoration: underline;
}

.red-bg a:hover,
.blue-bg a:hover,
.black-bg a:hover,
.darkgray-bg a:hover,
.darkblue-bg a:hover {
  color: #fff;
  text-decoration: none;
}

.yellow-bg a,
.lightblue-bg a {
  color: #333;
  text-decoration: underline;
}

.yellow-bg a:hover,
.lightblue-bg a:hover {
  color: #333;
  text-decoration: none;
}

.white-bg a {
  color: #dd2e32;
  text-decoration: none;
}

.white-bg a:hover {
  color: #dd2e32;
  text-decoration: underline;
}

.red {
  color: #dd2e32 !important;
}

/* Show & Hide */

.offscreen {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

@media only screen and (max-width: 47.9375em) {
  .small-hide {
    display: none !important;
  }

  .small-show {
    display: block !important;
  }
}

@media only screen and (max-width: 63.9375em) {
  .medium-and-down-hide {
    display: none !important;
  }

  .medium-and-down-show {
    display: block !important;
  }
}

@media only screen and (min-width: 48em) {
  .medium-and-up-hide {
    display: none !important;
  }

  .medium-and-up-show {
    display: block !important;
  }
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
  .medium-hide {
    display: none !important;
  }

  .medium-show {
    display: block !important;
  }
}

@media only screen and (min-width: 64em) {
  .large-hide {
    display: none !important;
  }

  .large-show {
    display: block !important;
  }
}

/* Alignment */

.tac {
  text-align: center !important;
}

.tal {
  text-align: left !important;
}

.tar {
  text-align: right !important;
}

.small-tac {
  text-align: center !important;
}

.small-tal {
  text-align: left !important;
}

.small-tar {
  text-align: right !important;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.nofloat {
  float: none !important;
}

.small-fl {
  float: left !important;
}

.small-fr {
  float: right !important;
}

.small-fn {
  float: none !important;
}

@media only screen and (min-width: 48em) {
  .medium-tac {
    text-align: center !important;
  }

  .medium-tal {
    text-align: left !important;
  }

  .medium-tar {
    text-align: right !important;
  }

  .medium-fl {
    float: left !important;
  }

  .medium-fr {
    float: right !important;
  }

  .medium-fn {
    float: none !important;
  }
}

@media only screen and (min-width: 64em) {
  .large-tac {
    text-align: center !important;
  }

  .large-tal {
    text-align: left !important;
  }

  .large-tar {
    text-align: right !important;
  }

  .large-fl {
    float: left !important;
  }

  .large-fr {
    float: right !important;
  }

  .large-fn {
    float: none !important;
  }
}

.center {
  display: table;
  width: 100%;
  height: 100%;
}

.center > a,
.center > div,
.center > span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

/* Navigation */

.anchor-point {
  height: 4rem;
  margin-top: -4rem;
  visibility: hidden;
}

/* Interaction */

.hover-scale-deep img,
.hover-scale-shallow img,
.hover-scale-deep .img-block,
.hover-scale-shallow .img-block {
  transition: transform 0.3s;
}

.hover-scale-deep:hover img,
.hover-scale-deep:hover .img-block {
  -webkit-transform: scale(1.15);
  -ms-transform: scale(1.15);
  transform: scale(1.15);
}

.hover-scale-shallow:hover img,
.hover-scale-shallow:hover .img-block {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

/* Images */

.img-block {
  background-color: #333;
  background-position: 50% 50%;
  background-size: cover;
  bottom: 0;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.img-block-inner {
  bottom: 1.5rem;
  left: 1.5rem;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 1;
}

.fill:before {
  content: "";
  display: block;
  padding-top: 100%;
}

/* Decoration */

.divider-dot:before {
  content: "\00B7";
  display: inline-block;
  font-family: sans-serif;
  font-size: inherit;
  line-height: 1;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  vertical-align: middle;
}

.greyline-1px-btm,
.lightline-1px-btm,
.greyline-1px-top,
.lightline-1px-top,
.darkline-1px-btm,
.darkline-1px-top {
  display: inline-block;
  width: 100%;
}

.greyline-1px-btm,
.lightline-1px-btm {
  border-bottom: 0.0625rem solid #cfcfcf;
}

.greyline-1px-top,
.lightline-1px-top {
  border-top: 0.0625rem solid #cfcfcf;
}

.darkline-1px-btm {
  border-bottom: 0.0625rem solid #afafaf;
}

.darkline-1px-top {
  border-top: 0.0625rem solid #afafaf;
}

.top-line-dark:before,
.top-line-light:before {
  border-top-style: solid;
  border-top-width: 2px;
  content: "";
  display: block;
  margin-bottom: 0.5em;
  max-width: 18rem;
  width: 100%;
}

.top-line-dark:before {
  border-top-color: #333;
}

.top-line-light:before {
  border-top-color: #fff;
}

/**** UNIVERSAL ****/

.preload * {
  transition: 0s 0s !important;
}

body {
  background-color: #fff;
  color: #333;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-smooth: antialiased;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01rem;
  text-rendering: optimizeLegibility;
}

/**** TYPOGRAPHY ****/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-smooth: subpixel-antialiased;
  -webkit-font-smoothing: subpixel-antialiased;
  font-weight: 700;
  margin-bottom: 1.5rem;
  margin-top: 0;
}

h4,
h5,
h6 {
  margin-bottom: 1rem;
}

p + h1,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6 {
  margin-top: 2.5rem;
}

/* Headings */

h1 {
  font-size: 3rem;
  line-height: 1.1;
}

h2 {
  font-size: 2rem;
  line-height: 1.2;
}

h3 {
  font-size: 1.5rem;
  line-height: 1.3;
}

h4 {
  font-size: 1.3rem;
  line-height: 1.3;
}

h5 {
  font-size: 1.125rem;
  line-height: 1.3;
}

h6 {
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.04375rem;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Paragraphs */

p,
.subheader,
.subheader > * {
  font-weight: 400;
  margin-bottom: 0;
  margin-top: 1.5rem;
}

p:first-of-type,
.subheader:first-of-type,
.subheader:first-of-type > * {
  margin-top: 0;
}

/*p+p,
.subheader+.subheader,
.subheader>*+.subheader>* {
  margin-top: 1.5rem;
}*/

.subheader,
.subheader > * {
  font-size: 1.3rem;
  line-height: 1.4;
}

p {
  font-size: 1.125rem;
  line-height: 1.5;
}

@media only screen and (min-width: 48em) {
  h1 {
    font-size: 4rem;
  }

  h2 {
    font-size: 3rem;
  }

  h3 {
    font-size: 2rem;
  }

  h4 {
    font-size: 1.55rem;
  }

  h5 {
    font-size: 1.35rem;
  }

  .subheader,
  .subheader > * {
    font-size: 1.4375rem;
    line-height: 1.5;
  }

  p {
    font-size: 1.25rem;
  }
}

/* Lists */

ol,
ul {
  margin-top: 1.5rem;
  padding-left: 1.4rem;
}

ol:first-of-type,
ul:first-of-type {
  margin-top: 0;
}

li {
  font-size: 1.125rem;
  line-height: 1.5;
}

li ol,
li ul {
  padding-left: 1.4rem;
}

li > ol,
li > ul,
li > li,
li li {
  margin-top: 0.5rem;
}

@media only screen and (min-width: 64em) {
  li {
    font-size: 1.25rem;
  }
}

/* Blockquotes */

blockquote {
  margin-bottom: 2rem;
  margin-left: 3rem;
  margin-top: 2rem;
  max-width: 40rem;
  position: relative;
  quotes: "\201C""\201D""\2018""\2019";
}

.tac blockquote {
  margin-left: auto;
  margin-right: auto;
}

blockquote:before {
  color: #ccc;
  content: open-quote;
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 5rem;
  left: -3rem;
  line-height: 1;
  margin-top: 0.25rem;
  position: absolute;
  top: 0;
}

blockquote:after {
  content: close-quote;
  float: left;
  font-size: 0;
  left: -9999px;
  visibility: hidden;
}

blockquote p {
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0;
  letter-spacing: -0.02rem;
}

blockquote cite {
  color: #666;
  display: inline-block;
  font-size: 1rem;
  font-style: oblique;
  line-height: 1;
  margin-top: 0.5rem;
}

blockquote cite:before {
  content: "\2014";
  margin-right: 0.5rem;
}

blockquote cite a {
  color: inherit;
  text-decoration: underline;
}

blockquote cite a:hover {
  text-decoration: none;
}

@media only screen and (min-width: 48em) {
  blockquote {
    margin-bottom: 2.5rem;
    margin-left: 4rem;
    margin-top: 2.5rem;
  }

  blockquote:before {
    font-size: 6rem;
    left: -4rem;
  }

  blockquote p {
    font-size: 1.8rem;
  }
}

/* Tables */

table {
  border-collapse: collapse;
  margin-top: 1.5rem;
  table-layout: fixed;
  width: 100%;
}

table:first-child {
  margin-top: 0;
}

th,
td {
  padding: 0.8rem;
  text-align: left;
  border: 0.0625rem solid #cfcfcf;
}

th {
  background-color: #eee;
}

.tac th,
.tac td {
  text-align: center;
}

@media only screen and (min-width: 48em) {
  th,
  td {
    padding: 1rem;
  }
}

/* Other */

small {
  display: inline-block;
  line-height: 1.25;
}

small + small {
  margin-top: 0.2rem;
}

hr {
  display: inline-block;
  margin-bottom: 2rem;
  margin-top: 2rem;
  vertical-align: text-top;
  width: 100%;
}

/**** LINKS & BUTTONS ****/

a,
a:hover {
  color: #dd2e32;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a[href^="tel:"],
a[href^="tel:"]:hover,
a[href^="tel:"]:focus,
a[href^="tel:"]:active {
  cursor: default;
  text-decoration: none !important;
}

.anchor,
button.anchor {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  color: #dd2e32;
  text-decoration: underline;
}

.anchor:hover,
button.anchor:hover {
  text-decoration: none;
}

.button,
a.button,
button.button {
  border-radius: 0;
  display: inline-block;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 0.87rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 0.87rem;
  min-width: 6.5rem;
  padding: 1rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.3s, color 0.3s;
  width: auto;
}

.red-button,
a.red-button,
button.red-button {
  background-color: #dd2e32;
  color: #fff;
}

.red-button:hover,
a.red-button:hover,
button.red-button:hover {
  background-color: #c30e19;
}

.outline-button.red-button,
a.outline-button.red-button,
button.outline-button.red-button {
  border-color: #dd2e32;
  color: #dd2e32;
}

.outline-button.red-button:hover,
a.outline-button.red-button:hover,
button.outline-button.red-button:hover {
  background-color: #dd2e32;
  color: #fff;
}

.white-button,
a.white-button,
button.white-button {
  background-color: #fff;
  color: #333;
}

.white-button:hover,
a.white-button:hover,
button.white-button:hover {
  background-color: #dfdfdf;
}

.outline-button.white-button,
a.outline-button.white-button,
button.outline-button.white-button {
  border-color: #fff;
  color: #fff;
}

.outline-button.white-button:hover,
a.outline-button.white-button:hover,
button.outline-button.white-button:hover {
  background-color: #fff;
  color: #333;
}

.lightgray-button,
a.lightgray-button,
button.lightgray-button {
  background-color: #eee;
  color: #333;
}

.lightgray-button:hover,
a.lightgray-button:hover,
button.lightgray-button:hover {
  background-color: #ddd;
}

.darkgray-button,
a.darkgray-button,
button.darkgray-button {
  background-color: #333;
  color: #fff;
}

.darkgray-button:hover,
a.darkgray-button:hover,
button.darkgray-button:hover {
  background-color: #222;
}

.outline-button.darkgray-button,
a.outline-button.darkgray-button,
button.outline-button.darkgray-button {
  border-color: #333;
  color: #333;
}

.outline-button.darkgray-button:hover,
a.outline-button.darkgray-button:hover,
button.outline-button.darkgray-button:hover {
  background-color: #333;
  color: #fff;
}

.outline-button,
a.outline-button,
button.outline-button {
  background-color: transparent;
  border-style: solid;
  border-width: 2px;
  padding: 0.87rem;
}

button:disabled,
button:disabled:hover {
  background-color: #aaa;
  color: #eee;
  cursor: default;
  pointer-events: none;
}

/* Button Group */

.button-group > span {
  display: inline-block;
  margin-bottom: 0.8rem;
  width: 100%;
}

.button-group > span:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 30em) {
  .button-group > span {
    margin-bottom: 0;
    width: auto;
  }

  .button-group > span:nth-child(2),
  .button-group .button-group-button-2 {
    margin-left: 0.8rem;
  }
}

/**** IMAGES ****/

/* Alignment */

@media only screen and (min-width: 64em) {
  .aligncenter {
    display: block;
    margin: 0 auto;
  }

  .alignleft {
    float: left;
    margin-bottom: 1.5rem;
    margin-right: 2rem;
  }

  .alignright {
    float: right;
    margin-bottom: 1.5rem;
    margin-left: 2rem;
  }
}

/* Image Captions */

.wp-caption {
  width: 100% !important;
}

.wp-caption + p {
  margin-top: 2rem;
}

.wp-caption img {
  width: 100%;
}

.wp-caption .wp-caption-text {
  color: #666;
  font-size: 0.8rem;
  line-height: 1.2;
  margin-bottom: 0;
  margin-top: 0.4rem;
}

@media only screen and (min-width: 64em) {
  .wp-caption + p {
    margin-top: 0;
    padding-top: 1rem;
  }
}

/**** READ MORE ****/

.readmore-content p:first-child {
  margin-top: 1.5rem;
}

.readmore-toggle {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  color: #999;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 0.9rem;
  font-smooth: subpixel-antialiased;
  -webkit-font-smoothing: subpixel-antialiased;
  font-weight: 700;
  letter-spacing: 0.04375rem;
  margin: 1.5rem 0 0;
  padding: 0;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s;
}

.readmore-toggle:hover {
  color: #333;
}

/* Course Pages */

.courses .main-content .content-block:nth-child(odd),
.courses .main-content .content-block-small:nth-child(odd) {
  background-color: #f4f4f4;
}

.courses .main-content .content-block:nth-child(even),
.courses .main-content .content-block-small:nth-child(even) {
  background-color: #fff;
}

.course-block .readmore-toggle {
  display: block;
  margin: 3rem auto 0;
}

@media only screen and (max-width: 30em) {
  .course-block.content-block {
    padding-bottom: 0;
  }
}

/**** ICONS ****/

.icon {
  background-position: bottom center;
  background-repeat: no-repeat;
  display: inline-block;
  height: 5.4rem;
  width: 6.3rem;
}

.icon-building {
  background-image: url("../img/icons/building.svg");
}

.icon-clipboard {
  background-image: url("../img/icons/clipboard.svg");
}

.icon-clock {
  background-image: url("../img/icons/clock.svg");
}

.icon-cutlery {
  background-image: url("../img/icons/cutlery.svg");
}

.icon-earth {
  background-image: url("../img/icons/earth.svg");
}

.icon-envelope-sending {
  background-image: url("../img/icons/envelope-sending.svg");
}

.icon-info {
  background-image: url("../img/icons/info.svg");
}

.icon-light-bulb-heart {
  background-image: url("../img/icons/light-bulb-heart.svg");
}

.icon-megaphone {
  background-image: url("../img/icons/megaphone.svg");
}

.icon-microphone {
  background-image: url("../img/icons/microphone.svg");
}

.icon-mobile-exclamation {
  background-image: url("../img/icons/mobile-exclamation.svg");
}

.icon-newspaper {
  background-image: url("../img/icons/newspaper.svg");
}

.icon-phone {
  background-image: url("../img/icons/phone.svg");
}

.icon-skyline {
  background-image: url("../img/icons/skyline.svg");
}

.icon-skyscraper {
  background-image: url("../img/icons/skyscraper.svg");
}

.icon-social-network {
  background-image: url("../img/icons/social-network.svg");
}

.icon-teamwork {
  background-image: url("../img/icons/teamwork.svg");
}

.icon-term-calendar {
  background-image: url("../img/icons/term-calendar.svg");
}

/**** FORMS ****/

/* Inputs & Text Areas */

.input-wrap {
  background-color: #fff;
  border-radius: 0.25rem;
  position: relative;
  transition: background-color 0.3s;
}

.input-wrap input,
.input-wrap select,
.input-wrap textarea,
.input-wrap .styled-select-inner {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 0.0625rem;
  border-radius: 0.25rem;
  display: block;
  color: #666;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  outline: none;
  padding: 1rem;
  transition: border-color 0.3s;
  width: 100%;
}

.input-wrap.arrow select {
  padding-right: 2.5rem;
}

.input-wrap textarea {
  height: 12rem;
  resize: none;
}

.input-wrap input:focus,
.input-wrap select:focus,
.input-wrap textarea:focus {
  border-color: #a0a0a0;
  outline: none;
}

.input-wrap input::-webkit-input-placeholder,
.input-wrap textarea::-webkit-input-placeholder {
  color: #666;
}

.input-wrap input:-ms-input-placeholder,
.input-wrap textarea:-ms-input-placeholder {
  color: #666;
}

.input-wrap input::-moz-placeholder,
.input-wrap textarea::-moz-placeholder {
  color: #666;
}

.individual-rights-block #comments {
  height: 12rem;
}

/* Styled-Select */

.input-wrap.styled-select {
  display: block;
  position: relative;
  transition: border-color 0.3s;
  width: 100%;
}

.input-wrap .styled-select-inner {
  color: #777;
  cursor: pointer;
  position: relative;
  text-align: left;
}

.open.input-wrap .styled-select-inner {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.input-wrap.value-selected .styled-select-inner {
  color: #333;
}

.input-wrap.arrow:after,
.input-wrap.styled-select.arrow .styled-select-inner:after {
  border-color: #999 transparent transparent transparent;
  border-style: solid;
  border-width: 0.5rem 0.375rem 0 0.375rem;
  content: "";
  margin-top: 0.1rem;
  pointer-events: none;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.styled-select-dropdown {
  background-color: #fff;
  border-bottom: 0.0625rem solid #cfcfcf;
  border-left: 0.0625rem solid #cfcfcf;
  border-right: 0.0625rem solid #cfcfcf;
  border-top: 0;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  height: auto;
  left: -9999px;
  max-height: 17.5rem;
  opacity: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 0.35rem;
  padding-top: 0.35rem;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.open .styled-select-dropdown {
  left: 0;
  opacity: 1;
}

.styled-select-dropdown label {
  background-color: #fff;
  color: #000;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  line-height: 1.2;
  margin-bottom: 0 !important;
  padding: 0.6rem 0.4rem;
  position: relative;
}

.styled-select-dropdown label:before {
  background-image: url("../img/checkmark_thin_red.svg");
  background-repeat: no-repeat;
  content: "";
  height: 0.7rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.8rem;
}

.styled-select-dropdown label.checked:before {
  opacity: 1;
}

.styled-select label:hover {
  background-color: #f8dede;
  color: #333;
}

.styled-select label.checked {
  background-color: #eee;
}

.styled-select label.checked:hover {
  background-color: #f3cfcf;
}

.styled-select-dropdown label span {
  display: inline-block;
  padding-left: 1.05rem;
  width: 100%;
}

/* Checkboxes */

.checkbox-wrap {
  font-size: 0.9rem;
  line-height: 1.2;
  padding-left: 1.7rem;
  position: relative;
}

.checkbox-wrap a {
  color: inherit;
  text-decoration: underline;
}

.checkbox-wrap a:hover {
  text-decoration: none;
}

.checkbox-wrap input + div {
  background-color: #fff;
  background-size: 65% 65%;
  background-position: center center;
  background-repeat: no-repeat;
  border: none;
  border-radius: 0.125rem;
  box-shadow: 0 0 0 0.0625rem #cfcfcf;
  height: 1.2rem;
  left: 0;
  pointer-events: none;
  position: absolute;
  transition: box-shadow 0.3s;
  width: 1.2rem;
}

.checkbox-wrap input:focus + div {
  box-shadow: 0 0 0 0.0625rem #a0a0a0;
}

.checkbox-wrap input:checked + div {
  color: #fff;
  background-color: #dd2e32;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=);
}

.checkbox-wrap input:active + div {
  color: #fff;
  background-color: #dd2e32;
}

.checkbox-wrap .checkbox-text {
  color: #666;
  display: inline-block;
  font-size: 0.8rem;
  line-height: 1.2;
  transition: color 0.3s;
}

.darkgray-bg .checkbox-wrap .checkbox-text {
  color: #dfdfdf;
}

.checkbox-wrap a {
  color: inherit;
  text-decoration: underline;
}

.checkbox-wrap a:hover {
  text-decoration: none;
}

.checkbox-wrap.error,
.checkbox-wrap.error .checkbox-text {
  color: #ff9395;
}

.checkbox-wrap.error input + div {
  box-shadow: 0 0 0 1px #dd2e32;
}

.contact-form .form-field,
.signup-app-admin-form label,
.individual-rights-form label {
  display: inline-block;
  padding-bottom: 1.1rem;
  width: 100%;
}

.contact-form .button {
  float: none;
}

/* Submit Modal */

.form-submit-modal .icon {
  margin-bottom: 2rem;
  width: 9rem;
}

/* Search */

.searchform .input-wrap {
  display: inline-block;
  width: 60%;
}

@media only screen and (max-width: 30em) {
  .contact-form footer .contact-form-button,
  .contact-form footer .error-msg {
    width: 100%;
  }

  .contact-form footer .error-msg {
    margin-top: 1rem;
  }
}

@media only screen and (min-width: 30em) {
  .contact-form footer .contact-form-button {
    float: right;
  }

  .contact-form footer .error-msg {
    float: left;
  }
}

@media only screen and (min-width: 48em) {
  .contact-form .form-field-right-pad {
    padding-right: 1.1rem;
  }

  .contact-form .button {
    float: right;
    margin-left: 0.8rem;
  }
}

@media only screen and (min-width: 64em) {
  .individual-rights-form label[for="first_name"] {
    padding-right: 1.1rem;
  }
}

/* Form error and valid states */

form .error .input-wrap,
form .error .styled-select:before {
  background-color: #f8dede;
}

form .error .input-wrap input,
form .error .input-wrap textarea,
form .error .input-wrap .styled-select-inner {
  border-color: #dd2e32;
  outline: none;
}

form .error .input-wrap select,
form .error .input-wrap .styled-select-inner {
  color: #dd2e32;
}

form .error .input-wrap input::-webkit-input-placeholder {
  color: #dd2e32;
}

form .error .input-wrap input:-ms-input-placeholder {
  color: #dd2e32;
}

form .error .input-wrap input::-moz-placeholder {
  color: #dd2e32;
}

form .error-msg .error {
  color: #dd2e32;
  font-size: 0.8rem;
  line-height: 1.1;
}

/* Footer Form */

.contact-form.footer-form .input-wrap input,
.contact-form.footer-form .input-wrap textarea {
  border-style: none;
}

.contact-form.footer-form .input-wrap input:focus,
.contact-form.footer-form .input-wrap textarea:focus {
  border-style: none;
}

/* Form disabled */

label.disabled {
  opacity: 0.6;
}

/* Form Messages */

.form-error-message {
  display: none;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1rem;
}

.darkgray-bg .form-error-message {
  color: #fff;
}

@media only screen and (min-width: 48em) {
  .form-error-message {
    margin-top: 0;
  }
}

/* Standalone Signup Form */

.signup-form-footer {
  background-color: #f4f4f4;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  width: 100%;
}

.signup-form-footer > div {
  font-size: 0;
  padding: 1rem;
  text-align: center;
}

.signup-form-footer small {
  color: #777;
  display: inline-block;
  font-size: 0.84rem;
  margin-top: 0;
}

.signup-form-footer small:after {
  content: "|";
  display: inline-block;
  text-align: center;
  width: 0.9rem;
}

.signup-form-footer small:last-child:after {
  content: none;
}

.signup-form-footer small a {
  color: inherit;
  text-decoration: underline;
}

.signup-form-footer small a:hover {
  text-decoration: none;
}

/**** CONTENT BLOCK ****/

/* Content Block Spacing */

.content-block,
.content-block-small,
.content-block-x-small {
  position: relative;
}

.content-block,
.content-block-small {
  padding-bottom: 3rem;
  padding-top: 3rem;
}

.content-block-x-small {
  padding-bottom: 1.875rem;
  padding-top: 1.875rem;
}

.content-block header,
.content-block-small header {
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 48em) {
  .content-block,
  .content-block-small {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
}

@media only screen and (min-width: 64em) {
  .content-block {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }

  .content-block header,
  .content-block-small header {
    margin-bottom: 3.75rem;
  }
}

/* Main Content - Content Block Background Colors */

.main-content .content-block:nth-child(odd),
.main-content .content-block-small:nth-child(odd) {
  background-color: #fff;
}

.main-content .content-block:nth-child(even),
.main-content .content-block-small:nth-child(even) {
  background-color: #f4f4f4;
}

/**** ALERTS ****/

.alert-box {
  border-radius: 0.3125rem;
  display: inline-block;
  margin-bottom: 2rem;
  min-height: auto;
  padding: 1rem;
  position: relative;
  width: 100%;
}

.alert-box p {
  font-size: 0.875rem;
  line-height: 1.2;
}

.alert-box p + p {
  margin-top: 0.7rem;
}

.alert-box p a {
  color: #4d4d4d;
  text-decoration: underline;
}

.alert-box p a:hover {
  text-decoration: none;
}

/* Red Box */
.alert-box.warning-box {
  background-color: #f8dede;
  border-left: 0.5rem solid #dd2e32;
}

/* Orange Box */
.alert-box.notify-box {
  background-color: #ffe6c8;
  border-left: 0.5rem solid #ff8a00;
}

/* Green Box */
.alert-box.new-box {
  background-color: #d8f1d9;
  border-left: 0.5rem solid #4ab142;
}

/* Blue Box */
.alert-box.general-box {
  background-color: #dceaf7;
  border-left: 0.5rem solid #508cd1;
}

/* COURSE STATUS */

/* Catalog */
.course-status:before {
  border-radius: 0 4px 4px 0;
  color: #fff;
  content: attr(data-status);
  font-size: 0.87rem;
  font-weight: 700;
  left: 0;
  letter-spacing: 0.01rem;
  line-height: 1;
  padding: 0.5rem 0.8rem 0.5rem 1rem;
  top: 0.7rem;
  position: absolute;
  z-index: 1;
}

/* Statuses */

/* Coming, Gray */
.status-coming,
.course-status-coming:before {
  background-color: rgba(170, 170, 170, 0.8);
}

/* Open, Blue */
.status-open,
.course-status-open:before {
  background-color: #508cd1;
}

/* New, Green */
.status-new,
.course-status-new:before {
  background-color: #4ab142;
}

/* Limited Space, Orange */
.status-limited,
.course-status-limited:before {
  background-color: #ff8a00;
}

/* Closed, Red */
.status-closed,
.course-status-closed:before {
  background-color: #dd2e32;
}

/**** NAV LOGO ****/

h1.nav-logo {
  font-size: 100%;
  line-height: 1;
  margin: 0 0 0 1.2rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: margin-left 0.3s;
  z-index: 1001;
}

h1.nav-logo:before {
  content: none;
}

h1.nav-logo a {
  display: inline-block;
  text-decoration: none;
}

h1.nav-logo a img {
  height: 2rem;
  transition: 0.4s;
  width: 12rem;
}

@media only screen and (min-width: 64em) {
  h1.nav-logo {
    margin-left: 2rem;
  }

  h1.nav-logo a img {
    height: 2.3rem;
    transition-property: height, width;
    transition-duration: 0.4s;
    width: 14rem;
  }

  .nav-small h1.nav-logo a img {
    height: 2rem;
    width: 12rem;
  }
}

/**** MAIN NAVIGATION ****/

.nav-height {
  margin-top: 4rem;
}

@media only screen and (min-width: 64em) {
  .nav-height {
    margin-top: 5rem;
  }
}

.nav-main {
  height: 4rem;
  left: 0;
  position: fixed;
  top: 0;
  transition: opacity 0.3s;
  width: 100%;
  z-index: 1000;
}

.nav-main:after {
  background-color: #fff;
  border-bottom: 1px solid #dfdfdf;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000;
}

.nav-main nav {
  left: -9999px;
  max-height: calc(100vh - 4rem);
  opacity: 0;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  position: absolute;
  top: 4rem;
  transition: opacity 0.3s;
  visibility: hidden;
  width: 100%;
  z-index: 999;
}

.nav-open .nav-main nav {
  left: auto;
  opacity: 1;
  visibility: visible;
}

.nav-main nav ul {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0;
}

.nav-main nav ul li {
  margin-bottom: 0;
  margin-top: 0;
  position: relative;
}

.nav-main nav ul li a {
  color: #777;
  display: block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  padding: 1rem;
  position: relative;
  text-decoration: none;
}

.nav-main nav ul li.strong > a {
  font-weight: 700;
}

.nav-main nav ul li.red > a {
  color: #dd2e32;
}

.nav-main nav ul li.has-subnav > a {
  padding-right: 2.5rem;
}

.nav-main nav ul li.has-subnav > a:after {
  background-image: url("../img/accordion_arrow.svg");
  background-repeat: no-repeat;
  content: "";
  height: 0.6rem;
  margin-top: -4px;
  position: absolute;
  right: 0.85rem;
  top: 50%;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: transform 0.3s;
  width: 0.8rem;
}

.nav-main nav ul li.has-subnav.nav-active > a:after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.nav-main nav > ul ul {
  display: none;
}

.nav-main nav ul.level-1 > li a {
  background-color: #fff;
  border-bottom-color: #dfdfdf;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.nav-main nav ul.level-1 > li.nav-active a {
  border-bottom-color: #cfcfcf;
}

.nav-main nav ul.level-2 > li a {
  background-color: #eaeaea;
  border-bottom-color: #cfcfcf;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.nav-main nav ul.level-2 > li.nav-active a {
  border-bottom-color: #afafaf;
}

.nav-main nav ul.level-3 > li a {
  background-color: #dfdfdf;
  border-bottom-color: #afafaf;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.nav-overlay {
  background: rgba(0, 0, 0, 0.6);
  bottom: 0;
  content: "";
  height: 100vh;
  left: -9999px;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  visibility: hidden;
  width: 100%;
  z-index: 998;
}

.nav-open .nav-overlay {
  left: 0;
  opacity: 1;
  transition: opacity 0.2s;
  visibility: visible;
}

@media screen and (min-width: 48em) {
  .nav-main nav {
    border-left: 1px solid #dfdfdf;
    opacity: 0;
    top: 4rem;
    transition: opacity 0.2s, right 0.2s;
    right: -20rem;
    width: 20rem;
    z-index: 1001;
  }

  .nav-open .nav-main nav {
    left: auto;
    right: 0;
    opacity: 1;
  }
}

@media screen and (min-width: 64em) {
  .nav-main {
    height: 5rem;
    transition-property: height;
    transition-duration: 0.4s;
  }

  .nav-small .nav-main {
    height: 4rem;
  }

  .nav-main > div {
    height: 100%;
    width: 100%;
  }

  .nav-main nav {
    border-left: 0;
    float: right;
    height: 100%;
    left: auto;
    margin-right: 1rem;
    opacity: 1;
    overflow: visible;
    position: relative;
    right: auto;
    top: 0;
    visibility: visible;
    width: auto;
  }

  .nav-main nav > ul {
    display: inline-block;
    height: 100%;
  }

  .nav-main nav > ul > li {
    display: inline-table;
    height: 100%;
    float: left;
    position: relative;
  }

  .nav-main nav ul > li > a {
    transition: background-color 0.3s;
  }

  .nav-main nav ul.level-1 > li > a {
    background-color: transparent;
    border-bottom: 0;
    display: table-cell;
    padding-left: 0.95rem;
    padding-right: 0.95rem;
    vertical-align: middle;
  }

  .nav-main nav ul.level-1 > li > a:after {
    content: none;
  }

  .nav-main nav ul.level-1 > li:hover > a {
    background-color: #eaeaea;
  }

  .nav-main nav ul.level-2 > li > a {
    background-color: #eaeaea;
  }

  .nav-main nav ul.level-2 > li:hover > a {
    background-color: #dfdfdf;
  }

  .nav-main nav ul.level-3 > li > a {
    background-color: #dfdfdf;
  }

  .nav-main nav ul.level-3 > li:hover > a {
    background-color: #cfcfcf;
  }

  .nav-main nav ul li > ul {
    display: inline-block;
    left: -9999px;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity 0.2s, left 0s 0.2s;
    width: 15.5rem;
  }

  .nav-main nav ul li:hover > ul {
    left: 15.5rem;
    opacity: 1;
    top: 0;
    transition: opacity 0.2s, left 0s 0s;
  }

  .nav-main nav ul.level-1 > li > ul {
    top: 5rem;
  }

  .nav-small .nav-main nav ul.level-1 > li > ul {
    top: 4rem;
  }

  .nav-main nav ul.level-1 > li:hover > ul {
    left: 0;
  }

  .nav-main nav ul.level-1 > li.left-subnav ul {
    left: auto;
    right: 15.5rem;
  }

  .nav-main nav ul.level-1 > li.left-subnav > ul {
    left: auto;
    right: 0;
  }

  .nav-overlay {
    display: none;
  }
}

@media screen and (min-width: 75em) {
  .nav-main > div {
    height: 100%;
    margin: 0 auto;
    max-width: 87.5rem;
    padding-left: 1.8rem;
    padding-right: 1.8rem;
    width: 100%;
  }
}

/* Nav Menu Icon (Hamburger) */

.nav-icon {
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-block;
  height: 100%;
  left: auto;
  opacity: 1;
  outline: 0;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  position: absolute;
  top: 0;
  right: 0;
  transition: opacity 0.3s, left 0s 0.3s, right 0s 0.3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 1001;
}

.nav-icon > div {
  background-color: #4d4d4d;
  height: 3px;
  position: relative;
  transition: 0.3s;
  width: 24px;
}

.nav-icon > div:before,
.nav-icon > div:after {
  background-color: #4d4d4d;
  content: "";
  display: block;
  height: 3px;
  transition: 0.3s;
  position: absolute;
  width: 24px;
  z-index: -1;
}

.nav-icon > div:before {
  top: 0.5em;
}

.nav-icon > div:after {
  top: -0.5em;
}

/* Nav open 'x' revealed */

.nav-open .nav-icon > div {
  background-color: transparent;
}

.nav-open .nav-icon > div:before,
.nav-open .nav-icon > div:after {
  background-color: #4d4d4d;
  transition: 0.3s;
}

.nav-open .nav-icon > div:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.nav-open .nav-icon > div:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nav-open:not(.steps) .nav-icon > div:before,
.nav-open:not(.steps) .nav-icon > div:after {
  top: 0 !important;
}

@media only screen and (min-width: 64em) {
  .nav-icon {
    display: none;
  }

  .nav-open .nav-icon {
    left: auto;
    opacity: 1;
    right: -2.6rem;
    transition: opacity 0.3s, left 0s 0.3s, right 0s 0.3s;
  }
}

/**** PAGE SUBNAV ****/

.page-subnav {
  display: none;
}

@media only screen and (min-width: 64em) {
  .page-subnav {
    background-color: rgba(255, 255, 255, 0.95);
    border-bottom: 0.0625rem solid #dfdfdf;
    display: inline-block;
    height: auto;
    left: -1000rem;
    opacity: 0;
    position: fixed;
    top: 4rem;
    transition: opacity 0.3s 0s, left 0s 0.3s;
    width: 100%;
    z-index: 999;
  }

  .show.page-subnav {
    left: 0;
    opacity: 1;
    transition: opacity 0.3s 0.3s, left 0s 0.3s, top 0.3s;
  }

  .nav-open .show.page-subnav {
    top: 7.4375rem;
    transition: top 0.3s;
  }

  .page-subnav-inner {
    height: 3.8rem;
    position: relative;
  }

  .page-subnav-inner h1 {
    font-size: 1.6rem;
    line-height: 1.2;
    margin-bottom: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .page-subnav .purchase-detail {
    opacity: 0;
    position: absolute;
    right: 0;
    text-align: right;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: 0.3s;
    width: auto;
  }

  .page-subnav .show.purchase-detail {
    opacity: 1;
  }
}

/**** MASTHEADS ****/

/* Masthead General */

.masthead {
  align-items: center;
  background-color: #dcdcdc;
  background-position: 50% 50%;
  background-size: cover;
  display: flex;
  min-height: calc(100vh - 4rem);
  overflow: hidden;
  padding-bottom: 2rem;
  padding-top: 2rem;
  position: relative;
  width: 100%;
}

.masthead-inner {
  display: table;
  height: 100%;
  position: relative;
  transition-delay: 0.4s;
  transition-property: z-index;
  width: 100%;
  z-index: 2;
}

.modal-open .masthead-inner {
  transition-delay: 0s;
  transition-property: z-index;
  z-index: 1001;
}

.masthead-inner > div {
  display: table-cell;
  vertical-align: middle;
}

.masthead-inner h1 {
  margin-bottom: 0;
}

.masthead-inner .subheader {
  margin-top: 1.5rem;
}

.masthead-inner .button {
  margin-top: 1.5rem;
}

/* Home Masthead */

.home .masthead-nyt-logo {
  bottom: 2rem;
  left: 0;
  position: absolute;
  right: 0;
  z-index: 1;
}

.home .masthead-nyt-logo a {
  display: inline-block;
  height: 1.8rem;
  opacity: 0.9;
  width: 13rem;
}

@media only screen and (min-width: 48em) {
  .violator-active .masthead {
    min-height: calc(100vh - 8rem);
  }
}

@media only screen and (min-width: 64em) {
  .masthead {
    min-height: calc(100vh - 5rem);
  }

  .violator-active .masthead {
    min-height: calc(100vh - 9rem);
  }
}

/* Masthead Short */

.masthead-short {
  min-height: 25rem;
  height: calc(70vh - 4rem);
}

.masthead.masthead-short .masthead-inner h6 {
  margin-bottom: 0;
}

@media only screen and (min-width: 48em) {
  .masthead-short {
    height: calc(70vh - 5rem);
  }
}

/* Video Masthead Styles */

.masthead-video video {
  display: none;
}

@media only screen and (min-width: 48em) {
  .masthead-video video {
    background-color: #222;
    display: block;
    height: auto;
    left: 50%;
    min-height: calc(100vh - 4rem);
    min-width: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
  }

  /*.masthead-video .img-block { display: none; }*/

  .violator-active .masthead-video video {
    min-height: calc(100vh - 8rem);
  }
}

@media only screen and (min-width: 64em) {
  .masthead-video video {
    min-height: calc(100vh - 5rem);
  }

  .violator-active .masthead-video video {
    min-height: calc(100vh - 9rem);
  }
}

/* VIOLATOR */

.violator {
  background-color: #dd2e32;
  display: block;
  min-height: 4rem;
  width: 100%;
}

.violator li {
  display: none;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0;
}

.violator p {
  color: #fff;
  float: left;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding-bottom: 1.3rem;
  padding-top: 1.3rem;
  padding-right: 0;
}

.violator p a {
  border-bottom-color: #fff;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.violator p a:hover {
  border-bottom-color: transparent;
  text-decoration: none;
}

@media only screen and (min-width: 48em) {
  .violator {
    bottom: 0;
    position: fixed;
    z-index: 999;
  }
}

/**** FINANCIAL AID CALLOUT ****/

.fa-callout {
  text-align: center;
}

.fa-callout p {
  font-size: 1rem;
}

/* Callout Small */

.fa-callout-small .fa-callout-heading {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
}

.fa-callout-small p {
  line-height: 1.4;
}

.fa-callout-small .button-group {
  margin-top: 1rem;
}

/* Callout Medium */

.fa-callout-medium p {
  line-height: 1.5;
}

.fa-callout-medium .button-group {
  margin-top: 1.5rem;
}

/* Sidebar Financial Aid Callout */

.course-block .fa-callout {
  border-bottom-left-radius: 0.3125rem;
  border-bottom-right-radius: 0.3125rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  width: 100%;
}

.course-block .fa-callout a {
  color: inherit;
  text-decoration: underline;
}

.course-block .fa-callout a:hover {
  color: inherit;
  text-decoration: none;
}

@media only screen and (min-width: 30em) {
  /* Sidebar Financial Aid Callout */

  .course-block .fa-callout {
    padding: 1.2rem 1.5rem;
  }
}

@media only screen and (min-width: 48em) {
  .fa-callout {
    text-align: left;
  }

  /* Callout Small */

  .fa-callout-small .button-group {
    margin-top: 0;
  }

  /* Callout Medium */

  .fa-callout-medium .button-group {
    margin-top: 0;
  }

  /* Sidebar Financial Aid Callout */

  .course-block .fa-callout {
    margin-bottom: 0;
    max-width: 18rem;
    padding: 1rem;
    width: auto;
  }
}

@media (min-width: 48em) and (max-width: 63.9375rem) {
  /* Callout Small */

  .fa-callout-small .button-group > span {
    display: block;
    text-align: right;
  }

  .fa-callout-small .button-group > span:nth-child(1) {
    margin-bottom: 0.6rem;
  }

  .fa-callout-small .button-group > span:nth-child(2) {
    margin-left: 0;
  }

  /* Callout Medium */

  .fa-callout-medium .button-group > span {
    display: block;
  }

  .fa-callout-medium .button-group > span:nth-child(1) {
    margin-bottom: 0.6rem;
  }

  .fa-callout-medium .button-group > span:nth-child(2) {
    margin-left: 0;
  }
}

@media only screen and (min-width: 64em) {
  /* Callout Small */

  .fa-callout-small .button-group {
    position: absolute;
    right: 1.2rem;
    top: calc(45px / 3);
  }

  /* Sidebar Financial Aid Callout */

  .course-block .fa-callout {
    padding: 1.2rem 1.5rem;
  }
}

/**** CONTENT CARD ****/

.content-cards {
  margin-top: 3rem;
}

.content-card-inner {
  color: #fff;
  background-color: #fff;
  border-color: transparent;
  border-style: solid;
  border-width: 0.0625rem;
  border-radius: 0.375rem;
  display: block;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: border-color 0.3s;
  height: 20rem;
}

.content-card-inner:hover {
  color: #fff;
  text-decoration: none;
}

.content-card-text {
  bottom: 0;
  display: inline-block;
  height: auto;
  padding: 1rem;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.content-card-text .content-card-heading {
  max-width: 28rem;
  margin-bottom: 0;
}

.content-card-text p {
  margin-top: 1rem;
}

.content-card-exerpt p {
  font-size: 1rem;
  line-height: 1.4;
}

/**** FOUR COLUMN TEXT BLOCK ****/

.four-col-text-block li {
  padding: 1.6rem 2.5rem;
  text-align: center;
}

.four-col-text-block li:before {
  background-color: #508cd1;
  content: "";
  height: 0.3125rem;
  display: inline-block;
  margin-bottom: 1.2rem;
  max-width: 3.75rem;
  width: 100%;
}

.four-col-text-block h5 {
  margin-bottom: 1rem;
}

.four-col-text-block a {
  margin-top: 1.3rem;
}

@media only screen and (max-width: 40rem) {
  .four-col-text-block li:last-child {
    padding-bottom: 0;
  }
}

@media only screen and (min-width: 64em) {
  .four-col-text-block li {
    padding: 0 2rem;
  }

  .four-col-text-block a {
    margin-top: 1.5rem;
  }
}

/**** SOCIAL SHARE ****/

.social-share li {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 0.7em;
}

.social-share li:last-child {
  margin-right: 0;
}

.social-share li button {
  height: 2.5em;
  opacity: 0.5;
  transition: opacity 0.3s;
  width: 2.5em;
}

.social-share li button.facebook {
  background-image: url("../img/social_icons/social_share/facebook_share.svg");
}

.social-share li button.twitter {
  background-image: url("../img/social_icons/social_share/twitter_share.svg");
}

.social-share li button.email {
  background-image: url("../img/social_icons/social_share/email_share.svg");
}

.social-share li button:hover {
  opacity: 1;
}

/**** FOOTER ****/

.footer-cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.footer-cols nav ul {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}

.footer-cols nav li {
  color: #fff;
  font-size: 0.9rem;
  line-height: 1.3;
}

.footer-cols nav li.strong > a {
  font-weight: 700;
}

.footer-cols nav li a {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
}

.footer-cols nav li a:hover {
  text-decoration: underline;
}

@media only screen and (min-width: 30em) {
  .footer-cols {
    grid-template-columns: 1fr 1fr;
  }

  .footer-cols nav {
    max-width: 9.375rem;
  }
}

@media only screen and (min-width: 37.5em) {
  .footer-cols {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (min-width: 48em) {
  .footer-cols {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 4rem;
  }
}

/* Footer Bottom  */

.footer-bottom {
  margin-top: 4rem;
}

.footer-bottom > .columns:nth-child(2) {
  margin-top: 1rem;
}

.footer-bottom-sonyt-logo {
  display: inline-block;
}

.footer-bottom-sonyt-logo img {
  height: 2rem;
  max-width: 11.7rem;
  width: 100%;
}

.footer-bottom-about {
  color: #fff;
  font-size: 0.9rem;
  line-height: 1.3;
  margin-top: 0.6rem;
  display: inline-block;
  width: 100%;
}

.footer-bottom-copyright {
  color: #fff;
  display: block;
  font-size: 0.8rem;
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0.8rem;
}

.footer-bottom-legal {
  color: #bbb;
  font-size: 0.7rem;
  margin-top: 1rem;
}

.footer-bottom-social-links li {
  font-size: 0;
  margin-right: 0.5rem;
}

.footer-bottom-social-links li:last-child {
  margin-right: 0;
}

.footer-bottom-social-links li a {
  color: #fff;
  font-size: 0.9rem;
  text-decoration: none;
}

.footer-bottom-social-links li a:hover {
  text-decoration: underline;
}

@media only screen and (min-width: 48em) {
  .footer-bottom > .columns:nth-child(2) {
    margin-top: 0;
    text-align: right;
  }
}

@media only screen and (min-width: 64em) {
  .footer.content-block {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }
}

/* JOBS */

.job-boxes {
  margin-top: 1rem;
}

.job-box {
  margin-bottom: 1rem;
}

.job-box:last-child {
  margin-bottom: 0;
}

.job-box a {
  background-color: #fff;
  border-radius: 6px;
  color: #333;
  display: inline-block;
  height: auto;
  padding: 1.4rem 3.5rem 1.4rem 1.4rem;
  position: relative;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.job-box a:after {
  background-image: url("../img/accordion_arrow.svg");
  background-repeat: no-repeat;
  content: "";
  height: 0.8rem;
  margin-top: -4px;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  width: 1.3rem;
}

.job-box a:hover {
  color: #333;
  text-decoration: none;
}

.job-box-icon {
  display: none;
}

.job-box-division {
  margin-bottom: 0.6rem;
}

.job-box-division {
  font-size: 1.8rem;
  margin-bottom: 0;
}

.job-box-programs {
  color: #888;
  font-family: "nyt-cheltenham";
  font-style: italic;
  line-height: 1.3;
  margin-bottom: 0.6rem;
}

.job-box-vendor {
  margin-bottom: 0;
}

@media only screen and (max-width: 57.9375rem) {
  .job-box-division .break {
    display: inline-block;
  }
}

@media only screen and (min-width: 58em) {
  .job-boxes {
    margin-bottom: 2rem;
    margin-top: 2rem;
  }

  .two-col-boxes.job-boxes {
    max-width: 48rem;
  }

  .three-col-boxes.job-boxes {
    max-width: 66rem;
  }

  .two-col-boxes .job-box {
    width: 50%;
  }

  .three-col-boxes .job-box {
    width: 33.3333%;
  }

  .job-box {
    margin-bottom: 0;
  }

  .job-box a {
    max-width: 19rem;
    min-height: 19rem;
    padding: 2.5rem 2rem 4rem 2rem;
    text-align: center;
    top: 0;
    transition: top 0.3s;
  }

  .job-box a {
    padding: 3rem 2rem 2rem;
  }

  .job-box a:after {
    display: none;
  }

  .job-box a:hover {
    top: -1rem;
  }

  .job-box-icon {
    background-color: transparent;
    display: inline-block;
    height: 4rem;
    margin: 0 auto 1.2rem;
    opacity: 0.4;
    position: relative;
    transition: opacity 0.3s;
    width: 4rem;
  }

  .job-box-icon svg {
    fill: #dd2e32;
  }

  .job-box a:hover .job-box-icon {
    opacity: 0.8;
  }

  .job-box-vendor {
    bottom: 2rem;
    left: 0;
    position: absolute;
    right: 0;
  }
}

/* LOGIN */

.login-boxes {
  margin-block: 1rem 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

/* Boxes */

.login-box {
  background-color: #fff;
  border-color: #ccc;
  border-style: solid;
  border-width: 0.0625rem;
  border-radius: 0.25rem;
  width: 15.5rem;
  padding: 1.4rem;
  min-height: 9.2rem;
  text-align: left;
}

.login-box-heading {
  border-bottom: 0.0625rem solid #dd2e32;
  font-size: 1.1rem;
  line-height: 1.1;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.login-box-link {
  display: inline-block;
  margin-bottom: 0.9rem;
  width: 100%;
}

.login-box-link:last-child {
  margin-bottom: 0;
}

.login-box-link a {
  color: #333;
  display: inline-block;
  position: relative;
  white-space: nowrap;
}

.login-box-link a:hover {
  color: #333;
  text-decoration: underline;
}

.login-box-link a i {
  background-image: url(../img/caret-right.svg);
  background-repeat: no-repeat;
  display: inline-block;
  height: 0.8rem;
  margin-left: 0.6rem;
  pointer-events: none;
  position: relative;
  top: 0.1rem;
  width: 0.5rem;
}

@media only screen and (min-width: 48em) {
  .login-boxes {
    margin-block: 2rem 3rem;
  }

  .login-wrap-heading {
    margin-bottom: 1.5rem;
  }

  /* Boxes */

  .login-box {
    margin-bottom: 0;
    padding: 1.4rem;
  }

  .login-box-link a i {
    transition: margin-left 0.2s;
  }

  .login-box-link a:hover i {
    margin-left: 0.9rem;
  }
}

/**** PRIMARY FEATURE ****/

.primary-feature .subheader {
  margin-bottom: 0;
}

.primary-feat-content {
  margin-top: 2em;
}

.primary-feature h4 {
  margin-top: 1.7em;
  padding-top: 1em;
}

.primary-feature p .break {
  display: inline;
}

@media only screen and (min-width: 64em) {
  .primary-feature p .break {
    display: block;
  }
}

/**** FACULTY ****/

/* Faculty Landing Page */

ul.faculty-member-list {
  margin-top: 3rem;
}

li.faculty-member {
  max-width: 28rem;
  padding: 1.3rem 1.5rem;
  margin-left: auto;
  margin-right: auto;
}

.faculty-member a {
  color: #333;
  text-decoration: none;
}

.faculty-member a:hover h5 {
  text-decoration: underline;
}

.faculty-member-image {
  border: 0.0625rem solid #cfcfcf;
  border-radius: 50%;
  overflow: hidden;
}

.faculty-member-image img {
  background-color: #dfdfdf;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.faculty-member .hover-scale-deep:hover img {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.faculty-member-text {
  margin-top: 1.5rem;
  text-align: center;
}

.faculty-member-text h5 {
  color: inherit;
  margin-bottom: 0.2rem;
}

.faculty-member-text p {
  color: inherit;
  font-size: 1.1rem;
  margin-top: 0;
}

@media only screen and (max-width: 47.9375rem) {
  li.faculty-member {
    float: none;
  }
}

@media only screen and (min-width: 64em) {
  li.faculty-member {
    margin-left: 0;
    margin-right: 0;
    padding: 1.8rem 2rem;
  }
}

/* Faculty Profile */

.faculty-profile img {
  background-color: #dfdfdf;
  border: 0.0625rem solid #dfdfdf;
  border-radius: 50%;
  /*  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);*/
  margin-bottom: 3rem;
}

.faculty-profile h2 {
  margin-bottom: 0.5rem;
}

.faculty-profile .subheader {
  display: inline-block;
  margin-bottom: 1.5rem;
}

.faculty-profile-social {
  margin-bottom: 1.5rem;
}

.faculty-profile-social ul {
  font-size: 0;
}

.faculty-profile-social li {
  line-height: 0;
  margin-right: 1rem;
}

.faculty-profile-social li:last-child {
  margin-right: 0;
}

.faculty-profile-social li a {
  display: inline-block;
}

.faculty-profile-social li a:hover:before {
  opacity: 1;
}

.faculty-profile-social li a:before {
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  height: 1.8rem;
  opacity: 0.7;
  transition: opacity 0.3s;
  width: 1.8rem;
}

.faculty-profile-social .faculty-twitter a:before {
  background-image: url("../img/icons/social-media/twitter.svg");
}

.faculty-profile-social .faculty-instagram a:before {
  background-image: url("../img/icons/social-media/instagram.svg");
}

.faculty-profile-social .faculty-facebook a:before {
  background-image: url("../img/icons/social-media/facebook.svg");
}

.faculty-profile-social .faculty-youtube a:before {
  background-image: url("../img/icons/social-media/youtube.svg");
}

.faculty-profile-social .faculty-linkedin a:before {
  background-image: url("../img/icons/social-media/linkedin.svg");
}

.faculty-profile-social .faculty-link a:before {
  background-image: url("../img/icons/social-media/link.svg");
}

@media only screen and (min-width: 48em) {
  .faculty-profile-col-1.columns {
    padding-right: 3.8rem;
  }
}

@media only screen and (min-width: 64em) {
  .faculty-profile img {
    margin-bottom: 0;
  }

  .faculty-profile-social {
    margin-bottom: 0;
    margin-top: 2rem;
  }
}

/* Faculty Feature */

.faculty-feature .faculty-about {
  float: right;
  margin-top: 0;
}

.faculty-feature .faculty-about:before {
  display: none;
}

.faculty-feature .one-faculty .faculty.columns:last-child {
  margin-bottom: 0;
}

.faculty-feature .faculty-about p.subheader {
  text-align: left;
}

.faculty-feature .two-faculty {
  max-width: 70em;
}

/**** FULL WIDTH FEATURE BLOCK ****/

.full-width-feature-block {
  min-height: calc(100vh - 4rem);
  position: relative;
}

.full-width-feature-block .break {
  display: block;
}

.full-width-feature-block div.row {
  position: relative;
  z-index: 1;
}

.primary.align-left .full-width-feature-text {
  float: left;
}

.primary.align-right .full-width-feature-text {
  float: right;
}

.secondary.align-left .full-width-feature-text {
  float: left;
}

.secondary.align-left .full-width-feature-image {
  float: right;
}

.full-width-feature-image {
  text-align: center;
}

.full-width-feature-block img {
  margin-bottom: 2rem;
  max-width: 30rem;
  width: 100%;
}

@media only screen and (min-width: 48em) {
  .full-width-feature-image {
    text-align: left;
  }

  .full-width-feature-block img {
    margin-bottom: 0;
    max-width: 100%;
  }
}

@media only screen and (min-width: 64em) {
  .full-width-feature-block {
    min-height: 41rem;
    padding-bottom: 0;
    padding-top: 0;
  }

  .full-width-feature-block div.row {
    left: 0;
    margin-top: 1rem;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .secondary.align-right .full-width-feature-text {
    padding-left: 2rem;
  }
}

@media only screen and (min-width: 91em) {
  .full-width-feature-block {
    min-height: 45rem;
  }
}

/**** PROGRAM GRID BLOCK ****/

ul.program-grid-cards {
  margin: 3.5rem auto 0;
  max-width: 73rem;
}

li.program-grid-card {
  margin-top: 0;
  padding: 0 1.3rem 2.6rem;
  text-align: center;
}

li.program-grid-card a {
  display: block;
}

.program-grid-card-inner {
  background-color: #fff;
  border-color: transparent;
  border-style: solid;
  border-width: 0.0625rem;
  border-radius: 0.375rem;
  overflow: hidden;
  position: relative;
  transition: border-color 0.3s;
}

.program-grid-card-text-wrap {
  display: inline-block;
  min-height: 22rem;
  padding: 2.5rem 1.5rem 5rem 1.5rem;
  position: relative;
  width: 100%;
  z-index: 1;
}

.program-grid-card-text-wrap p {
  margin-bottom: 1.5rem;
}

.program-grid-card-cta-wrap {
  bottom: 1.5rem;
  left: 1.5rem;
  line-height: 1;
  position: absolute;
  right: 1.5rem;
  z-index: 1;
}

@media only screen and (min-width: 48em) {
  .program-grid-card-text-wrap {
    min-height: 30rem;
  }
}

/**** FULL-WIDTH QUOTE BLOCK ****/

.full-width-quote-block {
  background-color: #222;
  overflow: hidden;
  position: relative;
}

.featured-person {
  position: relative;
}

.full-width-quote-block .img-block {
  height: 12rem;
  position: relative;
}

.full-width-quote-block .img-block.overlay:after {
  content: none;
}

.full-width-quote-inner {
  padding-bottom: 1.5rem;
  padding-top: 1.2rem;
  position: relative;
  text-align: center;
}

.full-width-quote-inner blockquote {
  margin: 0 auto 1.5rem;
  max-width: 46rem;
}

.full-width-quote-inner blockquote:before,
.full-width-quote-inner blockquote:after {
  content: none;
}

.full-width-quote-inner blockquote p {
  color: #fff;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.3;
}

.full-width-quote-inner blockquote cite {
  color: #fff;
  display: block;
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.05rem;
  line-height: 1.1;
  margin-top: 1rem;
  text-transform: uppercase;
}

.full-width-quote-inner blockquote cite:before {
  content: none;
}

@media only screen and (min-width: 30em) {
  .full-width-quote-block .img-block {
    height: 20rem;
  }

  .full-width-quote-inner {
    padding: 2rem;
  }

  .full-width-quote-inner blockquote p {
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 48em) {
  .full-width-quote-block .img-block {
    height: calc(50vh - 4rem);
  }
}

@media only screen and (min-width: 64em) {
  .full-width-quote-block {
    min-height: 40rem;
  }

  .full-width-quote-block .img-block {
    height: 100%;
    position: absolute;
  }

  .full-width-quote-block .img-block.overlay:after {
    content: "";
  }

  .full-width-quote-inner {
    bottom: 2.5rem;
    padding: 0;
    position: absolute;
    z-index: 1;
  }
}

/**** CONTACT PAGE ****/

.contact h4 {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
}

.contact .contact-form {
  margin-bottom: 3rem;
}

/**** CONTACT BLOCK ****/

.contact-block .contact-form {
  margin-top: 1rem;
}

@media only screen and (min-width: 48em) {
  .contact-block .contact-form {
    margin-top: 2rem;
  }
}

@media only screen and (min-width: 64em) {
  .contact-block .contact-form {
    margin-top: 0;
  }

  .contact-block h1 {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 73em) {
  .contact-block .columns:nth-child(2) {
    padding-left: 8rem;
  }
}

/**** QUOTE BLOCK ****/

.quote-block.content-block {
  padding: 0;
}

.quote-block figure .img-block {
  background-position: 0 0;
  display: block;
  height: 50%;
  min-height: 13rem;
  position: relative;
}

.quote-block blockquote {
  margin-bottom: 2.5rem;
  margin-top: 2.5rem;
}

.quote-block blockquote h4 {
  margin-bottom: 2rem;
}

.quote-block blockquote p {
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 1.9rem;
  font-weight: 300;
  letter-spacing: -0.07rem;
  line-height: 122%;
  margin-bottom: 1.2rem;
  max-width: 60rem;
}

.quote-block blockquote cite {
  display: block;
  font-size: 1.25rem;
  margin-bottom: 0;
}

.quote-block .button {
  margin-top: 1.7rem;
  width: 100%;
}

@media only screen and (min-width: 30em) {
  .quote-block .row figure.columns {
    height: 35rem;
  }
}

@media only screen and (min-width: 48em) {
  .quote-block .row figure.columns {
    height: 40rem;
    padding-left: 0;
    padding-right: 0;
  }

  .quote-block figure .img-block {
    height: 100%;
    position: absolute;
  }

  .quote-block figcaption {
    padding-left: 0;
    padding-right: 0;
  }

  .quote-block figcaption > div {
    position: absolute;
    width: 100%;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.8);
    height: 50%;
    z-index: 1;
  }

  .quote-block blockquote {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    max-width: 50rem;
    left: 0;
    right: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .quote-block blockquote h4 {
    margin-bottom: 1.5rem;
  }

  .quote-block blockquote p {
    font-size: 2.75rem;
    max-width: 60rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .quote-block .button {
    width: auto;
  }
}

@media only screen and (min-width: 64em) {
  .quote-block.content-block {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }

  .quote-block > div {
    max-width: 72.5em;
  }

  .quote-block .row figure.columns {
    height: 42rem;
  }
}

/**** COURSE CATALOG ****/

.course-catalog-grid-wrap {
  display: inline-block;
  padding-top: 3rem;
  width: 100%;
}

.course-catalog-grid-wrap:first-of-type {
  padding-top: 0;
}

.course-catalog-grid {
  margin: 4rem auto 2rem;
  max-width: 17rem;
}

.course-catalog-grid > ul > li {
  margin-bottom: 0;
  margin-top: 0;
  padding: 0 1rem 2rem;
}

.course-catalog-grid a {
  display: block;
}

.course-catalog-grid figure {
  background-color: #fff;
  border-color: transparent;
  border-style: solid;
  border-width: 0.0625rem;
  border-radius: 0.375rem;
  overflow: hidden;
  position: relative;
  transition: border-color 0.3s;
}

.course-catalog-grid a:hover figure,
.course-catalog-grid a:focus figure {
  border-color: #dfdfdf;
}

.course-catalog-grid-image {
  height: 10rem;
  max-height: 10rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.course-catalog-grid-image h4 {
  bottom: 0;
  font-size: 1.3rem;
  left: 0;
  line-height: 1.2;
  margin-bottom: 0;
  max-height: inherit;
  padding: 1rem;
  position: absolute;
  right: 0;
  z-index: 1;
}

.course-catalog-grid figcaption {
  display: inline-block;
  height: auto;
  padding: 1rem;
  position: relative;
  width: 100%;
}

.course-catalog-grid figcaption.catalog-footer {
  padding-bottom: 2.6rem;
}

.course-catalog-grid-description {
  margin-bottom: 1rem;
}

.course-catalog-grid-description p {
  color: #333;
  font-size: 0.875rem;
  line-height: 1.2;
  margin-bottom: 0;
}

.course-catalog-grid-meta {
  color: #666;
  font-size: 0.875rem;
  font-weight: 300;
  height: auto;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  margin-left: 1.2rem;
  padding-right: 1rem;
  position: relative;
  vertical-align: top;
}

.course-catalog-grid-meta span:after {
  content: ", ";
}

.course-catalog-grid-meta span:last-child:after {
  content: "";
}

.course-catalog-grid-topics:before,
.course-catalog-grid-faculty:before,
.course-catalog-grid-calendar:before,
.course-catalog-grid-grades:before {
  background-repeat: no-repeat;
  content: "";
  left: -1.2rem;
  position: absolute;
}

.course-catalog-grid-calendar:before,
.course-catalog-grid-topics:before,
.course-catalog-grid-faculty:before {
  height: 0.8rem;
  margin-top: 0.07rem;
  width: 0.8rem;
}

.course-catalog-grid-grades:before {
  height: 0.9rem;
  width: 0.9rem;
}

.course-catalog-grid-topics:before {
  background-image: url("../img/icons/catalog/catalog-tag.svg");
}

.course-catalog-grid-faculty:before {
  background-image: url("../img/icons/catalog/catalog-faculty.svg");
}

.course-catalog-grid-calendar:before {
  background-image: url("../img/icons/catalog/catalog-calendar.svg");
}

.course-catalog-grid-grades:before {
  background-image: url("../img/icons/catalog/catalog-grades.svg");
}

.course-catalog-grid-cta-price {
  bottom: 1rem;
  left: 1rem;
  line-height: 1;
  position: absolute;
  right: 1rem;
}

.course-catalog-grid-cta-price > div {
  display: inline-block;
  width: 100%;
}

.course-catalog-grid-cta-price .button {
  background-color: #fff;
  width: auto;
}

.course-catalog-grid-price {
  color: #333;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 40.0625em) {
  .course-catalog-grid {
    max-width: 36rem;
  }
}

@media only screen and (min-width: 64.0625em) {
  .course-catalog-grid {
    margin-top: 3rem;
    max-width: 74rem;
  }
}

@media (min-width: 64.0625em) and (max-width: 75em) {
  .course-catalog-grid-image h4 {
    font-size: 1.73vw;
  }
}

/**** COURSE CATALOG SEARCH ****/

.search-form-wrap {
  margin-bottom: 0.5rem;
  margin-top: 3rem;
}

.search-field-wrap {
  margin-bottom: 1rem;
  position: relative;
  width: 100%;
}

.search-button-wrap {
  display: inline-block;
  margin-top: 0.1rem;
  position: relative;
  width: 100%;
}

.search-button-wrap > .button {
  width: 100%;
}

.search-form-wrap .loading-spinner-wrap {
  position: absolute;
  left: 50%;
  margin-top: 1rem;
  transform: translateX(-50%);
}

@media only screen and (max-width: 40em) {
  .search-button-wrap.search-button-wrap-fixed {
    background-color: #f4f4f4;
    border-top: 0.0625rem solid #ccc;
    bottom: 0;
    left: 0;
    padding: 1.2rem;
    position: fixed;
    right: 0;
    z-index: 1001;
  }

  .hide-fixed-button {
    display: none !important;
  }
}

@media only screen and (min-width: 40em) {
  .search-field-wrap,
  .search-button-wrap {
    float: left;
  }

  .search-field-wrap {
    margin-bottom: 0;
    padding-right: 1.1rem;
    width: 33%;
  }

  .search-button-wrap {
    margin-top: 1rem;
    width: auto;
  }

  .search-button-wrap > .button {
    width: 100%;
  }

  .search-form-wrap .loading-spinner-wrap {
    left: auto;
    margin-top: 0;
    right: -3.7rem;
    top: 50%;
    transform: translateY(-50%);
  }

  .search-button-wrap.search-button-wrap-fixed {
    display: none !important;
  }
}

@media only screen and (min-width: 40em) and (max-width: 63.9375em) {
  .search-form > div:nth-child(3) {
    padding-right: 0;
  }
}

@media only screen and (min-width: 64em) {
  .search-form-wrap {
    max-width: 68rem;
  }

  .search-field-wrap,
  .search-button-wrap {
    float: left;
  }

  .search-field-wrap {
    margin-bottom: 0;
    padding-right: 1.1rem;
    width: 29%;
  }

  .search-button-wrap {
    margin-top: 0.2rem;
    width: auto;
  }

  .search-button-wrap > .button {
    width: 100%;
  }
}

/**** LOADING SPINNER ****/

.loading-spinner {
  border-radius: 50%;
  background: #bbb;
  background: -moz-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #bbb 10%, rgba(255, 255, 255, 0) 42%);
  height: 2.5rem;
  position: relative;
  -webkit-animation: loading-spinner 1.4s infinite linear;
  animation: loading-spinner 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  width: 2.5rem;
}

.loading-spinner:before {
  content: "";
  height: 50%;
  background: #bbb;
  border-radius: 100% 0 0 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 50%;
}

.loading-spinner:after {
  background: #f4f4f4;
  border-radius: 50%;
  bottom: 0;
  content: "";
  height: 70%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 70%;
}

@-webkit-keyframes loading-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loading-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/**** FAQ ****/

/* Page Header & Nav */

.faq-nav {
  margin-top: 2rem;
  max-width: 30rem;
}

.faq-nav ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-flow: column;
  -moz-flex-flow: column;
  -ms-flex-flow: column;
  -o-flex-flow: column;
  flex-flow: column;
}

.faq-nav li {
  margin-bottom: 0.8rem;
}

.faq-nav li:last-child {
  margin-bottom: 0;
}

.faq-nav li a {
  display: inline-block;
  background-color: #fff;
  border-radius: 0.375rem;
  padding: 1rem;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.faq-nav li a .icon {
  display: none;
}

.faq-nav li a .faq-nav-text {
  color: #333;
  font-weight: 700;
  padding-right: 1.2rem;
  position: relative;
}

.faq-nav li a .faq-nav-text:after {
  background-image: url("../img/caret-right.svg");
  background-repeat: no-repeat;
  content: "";
  height: 1rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.625rem;
}

/* Section Heading */

.faq-section-header .greyline-1px-btm {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}

.faq-topic-select .input-wrap {
  width: 100%;
}

/* Question Topic Header & Questions */

.faq-section-topic {
  margin-top: 1.6rem;
}

.faq-section-topic:last-child {
  margin-bottom: 1.5rem;
}

@media only screen and (min-width: 30em) {
  .faq-topic-select .input-wrap {
    min-width: 16rem;
    max-width: 50%;
  }
}

@media only screen and (min-width: 40.0625em) {
  /* Page Header & Nav */

  .faq-nav {
    margin-top: 3rem;
    max-width: 100%;
  }

  .faq-nav ul {
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    -o-flex-flow: row wrap;
    flex-flow: row wrap;
    justify-content: center;
  }

  .faq-nav li {
    margin: 0.5rem;
  }

  .faq-nav li a {
    aspect-ratio: 1;
    border-color: transparent;
    border-style: solid;
    border-width: 0.0625rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 11rem;
    min-width: 11rem;
    padding: 1rem;
    text-align: center;
    transition: border-color 0.2s;
    width: 100%;
  }

  .faq-nav li a:hover {
    border-color: #dd2e32;
  }

  .faq-nav li a > div {
  }

  .faq-nav li a .icon {
    display: inline-block;
    height: 5rem;
    margin-bottom: 0.7rem;
    width: 5rem;
  }

  .faq-nav li a .icon img {
    height: 100%;
    width: 100%;
  }

  .faq-nav li a .faq-nav-text {
    padding-right: 0;
  }

  .faq-nav li a .faq-nav-text:after {
    content: none;
  }

  /* Section Heading */

  .faq-section-header .greyline-1px-btm {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
  }

  /* Question Topic Header & Questions */

  .faq-section-topic:last-child {
    margin-bottom: 2.5rem;
  }
}

@media only screen and (min-width: 48em) {
  /* Section Heading */

  .faq-section-header .greyline-1px-btm {
    margin-bottom: 2.5rem;
  }

  .faq-section-heading {
    margin-bottom: 0;
  }

  .faq-topic-select .input-wrap {
    float: right;
    max-width: 100%;
  }
}

@media only screen and (min-width: 64em) {
  /* Page Header & Nav */

  .faq-nav li {
    margin: 0.6rem;
  }

  .faq-nav li a {
    max-width: 12rem;
    min-width: 12rem;
    padding: 1.3rem;
  }

  /* Section Heading */

  .faq-section-header .greyline-1px-btm {
    margin-bottom: 4.5rem;
    padding-bottom: 2.5rem;
  }

  .faq-topic-select .input-wrap {
    max-width: 16rem;
  }

  /* Question Topic Header & Questions */

  .faq-section-topic:last-child {
    margin-bottom: 4rem;
  }

  /* FAQ Footer */

  .faq-footer p {
    float: right;
  }
}

/**** FEATURES HUB ****/

.features-hub header h1 {
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 4rem;
  font-weight: 400;
  margin-bottom: 0;
}

.features-hub header h1 span {
  color: #c30e19;
}

/* Features Hub Nav */

.features-hub-nav ul {
  list-style: none;
  margin-top: 0.5rem;
  padding-left: 0;
}

.features-hub-nav li {
  display: inline-block;
  margin-top: 0.7rem;
  width: 100%;
}

.features-hub-nav li:first-child {
  margin-top: 0;
}

.features-hub-nav a {
  color: #333;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: normal;
  transition: color 0.2s;
}

.features-hub-nav a:hover {
  color: #333;
  text-decoration: none;
}

/* Features Hub Cards */

.features-hub .content-cards {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  max-width: 80rem;
}

.features-hub .content-card {
  padding-bottom: 0.6rem;
  padding-top: 0.6rem;
}

.features-hub .content-card-inner {
  border: none;
  height: 20rem;
}

.features-hub .content-card-text {
  padding-bottom: 1.5rem;
  padding-top: 3.1rem;
}

.features-hub .content-card-text .feature-section-label {
  background-color: #c30e19;
  color: #fff;
  display: inline-block;
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 1.1rem;
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.01rem;
  line-height: 1;
  min-width: 3.1rem;
  padding: 0.55rem 0.6rem 0.45rem;
  position: absolute;
  text-align: center;
  top: 0;
}

.features-hub .content-card-exerpt p {
  font-size: 1rem;
  line-height: 1.4;
}

.features-hub .article-metadata {
  margin-bottom: 0;
  margin-top: 0.8rem;
}

.features-hub .overlay .content-card-inner:after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 70%, rgba(0, 0, 0, 0.65) 100%);
  bottom: 0;
  content: "";
  height: 100%;
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.features-hub .overlay .img-block:after {
  content: none;
}

/* Features Hub Featured Card */

@media only screen and (min-width: 30em) {
  .features-hub .content-card-text {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}

@media only screen and (min-width: 48em) {
  .features-hub header h1 {
    font-size: 5rem;
  }

  .features-hub.content-block {
    padding-top: 6rem;
  }

  .features-hub-nav li {
    margin-top: 0;
    margin-right: 2.2rem;
    width: auto;
  }

  .features-hub-nav li:last-child {
    margin-top: unset;
    margin-right: 0;
  }

  /* Features Hub Featured Card */

  .features-hub .content-card {
    padding: 1rem;
  }

  .features-hub .feature-type-featured .content-card-inner {
    height: 28rem;
  }

  .features-hub .feature-type-featured .content-card-inner .content-card-exerpt p {
    font-size: 1.25rem;
    line-height: 1.5;
  }

  .features-hub .feature-type-featured .article-metadata {
    margin-top: 1.25rem;
  }
}

@media only screen and (min-width: 64em) {
  .features-hub .content-card-inner {
    height: 23rem;
  }

  .features-hub .content-card-inner .content-card-exerpt p {
    font-size: 1.25rem;
    line-height: 1.5;
  }

  /* Features Hub Featured Card */

  .features-hub .feature-type-featured .content-card-inner {
    height: 48rem;
  }
}

/* Features Hub Article List */

.feature-type-list .content-card-inner {
  background-color: transparent;
  border-radius: 0;
}

.features-hub .features-article-list h3 {
  border-bottom: 0.125rem solid #c30e19;
  color: #555;
  font-size: 1.2rem;
  line-height: 1;
  padding-bottom: 0.8rem;
}

.features-hub .features-article-list-container {
  height: 100%;
  overflow: hidden;
  padding-top: 2.1rem;
  position: absolute;
  top: 0;
}

.features-hub .features-article-list-container.article-list-overflow:after {
  background: linear-gradient(176deg, rgba(244, 244, 244, 0) 0%, rgba(244, 244, 244, 0.7) 50%, rgba(244, 244, 244, 1) 100%);
  bottom: -0.05rem;
  content: "";
  height: 3rem;
  pointer-events: none;
  position: absolute;
  width: 100%;
}

.features-hub .features-article-list-container > div {
  max-height: 100%;
  overflow: auto;
}

.features-hub .features-article-list li {
  color: #555;
  line-height: normal;
  margin-top: 0.7rem;
}

.features-hub .features-article-list li:first-of-type {
  margin-top: 0.8rem;
}

.features-hub .features-article-list li:last-of-type {
  margin-bottom: 2rem;
}

.features-hub .features-article-list li a {
  color: #555;
  display: inline-block;
  text-decoration: none;
}

.features-hub .features-article-list li a:hover {
  text-decoration: underline;
}

.features-hub .features-article-list li a:hover .article-metadata-value {
  text-decoration: none;
}

.features-hub .features-article-list li h4 {
  color: #555;
  font-size: 1rem;
  margin-bottom: 0;
  line-height: 1.2;
}

.features-hub .features-article-list li .article-metadata {
  margin-top: 0.2rem;
}

.features-hub .features-article-list li .article-metadata-value {
  color: #666;
  font-size: 0.9rem;
}

/* Features Hub Instagram Card */

.features-hub .feature-type-instagram .content-card-text {
  height: 100%;
  padding: 0;
}

.features-hub .feature-type-instagram .feature-card-cta {
  border-bottom-color: #fff;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  bottom: 1.1rem;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  position: absolute;
  left: 1rem;
  transition: border-bottom-color 0.3s;
}

.features-hub .feature-type-instagram a:hover .feature-card-cta {
  border-bottom-color: transparent;
}

.features-hub .feature-type-instagram .feature-icon-instagram:after {
  background-image: url("../img/icons/features/features-instagram.svg");
  background-repeat: no-repeat;
  bottom: 1.1rem;
  content: "";
  height: 1.5rem;
  right: 1rem;
  position: absolute;
  width: 1.5rem;
}

/* Features Hub Alert Card */

.features-hub .feature-type-alert .content-card-inner {
  background-color: #c30e19;
  transition: background-color 0.3s;
}

.features-hub .feature-type-alert .content-card-text {
  padding-bottom: 1.2rem;
  padding-top: 1.2rem;
  top: 0;
}

.features-hub .feature-type-alert .feature-card-cta {
  bottom: 1.5rem;
  position: absolute;
}

.features-hub .feature-type-alert h3 {
  color: #fff;
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 2.3rem;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
}

.features-hub .feature-type-alert .feature-card-cta {
  border-bottom-color: #fff;
  border-bottom-style: solid;
  border-bottom-width: 0.125rem;
  color: #fff;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.1;
  transition: border-bottom-color 0.3s;
}

.features-hub .feature-type-alert a:hover .feature-card-cta {
  border-bottom-color: transparent;
}

/**** ARTICLES ****/

.article-content > .row > .columns {
  margin: 0 auto;
  max-width: 46.25rem;
}

/* Article Metadata */

.article-metadata {
  display: inline-block;
  font-size: 0.9rem;
  line-height: 1;
  margin-bottom: 1rem;
  margin-top: 0;
  position: relative;
  width: 100%;
}

.article-metadata-value {
  float: left;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
}

.article-metadata-value a {
  color: inherit;
  text-decoration: underline;
}

.article-metadata-value a:hover {
  text-decoration: none;
}

/* Article Metadata Icons */

.article-icon {
  display: inline-block;
  opacity: 0.7;
  margin-left: 0.6rem;
  position: relative;
  vertical-align: baseline;
}

.article-icon-audio:after,
.article-icon-audio-white:after,
.article-icon-photo:after,
.article-icon-photo-white:after,
.article-icon-text:after,
.article-icon-text-white:after,
.article-icon-video:after,
.article-icon-video-white:after {
  background-repeat: no-repeat;
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}

/* Audio Icon */
.article-icon-audio,
.article-icon-audio-white {
  height: 0.75rem;
  top: 0.04rem;
  width: 1.05rem;
}

.article-icon-audio:after {
  background-image: url("../img/icons/article/article-audio-gray.svg");
}

.article-icon-audio-white:after {
  background-image: url("../img/icons/article/article-audio-white.svg");
}

/* Photo Icon */
.article-icon-photo,
.article-icon-photo-white {
  height: 0.9rem;
  top: 0.05rem;
  width: 0.95rem;
}

.article-icon-photo:after {
  background-image: url("../img/icons/article/article-photo-gray.svg");
}

.article-icon-photo-white:after {
  background-image: url("../img/icons/article/article-photo-white.svg");
}

/* Text Icon */
.article-icon-text,
.article-icon-text-white {
  height: 0.8rem;
  top: 0.06rem;
  width: 1rem;
}

.article-icon-text:after {
  background-image: url("../img/icons/article/article-text-gray.svg");
}

.article-icon-text-white:after {
  background-image: url("../img/icons/article/article-text-white.svg");
}

/* Video Icon */
.article-icon-video,
.article-icon-video-white {
  height: 0.7rem;
  top: 0.06rem;
  width: 1.25rem;
}

.article-icon-video:after {
  background-image: url("../img/icons/article/article-video-gray.svg");
}

.article-icon-video-white:after {
  background-image: url("../img/icons/article/article-video-white.svg");
}

/* Article Images */

.article-content .wp-caption {
  margin-top: 1.3125rem;
}

@media only screen and (min-width: 48em) {
  .masthead-article {
    min-height: calc(50vh);
  }
}

@media only screen and (min-width: 64em) {
  .article-content .alignleft,
  .article-content .alignright {
    max-width: 35rem;
  }

  .article-content .alignright {
    margin-right: -12rem;
  }

  .article-content .alignleft {
    margin-left: -12rem;
  }
}

/**** PROFILES ****/

.profile-content .posts-list li h5,
.profile-related-posts .posts-list li h5 {
  color: #fff;
  font-weight: 300;
  margin-bottom: 0;
  margin-top: 0;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  top: 75%;
  transform: translateY(-50%);
  z-index: 1;
}

.profile-content .posts-list li a:hover h5,
.profile-related-posts .posts-list li a:hover h5 {
  text-decoration: none;
}

/**** RELATED CONTENT ****/

/* Callouts */

.article-related-callout,
.profile-related-callout {
  border-bottom: 0.0625rem solid #bbb;
  border-top: 0.0625rem solid #bbb;
  margin-top: 2rem;
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
}

.article-related-callout h3,
.profile-related-callout h3 {
  font-weight: 400;
  margin-bottom: 0;
}

/* Posts */

.article-related-posts .posts-list,
.profile-related-posts .posts-list,
.course-related-posts .posts-list {
  margin-top: 0;
}

.article-related-posts .posts-list li:first-child,
.profile-related-posts .posts-list li:first-child,
.course-related-posts .posts-list li:first-child {
  margin-top: 0;
}

.article-related-posts .posts-list p,
.profile-related-posts .posts-list p,
.course-related-posts .posts-list p {
  font-size: 1rem;
}

.article-related-posts .posts-list .article-metadata,
.profile-related-posts .posts-list .article-metadata,
.course-related-posts .posts-list .article-metadata {
  margin-top: 0;
}

@media only screen and (min-width: 48em) {
  .article-related-posts .posts-list,
  .profile-related-posts .posts-list,
  .course-related-posts .posts-list {
    float: none;
    margin: 0 auto;
  }

  .article-related-posts .posts-list li,
  .profile-related-posts .posts-list li,
  .course-related-posts .posts-list li {
    margin-top: 0;
  }
}

@media only screen and (min-width: 64em) {
  .article-related-callout,
  .profile-related-callout {
    margin-top: 3rem;
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
  }
}

/**** POSTS ARCHIVE ****/

.archive-content h1 {
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-weight: 400;
  font-size: 3.8rem;
  margin-bottom: 0;
}

.archive-content h1 span {
  color: #c30e19;
}

.posts-list {
  margin-top: 3rem;
}

.posts-list li {
  margin-top: 2.2rem;
}

.posts-list li.columns:last-child {
  float: left;
}

.posts-list li > div:hover {
  cursor: pointer;
}

.posts-list li a {
  color: #333;
  display: block;
}

.posts-list li a:hover {
  text-decoration: none;
}

.posts-list-image {
  border-radius: 0.375rem;
  display: inline-block;
  height: 15rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.posts-list li > div:hover h3,
.posts-list li > div:hover h5 {
  text-decoration: underline;
}

.posts-list li h5 {
  margin-bottom: 0.8rem;
  margin-top: 0.8rem;
}

.posts-list .article-metadata {
  margin-bottom: 0;
  margin-top: 0.9rem;
}

/* Featured (Top) Post */

li.posts-list-feature {
  margin-top: 0;
}

.posts-list-feature.columns {
  padding-left: 0;
  padding-right: 0;
}

.posts-list-feature .content-card-exerpt p {
  font-size: 1.125rem;
}

.posts-list li h3 {
  margin-bottom: 0.8rem;
}

@media only screen and (min-width: 48em) {
  .posts-list-feature-image .posts-list-image {
    height: 30rem;
  }
}

@media only screen and (min-width: 64em) {
  .posts-list-feature-image .posts-list-image {
    margin-bottom: 0;
  }
}

/**** COURSE MASTHEAD ****/

.topic-tag-list {
  padding-left: 1.35rem;
  position: relative;
}

.topic-tag-list li {
  font-size: 1rem;
}

.topic-tag-list:before {
  background-image: url("../img/icons/catalog/catalog-tag.svg");
  background-position: no-repeat;
  content: "";
  height: 0.9rem;
  left: 0;
  opacity: 0.7;
  position: absolute;
  top: 0.1rem;
  width: 0.9rem;
}

/**** COURSE & EVENT META DETAIL SIDEBAR ****/

ul.meta-detail {
  background-color: #fff;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  display: inline-block;
  margin-bottom: 0;
  margin-top: 2rem;
  overflow: hidden;
  padding: 1rem;
  position: relative;
  width: 100%;
}

ul.meta-detail > li {
  font-size: 100%;
  line-height: normal;
  margin-bottom: 1.1rem;
}

ul.meta-detail > li:last-child {
  margin-bottom: 0;
}

ul.meta-detail .detail-price {
  display: inline-block;
  margin-bottom: 1rem;
}

ul.meta-detail .detail-price .price-tiers {
  margin-bottom: 0.4rem;
}

ul.meta-detail .detail-price .price-tiers.secondary-price .detail-copy {
  font-size: 2rem;
}

ul.meta-detail .detail-price .detail-copy sup {
  top: -0.6rem;
}

ul.meta-detail .detail-price small {
  display: inline-block;
  font-size: 0.85rem;
  line-height: 1.2rem;
  margin-top: 0.2rem;
}

ul.meta-detail .detail-price .detail-copy {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 100%;
}

ul.meta-detail .detail-price .detail-fine-print {
  color: #666;
  font-style: italic;
  margin-top: 0.85rem;
}

ul.meta-detail .detail-price .detail-fine-print a {
  color: inherit;
  font-style: inherit;
  text-decoration: underline;
}

ul.meta-detail .detail-price .detail-fine-print a:hover {
  text-decoration: none;
}

ul.meta-detail .detail-price .detail-fine-print small {
  margin-top: 0;
}

ul.meta-detail .detail-price .detail-fine-print small a.break {
  display: block;
}

ul.meta-detail .detail-alert {
  color: #c11022;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2rem;
  margin-bottom: 0.8em;
}

ul.meta-detail .detail-title {
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
}

ul.meta-detail .detail-title a {
  font-weight: 700;
  font-size: 0.76rem;
  letter-spacing: 0.04rem;
  position: relative;
  top: -0.08rem;
  margin-left: 0.7rem;
}

ul.meta-detail .detail-copy {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

ul.meta-detail .detail-copy a {
  color: inherit;
  text-decoration: underline;
}

ul.meta-detail .detail-copy a:hover {
  color: inherit;
  text-decoration: none;
}

ul.meta-detail .detail-copy small {
  display: inline-block;
  font-size: 0.85rem;
  line-height: 1.2rem;
  margin-top: 0.2rem;
}

ul.meta-detail .detail-copy .break {
  display: inline;
}

ul.meta-detail .social-share li {
  line-height: normal;
  margin-right: 0.2em;
}

ul.meta-detail .social-share li button {
  background-repeat: no-repeat;
  height: 2.4rem;
  width: 2.4rem;
}

.meta-detail-contact {
  border-top: 0.0625rem solid #ddd;
  padding-top: 1.1rem;
}

.meta-detail-contact p {
  font-size: 0.85rem;
  line-height: 1.125rem;
}

.meta-detail-contact p strong {
  display: block;
}

.meta-detail-contact p .break {
  display: block;
}

.meta-detail-contact p span {
  display: none;
}

.meta-detail-contact p a {
  color: inherit;
  display: inline-block;
  text-decoration: underline;
}

.meta-detail-contact p a:hover {
  text-decoration: none;
}

@media only screen and (max-width: 30em) {
  .event-block.content-block,
  .course-info-block.content-block {
    padding-bottom: 0;
  }
}

@media only screen and (min-width: 30em) {
  ul.meta-detail {
    padding: 1.5rem;
  }
}

@media only screen and (min-width: 48em) {
  ul.meta-detail {
    margin-top: 0;
    max-width: 18rem;
    padding: 1rem;
  }

  ul.meta-detail .detail-alert {
    font-size: 1.7rem;
  }

  ul.meta-detail .detail-copy .break {
    display: block;
  }
}

@media only screen and (min-width: 64em) {
  ul.meta-detail {
    padding: 1.5rem;
  }
}

/* CERTIFICATE */

/* Certificate Masthead */

.certificate-branding {
  margin-top: 0.8rem;
}

.certificate-branding span {
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 300;
  margin-bottom: 0.7rem;
}

.certificate-branding img {
  max-height: 2.2rem;
  max-width: 11rem;
}

/* Certificate Meta Detail */

.certificate .meta-detail {
  background-color: #222;
  color: #fff;
}

@media only screen and (min-width: 48em) {
  .certificate-branding {
    margin-bottom: 2rem;
  }
}

/* Course & Event Page - Intro Description */

.feat-event-copy,
.feat-course-copy {
  font-family: "nyt-cheltenham", Georgia, Times, "Times New Roman", serif;
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 200;
  margin-bottom: 1.5rem;
}

@media only screen and (min-width: 48em) {
  .feat-event-copy,
  .feat-course-copy {
    font-size: 1.7rem;
  }
}

@media only screen and (min-width: 64em) {
  .feat-event-copy,
  .feat-course-copy {
    font-size: 2.4rem;
    line-height: 1.3;
  }
}

/**** COURSE TOPIC TAGS ****/

.topic-tags {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: 1.5rem;
}

.topic-tags li {
  display: inline-block;
  margin-left: 0.5rem;
}

.topic-tags li:first-of-type {
  margin-left: 0;
}

.topic-tags li a {
  background-color: #333;
  border-left-color: #fff;
  border-left-style: solid;
  border-left-width: 5px;
  color: #fff;
  cursor: default;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.04rem;
  line-height: 1.2;
  padding: 0.6rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.3s, color 0.3s;
}

.topic-tags li a:hover {
  color: #333;
  text-decoration: none;
}

.topic-tags li.topic-tag-journalism a {
  border-left-color: #48d1cc;
}

.topic-tags li.topic-tag-journalism a:hover {
  background-color: #48d1cc;
}

.topic-tags li.topic-tag-writing a {
  border-left-color: #ffd700;
}

.topic-tags li.topic-tag-writing a:hover {
  background-color: #ffd700;
}

/* Course Schedule */

.course-schedule h4 {
  margin-bottom: 3.5rem;
}

.course-schedule h2 {
  padding-top: 0.8rem;
}

.schedule-acrdn {
  list-style: none;
  margin-bottom: 0.5rem;
  padding-left: 0;
}

.schedule-acrdn li {
  border-bottom: 1px solid #cfcfcf;
  height: auto;
  line-height: normal;
  margin-bottom: 0;
}

.schedule-acrdn button {
  height: 100%;
  position: relative;
  text-align: left;
  transition: 0.3s;
  width: 100%;
}

.schedule-acrdn button:after {
  background-image: url("../img/accordion_arrow.svg");
  background-repeat: no-repeat;
  content: "";
  height: 10px;
  position: absolute;
  right: 0.8rem;
  top: 1.25rem;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: transform 0.3s;
  width: 16px;
}

.schedule-acrdn .open button {
  border-bottom: 1px solid #dfdfdf;
}

.schedule-acrdn .open button:after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.schedule-acrdn button:hover {
  background-color: #eaeaea;
  padding-left: 0.8rem;
}

.schedule-acrdn .sched-details {
  overflow: hidden;
  padding-bottom: 1rem;
  padding-right: 2.5rem;
  padding-top: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.schedule-acrdn .sched-time {
  color: #afafaf;
  display: inline-block;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  width: 5rem;
}

.schedule-acrdn .sched-title {
  font-size: 1.1rem;
}

.schedule-acrdn .sched-summary {
  font-size: 1rem;
  margin-top: 1rem;
  padding-right: 1rem;
}

@media only screen and (min-width: 48em) {
  .schedule-acrdn .sched-time {
    width: 6.5rem;
  }
}

/**** ACCORDION GENERAL ****/

.accordion-general {
  border-bottom: 1px solid #cfcfcf;
  display: inline-block;
  list-style: none;
  margin-bottom: 1.6rem;
  margin-top: 1.6rem;
  padding-left: 0;
  width: 100%;
}

.accordion-general > li {
  height: auto;
  line-height: 1;
  margin-top: 0;
}

.accordion-general > li > div {
  border-top: 1px solid #cfcfcf;
}

.accordion-general button {
  height: 100%;
  position: relative;
  text-align: left;
  transition: 0.3s;
  width: 100%;
}

.accordion-general button:after {
  background-image: url("../img/accordion_arrow.svg");
  background-repeat: no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 0;
  top: 1.45rem;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: transform 0.3s;
  width: 1rem;
}

.accordion-general .open button:after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.accordion-general button span {
  display: inline-block;
  line-height: 1.3;
  padding-bottom: 0.9rem;
  padding-right: 2rem;
  padding-top: 0.9rem;
  width: 100%;
}

.accordion-general-body {
  margin-bottom: 1.6rem;
}

.accordion-general-body ul {
  list-style: disc;
}

.accordion-general-body ul ul {
  list-style: circle;
}

.accordion-general-body ul ul ul {
  list-style: square;
}

/**** MODALS ****/

.modal-overlay,
.notify-modal {
  background: rgba(238, 238, 238, 0.9);
  bottom: 0;
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  right: 0;
  text-align: left;
  top: 0;
  width: 100%;
  z-index: 10000;
}

.modal-overlay > .row,
.modal-overlay > div,
.notify-modal > div {
  background: #fff;
  bottom: 0;
  left: 0;
  overflow-y: auto;
  margin: 0 auto;
  padding: 4rem 0.5rem 2rem;
  position: absolute;
  right: 0;
  top: 0;
}

.modal-overlay,
.notify-modal {
  color: #333;
}

@media only screen and (min-width: 48em) {
  .modal-overlay,
  .notify-modal {
    overflow-y: auto;
  }

  .modal-overlay > .row,
  .modal-overlay > div,
  .notify-modal > div {
    bottom: auto;
    max-width: 37rem;
    overflow-y: visible;
    padding: 4rem 2rem 3rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

/* Video Modal */

.modal-video {
  background: rgba(0, 0, 0, 0.8);
}

.modal-video > div {
  background: transparent;
  max-width: none;
  padding: 3.5rem 1rem 0;
  width: 100%;
}

.modal-video .video {
  background-color: #000;
}

.modal-video .close-x {
  right: 1rem;
  top: 1rem;
}

.modal-video .close-x:before,
.modal-video .close-x:after {
  background: #fff;
}

@media only screen and (min-width: 48em) {
  .modal-video > div {
    width: 90%;
  }
}

@media only screen and (min-width: 64em) {
  .modal-video > div {
    padding: 0;
  }

  .modal-video > div .close-x {
    right: 0;
    top: -2.5rem;
  }
}

@media only screen and (min-width: 75em) {
  .modal-video > div {
    width: 70%;
  }
}

/**** MODAL CLOSE 'X' BUTTON ****/

.close-x {
  display: inline-block;
  height: 1.6rem;
  overflow: hidden;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 1.6rem;
}

.close-x:before,
.close-x:after {
  background: #333;
  content: "";
  height: 0.2rem;
  left: 0;
  margin-top: -0.1rem;
  position: absolute;
  top: 50%;
  width: 100%;
}

.close-x:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.close-x:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/**** SWIPER OVERRIDES ****/

.swiper-pagination.swiper-pagination-fraction {
  bottom: 1.5rem;
  color: #fff;
  font-weight: 300;
  text-shadow: 0 0 5px #333;
}

.swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,<svg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'><path%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23fff'%2F><%2Fsvg>");
  -webkit-filter: drop-shadow(0 0 3px #333);
  filter: drop-shadow(0 0 3px #333);
  display: inline-block;
  right: 1rem;
}

.swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23fff'%2F%3E%3C%2Fsvg%3E");
  -webkit-filter: drop-shadow(0 0 3px #333);
  filter: drop-shadow(0 0 3px #333);
  display: inline-block;
  left: 1rem;
}

/**** VIDEO ****/

p + .video,
.video + p {
  margin-top: 1.5rem;
}

.video .video-image {
  display: none;
}

@media only screen and (min-width: 48em) {
  .video {
    display: inline-block;
    overflow: hidden;
    position: relative;
    width: 100%;
  }

  .video .video-image {
    cursor: pointer;
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 1;
  }

  .video .video-image > div {
    height: 100%;
  }

  .video .video-image > div img {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
  }

  .video .video-image:before {
    border-width: 10px;
    border-style: solid;
    border-color: #fff;
    border-radius: 50%;
    content: "";
    display: block;
    height: 10em;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10em;
    z-index: 1;
  }

  .video.video-small .video-image:before {
    border-width: 8px;
    height: 6em;
    width: 6em;
  }

  .video .video-image:after {
    border-bottom-color: transparent;
    border-left-color: #fff;
    border-right-color: transparent;
    border-top-color: transparent;
    border-style: solid;
    border-width: 35px 0 35px 60px;
    content: "";
    height: 0;
    left: 1em;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
  }

  .video.video-small .video-image:after {
    border-width: 22px 0 22px 42px;
    left: 0.5em;
  }

  .video .video-image:before,
  .video .video-image:after {
    transition: all 0.3s;
  }

  .video .video-image:hover:before {
    border-color: #dd2e32;
  }

  .video .video-image:hover:after {
    border-left-color: #dd2e32;
  }

  .video .video-image > div:after {
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }

  .video-playing .video-image:before,
  .video-playing .video-image:after {
    display: none;
  }
}

/* Featured Video Block */

.featured-video-widget .video {
  margin-bottom: 1.875rem;
}

@media only screen and (min-width: 64em) {
  .featured-video-widget .video {
    margin-bottom: 0;
  }
}

/* AUDIO PLAYER */

.wp-playlist {
  border: 0 !important;
  display: inline-block;
  width: 100%;
}

.wp-playlist-light {
  background: transparent !important;
}

.wp-playlist-current-item .wp-playlist-caption .wp-playlist-item-title {
  display: none;
}

.mejs-container,
.mejs-container .mejs-controls,
.mejs-embed,
.mejs-embed body {
  background: #fff !important;
}

.mejs-container {
  height: 60px !important;
  border-bottom: 1px solid #999;
  border-left: 0;
  border-right: 0;
  border-top: 1px solid #999;
}

.mejs-container .mejs-controls {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.mejs-controls .mejs-button button {
  background: transparent url("../img/controls.svg") no-repeat !important;
}

.mejs-controls .mejs-mute button {
  background-position: -16px -16px !important;
}

.mejs-controls .mejs-pause button {
  background-position: 0 -16px !important;
}

.mejs-container .mejs-controls .mejs-time {
  color: #333 !important;
}

.mejs-controls .mejs-unmute button {
  background-position: -16px 0 !important;
}

.mejs-controls .mejs-time-rail .mejs-time-current {
  background: #c11022 !important;
}

.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,
.mejs-controls .mejs-time-rail .mejs-time-loaded {
  background: #eaeaea !important;
}

.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
.mejs-controls .mejs-time-rail .mejs-time-total {
  background: #cfcfcf !important;
}

.wp-playlist-tracks {
  margin: 0 !important;
}

.wp-playlist-item-meta.wp-playlist-item-artist {
  display: none;
}

.wp-playlist-item-meta.wp-playlist-item-album {
  display: none;
}

.wp-playlist-current-item {
  height: auto !important;
}

.wp-playlist-item {
  padding-bottom: 1.1rem !important;
  padding-left: 0.1rem !important;
  padding-left: 0 !important;
  padding-top: 1.1rem !important;
  transition: all 0.3s;
}

.wp-playlist-item.wp-playlist-playing,
.wp-playlist-item:hover {
  background: #eaeaea !important;
  font-weight: normal;
  padding-left: 0.8rem !important;
}

.wp-playlist-item:last-child {
  border-bottom: 0.0625rem solid #cfcfcf !important;
}

.wp-playlist-caption,
.wp-playlist-item-meta {
  font-size: 1.1rem !important;
  max-width: none !important;
}

.wp-playlist-caption {
  margin-right: 3.1rem;
}

.wp-playlist-item-title {
  font-size: inherit !important;
}

.wp-playlist-item-length {
  font-size: 1.1rem !important;
  right: 0.8rem !important;
  top: 50% !important;
  -webkit-transform: translateY(-50%) !important;
  -ms-transform: translateY(-50%) !important;
  transform: translateY(-50%) !important;
}

@media only screen and (min-width: 48em) {
  .wp-playlist {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }

  .wp-playlist-current-item .wp-playlist-caption .wp-playlist-item-title {
    font-size: 2rem !important;
  }
}

/**** LARGE SLALOMS ****/

.lg-slaloms article {
  margin-top: 3rem;
}

.lg-slaloms article:first-child {
  margin-top: 0;
}

.lg-slalom-left {
  margin-bottom: 2rem;
}

.lg-slalom-feat-img {
  position: relative;
}

.lg-slalom-feat-img.course-status:before {
  top: 1.4rem;
}

.lg-slalom-feat-img .img-block {
  height: auto;
  margin-bottom: 1.5rem;
  position: relative;
  max-width: 29rem;
  width: 100%;
}

.lg-slalom-feat-img figcaption {
  float: right;
  padding: 0;
}

.lg-slalom-feat-img figcaption h6 {
  margin-bottom: 4rem;
}

.lg-slalom-faculty a {
  color: inherit;
  display: inline-block;
  position: relative;
  transition: color 0.3s;
  width: 100%;
}

.lg-slalom-faculty-img {
  background-color: #dfdfdf;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  width: 6rem;
}

.lg-slalom-faculty-img img {
  border-radius: 50%;
}

.lg-slalom-faculty-text {
  min-height: 6rem;
  padding-left: 7.5rem;
  width: 100%;
}

.lg-slalom-faculty a:hover {
  color: #dd2e32;
}

.lg-slaloms article .course-catalog ul {
  margin-bottom: 1.5rem;
}

.lg-slaloms article .course-catalog li:nth-last-child(2) {
  margin-bottom: 1.5rem;
}

.lg-slaloms article:nth-child(even) .lg-slalom-left {
  float: right;
}

.lg-slaloms article:nth-child(even) .lg-slalom-right {
  float: left;
}

.lg-slaloms article:nth-child(even) .lg-slalom-right figcaption {
  float: left;
}

.lg-slaloms article:nth-child(even) .course-catalog {
  float: right;
}

@media only screen and (min-width: 48em) {
  .lg-slaloms article {
    margin-top: 6rem;
  }

  .lg-slaloms article:first-child {
    margin-top: 0;
  }

  .lg-slaloms article h1 {
    margin-bottom: 10rem;
  }

  .lg-slaloms.course-slaloms article h1 {
    margin-bottom: 4rem;
  }

  .lg-slaloms article .course-catalog {
    margin-top: -5rem;
  }

  .lg-slalom-left {
    margin-bottom: 0;
  }

  .lg-slalom-feat-img figcaption h6 {
    margin-bottom: 0.25em;
  }
}

@media only screen and (min-width: 64em) {
  .lg-slalom-feat-img.course-status:before {
    font-size: 0.975rem;
    letter-spacing: 0.02rem;
    top: 2rem;
  }
}

/**** VIDEO ****/

.video-block header h1 {
  margin-bottom: 0.5rem;
}

.video-block header img {
  margin-bottom: 3rem;
  max-width: 11rem;
}

@media only screen and (min-width: 64em) {
  .video-block header img {
    max-width: 20rem;
  }
}

/**** MORE INFO BLOCK ****/

.more-info-block ul li {
  display: inline-block;
  margin-bottom: 0.55rem;
  margin-top: 0.55rem;
  width: 100%;
}

.more-info-block ul li:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 47.9375em) {
  .more-info-block .button {
    width: 100%;
  }
}

@media only screen and (min-width: 48em) {
  .more-info-block ul li {
    margin-right: 0.7rem;
    width: auto;
  }

  .more-info-block ul li:last-child {
    margin-right: 0;
  }
}

/**** TERM/SESSION BLOCK ****/

ul.term-boxes {
  margin-top: 3.5rem;
}

.term-box {
  background-color: #fff;
  border-radius: 0.375rem;
  display: inline-block;
  min-height: 6.8rem;
  margin-bottom: 1.5rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.term-box:last-child {
  margin-bottom: 0;
}

.term-box-header {
  background-color: #508cd1;
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 5rem;
}

.term-box-header h6 {
  color: #fff;
  font-weight: 700;
  left: 50%;
  line-height: 1;
  margin-bottom: 0;
  margin-top: 0.2rem;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
}

.term-box-header h6 span {
  color: #b0c4de;
  display: block;
  font-size: 4.2rem;
}

.term-box-inner {
  margin-left: 5rem;
  padding: 1rem;
}

.term-box-inner > div {
  margin-bottom: 1rem;
}

.term-box-inner > div:last-child {
  margin-bottom: 0;
}

.term-box-inner-header {
  font-weight: 700;
  margin-bottom: 0.1rem;
}

.term-box-inner-value {
  font-size: 1.1rem;
  line-height: 1.2;
  padding-right: 1rem;
}

.term-box .term-status {
  border-radius: 1.25rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1;
  padding: 0.6rem;
  text-align: center;
  width: 100%;
}

/* General, Blue */
.term-box .term-status.status-open {
  background-color: #e9f1f9;
  color: #508cd1;
}

/* New, Green */
.term-box .term-status.status-new {
  background-color: #e7fae8;
  color: #4ab142;
}

/* Limited, Orange */
.term-box .term-status.status-limited {
  background-color: #ffe6c8;
  color: #ff8a00;
}

/* Closed, Red */
.term-box .term-status.status-closed {
  background-color: #f8dede;
  color: #dd2e32;
}

@media only screen and (min-width: 25em) {
  .term-box-header {
    width: 7rem;
  }

  .term-box-header h6 span {
    font-size: 4.5rem;
  }

  .term-box-inner {
    margin-left: 7rem;
    padding: 1.5rem;
  }
}

@media only screen and (min-width: 37.5em) {
  .term-box-inner .term-box-inner-dates,
  .term-box-inner .term-box-inner-grades,
  .term-box-inner .term-box-inner-status {
    display: inline-block;
    margin-bottom: 1.2rem;
  }

  .term-box-inner .term-box-inner-dates,
  .term-box-inner .term-box-inner-grades {
    width: 49%;
  }

  .term-box-inner .term-box-inner-status {
    width: 100%;
  }
}

@media only screen and (min-width: 48em) {
  .term-box-header {
    width: 7.2rem;
  }

  .term-box-header h6 span {
    font-size: 3.7rem;
  }

  .term-box-inner {
    bottom: 0;
    display: block;
    left: 0;
    margin-left: 7.2rem;
    padding: 2rem;
    position: absolute;
    right: 0;
    top: 0;
  }

  .term-box-inner .term-box-inner-dates,
  .term-box-inner .term-box-inner-grades,
  .term-box-inner .term-box-inner-status {
    float: left;
    margin-bottom: 0;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }

  .term-box-inner .term-box-inner-dates {
    width: 36%;
  }

  .term-box-inner .term-box-inner-grades {
    width: 34%;
  }

  .term-box-inner .term-box-inner-status {
    float: right;
    width: 30%;
  }

  .term-box .term-status {
    display: inline-block;
    float: right;
    min-width: 9.1rem;
    width: auto;
  }
}

@media only screen and (min-width: 64em) and (max-width: 78.125rem) {
  .term-box-inner {
    padding: 1.5rem;
    position: relative;
  }

  .term-box-inner .term-box-inner-dates,
  .term-box-inner .term-box-inner-grades,
  .term-box-inner .term-box-inner-status {
    display: inline-block;
    float: none;
    margin-bottom: 1.2rem;
    top: 0;
    transform: none;
  }

  .term-box-inner .term-box-inner-dates,
  .term-box-inner .term-box-inner-grades {
    width: 49%;
  }

  .term-box-inner .term-box-inner-status {
    float: none;
    width: 100%;
  }

  .term-box .term-status {
    display: block;
    float: none;
    min-width: 100%;
    width: 100%;
  }
}

@media only screen and (min-width: 64em) {
  .term-boxes {
    margin-top: 0;
  }
}

/**** EVENTS ****/

/* Events Home */

.events-block h1 {
  margin-bottom: 0;
}

.events-block .event-desc {
  margin-bottom: 1rem;
}

/* Single Event */

.events .content-block-small:nth-child(odd),
.events .main-content .content-block:nth-child(odd) {
  background-color: #f4f4f4;
}

.events .content-block-small:nth-child(even),
.events .main-content .content-block:nth-child(even) {
  background-color: #fff;
}

/**** HOME ABOUT BLOCK ****/

.home-about-block h2 {
  font-weight: 400;
  margin-bottom: 0.7rem;
}

.home-about-block h2 img {
  height: 3.7rem;
  width: 40rem;
}

@media only screen and (min-width: 48em) {
  .home-about-block h2 {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}

@media only screen and (min-width: 64em) {
  .home-about-block .content-block {
    padding-bottom: 9rem;
    padding-top: 9rem;
  }

  .home-about-block h2 {
    margin-bottom: 1rem;
    margin-top: 2rem;
  }
}

/**** FEATURED PEOPLE BLOCK ****/

.featured-people-content {
  background-color: #222;
  overflow: hidden;
  position: relative;
}

.featured-person {
  position: relative;
}

.featured-person .img-block {
  height: 12rem;
  position: relative;
}

.featured-person .img-block.overlay:after {
  content: none;
}

.featured-person-inner {
  padding-bottom: 1.5rem;
  padding-top: 1.2rem;
  position: relative;
  text-align: center;
}

.featured-person-inner blockquote {
  margin: 0 auto 1.5rem;
  max-width: 65rem;
}

.featured-person-inner blockquote:before,
.featured-person-inner blockquote:after {
  content: none;
}

.featured-person-inner blockquote p {
  color: #fff;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.3;
}

.featured-person-inner blockquote cite {
  color: #fff;
  display: block;
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.05rem;
  line-height: 1.1;
  margin-top: 1rem;
  text-transform: uppercase;
}

.featured-person-inner blockquote cite:before {
  content: none;
}

/* Featured People Modal */

.featured-people-block .modal-overlay {
  position: absolute;
}

/* Featured People Nav */

.featured-people-nav {
  display: none;
}

/* Swiper slider overrides */

.featured-people-block .swiper-button-wrap {
  bottom: 0;
  height: auto;
  left: 0;
  position: absolute;
  right: 0;
}

.featured-people-block .swiper-pagination.swiper-pagination-bullets {
  margin: 0 auto 1rem;
  position: relative;
}

.featured-people-block .swiper-pagination-bullet {
  background: #fff;
  margin-right: 0.5rem;
}

.featured-people-block .swiper-pagination-bullet:last-child {
  margin-right: 0;
}

.modal-open .featured-people-block .swiper-pagination.swiper-pagination-bullets {
  z-index: -1 !important;
}

@media only screen and (min-width: 30em) {
  .featured-person .img-block {
    height: 20rem;
  }

  .featured-person-inner {
    padding: 2rem;
  }

  .featured-person-inner blockquote p {
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 48em) {
  .featured-person .img-block {
    height: calc(50vh - 4rem);
  }
}

@media only screen and (min-width: 64em) {
  .featured-people-content {
    min-height: 40rem;
  }

  .featured-person {
    bottom: 0;
    left: -9999px;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 1s;
  }

  .featured-person.show {
    left: 0;
    opacity: 1;
  }

  .featured-person .img-block {
    height: 100%;
    position: absolute;
  }

  .featured-person .img-block.overlay:after {
    content: "";
  }

  .featured-person-inner {
    bottom: 2.5rem;
    padding: 0;
    position: absolute;
    z-index: 1;
  }

  .featured-person-inner blockquote cite {
    display: none;
  }

  .featured-people-block div.swiper-container {
    position: static;
  }

  .featured-people-block div.swiper-wrapper {
    position: static;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .featured-people-block div.swiper-slide {
    min-height: 32rem;
    position: static;
  }

  .featured-people-block .modal-overlay {
    position: fixed;
  }

  /* Featured People Nav */

  .featured-people-nav {
    background-color: transparent;
    display: inline-block;
    height: auto;
    padding-bottom: 1.8rem;
    padding-top: 1.8rem;
    position: relative;
    text-align: center;
    width: 100%;
  }

  .featured-people-nav label {
    cursor: pointer;
    display: inline-block;
    min-width: 10rem;
    width: auto;
  }

  .featured-people-nav label input {
    border: 0;
    clip: rect(0 0 0 0);
    height: 0.0625rem;
    width: 0.0625rem;
    margin: -0.0625rem;
    overflow: hidden;
    padding: 0;
    position: absolute;
  }

  .featured-people-nav label > div {
    position: relative;
    top: 1.5rem;
    transition: top 0.3s;
  }

  .featured-people-nav label > div:hover,
  .featured-people-nav label input:checked + div {
    top: 0;
  }

  .featured-people-nav label .img-block {
    background-color: #4f4f4f;
    border-radius: 50%;
    box-shadow: 0 0 0 0.25rem #4f4f4f;
    display: block;
    height: 4.5rem;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    width: 4.5rem;
  }

  .featured-people-nav label .img-block:after {
    background-color: #dfdfdf;
    border-radius: 50%;
    content: "";
    bottom: 0;
    opacity: 0.2;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 0.3s;
  }

  .featured-people-nav label > div:hover .img-block:after {
    opacity: 0;
  }

  .featured-people-nav label p {
    color: #fff;
    display: block;
    font-size: 0.8125rem;
    left: -9999px;
    line-height: 1.2;
    margin-bottom: 0;
    margin-top: 0.6rem;
    opacity: 0;
    text-align: center;
    text-transform: uppercase;
    transition: opacity 0.3s;
    visibility: hidden;
  }

  .featured-people-nav label > div:hover p,
  .featured-people-nav label input:checked + div p {
    left: auto;
    opacity: 1;
    transition: opacity 0.3s;
    visibility: visible;
  }

  .featured-people-nav label p strong {
    display: block;
  }
}

/**** DIVISION INTRO BLOCK ****/

.division-intro-block li {
  display: inline-block;
  margin-left: 1rem;
  margin-right: 1rem;
}

/**** AT A GLANCE BLOCK ****/

.glance-block li {
  margin-bottom: 0;
}

.glance-block [class*="block-grid-"] > li {
  padding: 0 1.5rem 1.8rem;
}

.glance-block .glance-block-inner {
  padding-left: 1rem;
  position: relative;
  border-left: 4px solid #dd2e32;
  height: 100%;
}

.glance-block .glance-block-text h5 {
  margin-bottom: 0.6rem;
}

.glance-block .glance-block-text p {
  margin-bottom: 0;
  margin-top: 0;
}

.glance-block small {
  color: #777;
}

@media only screen and (min-width: 64em) {
  .glance-block [class*="block-grid-"] > li {
    padding: 0 2rem 2.4rem;
  }
}

/**** STYLIZED BULLET POINTS ****/

.bullet-points-block ul {
  list-style: none;
  margin-left: 2rem;
  margin-top: 1.5rem;
  padding-left: 0;
}

.bullet-points-block li {
  margin-bottom: 1.5rem;
  position: relative;
}

.bullet-points-block li:before {
  color: #dfdfdf;
  content: "\2022";
  font-size: 2rem;
  left: -2rem;
  line-height: normal;
  position: absolute;
  top: 0;
}

.bullet-points-block li:last-child {
  margin-bottom: 0;
}

.bullet-points-block p {
  margin-bottom: 0;
}

@media only screen and (min-width: 64em) {
  .bullet-points-block ul {
    margin-top: 0;
  }
}

/**** MEDIA MOGULS ****/

.media-moguls-block .media-mogul {
  margin-top: 2rem;
}

.media-moguls-block .media-mogul figure > div {
  border-bottom: 1px solid #cfcfcf;
  display: inline-block;
  padding-bottom: 3rem;
  width: 100%;
}

.media-moguls-block .media-mogul:last-child figure > div {
  border-bottom: none;
  padding-bottom: 0;
}

.media-mogul-text {
  margin-top: 1.5rem;
}

@media only screen and (min-width: 48em) {
  .media-moguls-block .media-mogul {
    margin-top: 2.5rem;
  }

  .media-moguls-block .media-mogul figure > div {
    padding-bottom: 2.5rem;
  }

  .media-moguls-block .media-mogul:nth-child(odd) .media-mogul-image,
  .media-moguls-block .media-mogul:nth-child(even) .media-mogul-text {
    float: right;
    padding-right: 0;
  }

  .media-moguls-block .media-mogul:nth-child(odd) .media-mogul-text,
  .media-moguls-block .media-mogul:nth-child(even) .media-mogul-image {
    float: left;
    padding-left: 0;
  }

  .media-moguls-block .media-mogul .media-mogul-image > img {
    float: inherit;
  }

  .media-mogul-text {
    margin-top: 0;
  }
}

@media only screen and (max-width: 47.9375em) {
  .media-moguls-block .media-mogul .media-mogul-text,
  .media-moguls-block .media-mogul .media-mogul-image {
    padding-left: 0;
    padding-right: 0;
  }
}

@media only screen and (min-width: 64em) {
  .media-moguls-block .media-mogul {
    margin-top: 4rem;
  }

  .media-moguls-block .media-mogul figure > div {
    padding-bottom: 4rem;
  }

  .media-moguls-block .media-mogul:nth-child(even) .media-mogul-text {
    padding-left: 2rem;
  }

  .media-moguls-block .media-mogul:nth-child(odd) .media-mogul-text {
    padding-right: 2rem;
  }
}

/**** FLEXIBLE TEMPLATE ****/

.flex-content .column + .column:last-child,
.flex-content .column + .columns:last-child,
.flex-content .columns + .column:last-child,
.flex-content .columns + .columns:last-child {
  float: left;
}

.flexible-content .column + .column:last-child,
.flexible-content .column + .columns:last-child,
.flexible-content .columns + .column:last-child,
.flexible-content .columns + .columns:last-child {
  float: left;
}

.flexible-spacer-1-line,
.flexible-spacer-2-line {
  display: inline-block;
  width: 100%;
}

.flexible-spacer-1-line {
  height: 1.5rem;
}

.flexible-spacer-2-line {
  height: 3rem;
}

.flexible-content .video {
  margin-bottom: 1.5rem;
}

@media only screen and (min-width: 64em) {
  .flexible-content .video {
    margin-bottom: 2.5rem;
    margin-top: 1.25rem;
  }
}

/**** PHOTOJOURNALISM CHALLENGE ****/

/* Image Grid */

.photo-challenge-img-grid {
  margin-top: 1.875rem;
}

.photo-challenge-img-grid li > div {
  font-size: 0;
  position: relative;
}

.photo-challenge-img-grid li p {
  bottom: 0.8rem;
  color: #eaeaea;
  font-size: 0.8rem;
  font-weight: 300;
  right: 0.8rem;
  margin-bottom: 0;
  position: absolute;
  text-shadow: 1px 1px 1px #000;
  line-height: 1;
}

/* Image Collage */

.photo-challenge-img-collage {
  margin-bottom: 1.875rem;
  margin-top: 1.875rem;
}

.photo-challenge-img-collage span {
  display: inline-block;
}

.photo-challenge-img-collage .pc-img-collage-left img,
.photo-challenge-img-collage .pc-img-collage-right img {
  padding-top: 1.125rem;
}

.photo-challenge-img-collage .pc-img-collage-left img {
  padding-top: 0;
}

@media only screen and (min-width: 48em) {
  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(1),
  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(2) {
    float: left;
    width: 50%;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(1) {
    padding-right: 0.625rem;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(2) {
    padding-left: 0.625rem;
  }
}

@media only screen and (min-width: 64em) {
  .photo-challenge-img-collage.row {
    float: left;
    margin-bottom: 1.875rem;
    margin-top: 3.125rem;
    max-width: 140rem;
    overflow: hidden;
    padding: 0;
    width: 110%;
  }

  .photo-challenge-img-collage.row .columns {
    padding: 0;
  }

  .photo-challenge-img-collage .pc-img-collage-left,
  .photo-challenge-img-collage .pc-img-collage-right {
    float: left;
  }

  .photo-challenge-img-collage .pc-img-collage-left {
    width: 40%;
  }

  .photo-challenge-img-collage .pc-img-collage-right {
    width: 60%;
  }

  .photo-challenge-img-collage .pc-img-collage-left img,
  .photo-challenge-img-collage .pc-img-collage-right img {
    padding-top: 0;
  }

  .photo-challenge-img-collage .pc-img-collage-left img {
    padding-right: 0.625rem;
  }

  .photo-challenge-img-collage .pc-img-collage-right span {
    float: left;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) {
    width: 33.3%;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(1),
  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(2) {
    width: 100%;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(1) {
    padding-bottom: 1.25rem;
    padding-left: 0.625rem;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(1) img:nth-child(2) {
    padding-right: 0.625rem;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(2) {
    width: 66.6%;
  }

  .photo-challenge-img-collage .pc-img-collage-right span:nth-child(2) img {
    padding-left: 0.625rem;
  }
}

/**** ERROR PAGE ****/

.error-page .icon {
  height: 100%;
  margin-bottom: 2rem;
  max-width: 8rem;
  width: 100%;
}

.error-page .break {
  display: inline;
}

@media only screen and (min-width: 30em) {
  .error-page .icon {
    margin-bottom: 3rem;
    max-width: 11rem;
  }

  .error-page .break {
    display: block;
  }
}

/**** Thank You Page ****/

.thank-you-page {
  min-height: 20rem;
}

.thank-you-page .icon {
  height: 100%;
  margin-bottom: 2rem;
  max-width: 11rem;
  width: 100%;
}

@media only screen and (min-width: 30em) {
  .thank-you-page .icon {
    margin-bottom: 3rem;
    max-width: 15rem;
  }
}

/**** COOKIE BANNER ****/

#iubenda-cs-banner {
  background-color: #222;
  bottom: 0;
  color: #fff;
  display: block;
  left: 0;
  padding: 1.1rem 1rem;
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 1001;
}

.iubenda-banner-content {
  color: #fff;
  display: block;
  font-family: "nyt-franklin", "Helvetica", Arial, sans-serif;
  font-size: 0.825rem;
  left: 0;
  line-height: 1.3;
  padding-right: 2.5rem;
}

.iubenda-banner-content a {
  color: #fff;
  text-decoration: underline;
}

.iubenda-banner-content a:hover {
  text-decoration: none;
}

.iubenda-cs-close-btn {
  color: #fff;
  font-size: 2rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.iubenda-cs-close-btn:hover {
  color: #fff;
  text-decoration: none;
  opacity: 0.8;
}

@media only screen and (min-width: 48em) {
  #iubenda-cs-banner {
    padding: 1.2rem 2rem;
  }

  .iubenda-banner-content {
    font-size: 0.9rem;
    padding-right: 4rem;
  }

  .iubenda-cs-close-btn {
    right: 2rem;
  }
}
