@charset "UTF-8";
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
@import url("https://fonts.googleapis.com/css?family=PT+Serif:400,700");
@import url("https://fonts.googleapis.com/css?family=Muli:400,600,600i,700,700i");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css?v=4.7.0");
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}
a:active,
a:hover {
  outline-width: 0;
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
/* CSS Reset
   ========================================================================== */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
.region-programs .program-list li a,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
DIN Fonts
----------------------------------------------------*/
/*Fonts
===============================================*/
/* DIN Font */
@font-face {
  font-family: "DIN W01 Bold";
  src: url("fonts/din/5426014/a94d5d16-cbe3-439e-b1a5-fbdfb180d789.eot?#iefix");
  src: url("fonts/din/5426014/a94d5d16-cbe3-439e-b1a5-fbdfb180d789.eot?#iefix")
      format("eot"),
    url("fonts/din/5426014/8beea44e-c2c9-4889-9123-13d0e8b8d1bc.woff2")
      format("woff2"),
    url("fonts/din/5426014/871e70ec-2f76-44c5-a2f1-77ee8cd0a5fe.woff")
      format("woff"),
    url("fonts/din/5426014/8fa83ec7-0734-49e5-b5ad-b13a41463328.ttf")
      format("truetype");
}

@font-face {
  font-family: "DIN W01 Medium";
  src: url("fonts/din/5426076/9f48a411-8295-4ad8-b97a-f4cc38cef43d.eot?#iefix");
  src: url("fonts/din/5426076/9f48a411-8295-4ad8-b97a-f4cc38cef43d.eot?#iefix")
      format("eot"),
    url("fonts/din/5426076/79949f65-d692-489f-bd6b-b62647297229.woff2")
      format("woff2"),
    url("fonts/din/5426076/b9597dec-1d68-488e-87e0-d7824cf36028.woff")
      format("woff"),
    url("fonts/din/5426076/964c9b01-5d07-4ef1-8b71-3b173b54fbcc.ttf")
      format("truetype");
}

@font-face {
  font-family: "DIN W01 Regular";
  src: url("fonts/din/5426089/a397c752-ee83-47cf-b8a8-b476511dd2c9.eot?#iefix");
  src: url("fonts/din/5426089/a397c752-ee83-47cf-b8a8-b476511dd2c9.eot?#iefix")
      format("eot"),
    url("fonts/din/5426089/53fb9c60-2054-4c31-9283-5562244b4935.woff2")
      format("woff2"),
    url("fonts/din/5426089/45831ca8-93bd-4808-aa5f-3c915944f727.woff")
      format("woff"),
    url("fonts/din/5426089/429a3e29-88da-4603-94ff-c1450c089c88.ttf")
      format("truetype");
}

/*---------------------------------------------------
PT Serif Font
----------------------------------------------------*/
/*---------------------------------------------------
Muli
----------------------------------------------------*/
/*---------------------------------------------------
Font Awesome
----------------------------------------------------*/
/*---------------------------------------------------
Base Typesetting
----------------------------------------------------*/
body,
html {
  font: 400 16px/1.625em "DIN W01 Regular";
  font-variant-ligatures: common-ligatures;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern";
  /* standard */
  font-kerning: normal;
  /* Safari 7+, Firefox 24+, Chrome 33(?)+, Opera 21+*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
.region-programs .program-list li a,
h4,
h5,
h6,
p {
  font: 400 16px/1.625em "DIN W01 Regular";
  font-weight: inherit;
}

p {
  margin-bottom: 1.618em;
}

a {
  text-decoration: none;
}

/*---------------------------------------------------
Headings & Labels
----------------------------------------------------*/
.label-regular {
  font: 600 1em/1em "DIN W01 Bold";
  text-transform: uppercase;
}
.label-regular.-white {
  color: #fff;
}

/*---------------------------------------------------
Paragraph Typesetting
----------------------------------------------------*/
.default-paragraph-white {
  font: 1em/1.625em "Muli", sans-serif;
  color: #fff;
  display: flex;
  flex: 1;
}

/*---------------------------------------------------
Content Typesetting
----------------------------------------------------*/
.general.-banner h2 {
  font: 1.5em/16px "DIN W01 Bold";
  margin-bottom: 1em;
}

.general.-banner h3,
.general.-banner .region-programs .program-list li a,
.region-programs .program-list li .general.-banner a {
  font: 3em/48px "DIN W01 Bold";
  margin-bottom: 1.5em;
}

.body-content > p {
  font: 1em/26px "PT Serif", serif;
  margin-bottom: 2em;
}

.small-body-copy > p {
  font: 0.875em/22px "PT Serif", serif;
}

.item-1 h2 {
  font: 1em/20px "DIN W01 Bold";
  color: #05b3d7;
  margin-bottom: 1em;
}

.item-1 p {
  font: 0.875em/22px "PT Serif", serif;
  color: #6d6d6d;
}

.item-2 h2 {
  font: 1em/20px "DIN W01 Bold";
  color: #484668;
  margin-bottom: 1em;
}

.item-2 p {
  font: 0.875em/22px "PT Serif", serif;
  color: #6d6d6d;
}

.item-3 > div {
  margin-bottom: 1em;
}

.item-3 p {
  font: 0.875em/22px "PT Serif", serif;
  color: #6d6d6d;
}

/*---------------------------------------------------
Events Typesetting
----------------------------------------------------*/
.event-list .date {
  font: 1em/1.625em "DIN W01 Bold";
  color: #4a4569;
}

.event-list span {
  font: 1em/1.625em "DIN W01 Bold";
  color: #b4b4b4;
}

.event-list .title {
  font: 1.4em/30px "DIN W01 Bold";
  margin-bottom: 16px;
}

.event-list p {
  font: 1em/1.625em "PT Serif", serif;
  color: #666;
}

.event-article .title {
  font: 2.25em/26px "DIN W01 Bold";
  color: #4a4569;
  margin-bottom: 1em;
}

.event-article .date {
  font: 1.25em/16px "DIN W01 Regular";
  margin-bottom: 1em;
}

.event-article p {
  font: 1.25em/32px "PT Serif", serif;
  margin-bottom: 1em;
}

.more-events h2 {
  margin-bottom: 2em;
  font: 1em/16px "DIN W01 Bold";
  color: #b4b4b4;
}

.more-events .date {
  font: 1em/16px "DIN W01 Medium";
  color: #7f7f7f;
}

.more-events span {
  font: 1em/16px "DIN W01 Medium";
  color: #000;
  margin-bottom: 1em;
}

.more-events .title {
  font: 1.125em/28px "DIN W01 Medium";
  color: #00b4da;
}

.more-events p {
  font: 1em/1.625em "DIN W01 Regular";
  color: #666;
}

/*---------------------------------------------------
Head Typesetting
----------------------------------------------------*/
.head {
  font: 1em/16px "DIN W01 Regular";
  margin-bottom: 2.25em;
}

.head + p {
  font: 1em/16px "DIN W01 Regular";
  margin-bottom: 2.25em;
}

.footnote {
  font: 0.875em/1.2em "PT Serif", serif;
}

/* -------- Componenets --------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
/* -------- #Template/Page Components -------- */
html,
body {
  background-color: #fff;
}

/* temporary style */
/* Hide Elements */
.hide {
  display: none;
}

.flex-box-container {
  display: flex;
}

* {
  box-sizing: border-box;
}

/* Elements & Components */
.block .contextual {
  display: none;
}

.messages--status {
  overflow: hidden;
  clear: both;
}

.view-programs-description .view-content .views-row {
  display: none;
}
.view-programs-description .view-content .views-row.active {
  display: block;
}
.view-programs-description .view-content .views-row li {
  display: inline;
}

@media all and (max-width: 1175px) {
  .view-programs-description .view-content .views-row {
    padding-right: 32px;
  }
}

.program {
  display: none;
}
.program.active {
  display: block;
}

.layout-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.wrapper {
  margin: 0 auto;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 1440px;
  position: relative;
  padding: 0 30px;
}

ul.menu {
  margin: 0;
}

.main {
  margin-bottom: 30px;
  background-color: #fff;
}

.item-list li {
  margin: 0 0 0.25em 0;
}

/* temporary css for structuring */
.bordered,
.region-news-events {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/*---------------------------------------------------
    Media Query for Structure of Basic Pages
    - Content container
        1. Child Elements
    - Sidebar Navigation
    - Sidebar Complementary
----------------------------------------------------*/
@media all and (max-width: 640px) {
  .layout-container .contents > p:first-of-type {
    font-size: 1.218em;
  }
  .layout-container .contents p {
    font: 1em/1.625em "PT Serif", serif;
  }
}

/*---------------------------------------------------
    Element Query for Structure of Basic Pages
    - Content container
        1. Child Elements
    - Sidebar Navigation
    - Sidebar Complementary
----------------------------------------------------*/
.layout-container:before {
  display: none;
  content: "mobile: 0, tablet: 768, desktop: 1025";
}

.layout-container[data-eq-state$="mobile"] .content-container {
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}

.layout-container[data-eq-state$="mobile"] .sticky .sidebar.fixed,
.layout-container[data-eq-state$="mobile"] .sticky .sidebar.attached {
  position: relative !important;
  top: initial;
  bottom: initial;
}

.layout-container[data-eq-state$="mobile"] .sticky .sticky-wrapper:first-child {
  display: none;
}

.layout-container[data-eq-state$="mobile"] .sticky .sticky-wrapper:last-child {
  position: relative;
  max-width: initial;
}

.layout-container[data-eq-state$="mobile"]
  .sticky
  .sticky-wrapper:last-child
  .sidebar {
  width: initial;
  min-width: initial;
  max-width: initial;
}

.layout-container[data-eq-state$="mobile"] .sticky .sidebar:first-child {
  display: block;
  padding-left: 0;
}

.layout-container[data-eq-state$="mobile"] .contents {
  margin-left: 0;
  width: initial;
  padding-right: 0;
}

.layout-container[data-eq-state$="mobile"] .sidebar[role="complementary"] {
  margin-left: 0;
  padding: 0;
  width: initial;
  min-width: initial;
  max-width: initial;
}

.layout-container[data-eq-state$="tablet"] .sticky .sticky-wrapper:first-child {
  display: none;
}

.layout-container[data-eq-state$="tablet"] .sticky .sidebar:first-child {
  display: block;
}

.layout-container[data-eq-state$="tablet"] .contents {
  margin-left: 0;
}

.layout-container[data-eq-state$="desktop"] .sticky-wrapper:first-child,
.layout-container[data-eq-state$="desktop"] .sidebar:first-child {
  display: block;
}

.layout-container[data-eq-state$="desktop"] .sticky .sidebar:first-child {
  display: block;
}

.contents:before {
  display: none;
  content: "mobile: 0, desktop: 700";
}

.contents[data-eq-state$="mobile"] .chart .chart-desktop {
  display: none;
}

.contents[data-eq-state$="mobile"] .chart .chart-mobile {
  display: block;
}

.contents[data-eq-state$="desktop"] .chart .chart-desktop {
  display: block;
}

.contents[data-eq-state$="desktop"] .chart .chart-mobile {
  display: none;
}

html:before {
  display: none;
  content: ".layout-container, .contents";
}

/* -------- End Template/Page Components -------- */
.main.two-columns .content {
  float: left;
  width: 75%;
}

.main.two-columns .sidebar {
  float: right;
  width: 30%;
}

/* -------- #Columns Component -------- */
.columns {
  display: flex;
  flex-wrap: wrap;
}
.columns > div {
  flex: 1;
}
.columns.-space-between {
  justify-content: space-between;
}
.columns.-items-center {
  align-items: center;
}
.columns.-align-items-end {
  align-items: flex-end;
}
.columns.-content-start {
  align-content: flex-start;
}
.columns.-content-center {
  align-content: center;
}
.columns.-content-end {
  align-content: flex-end;
}
.columns.-full-width {
  flex: 1 100%;
}
.columns.-justify-center {
  justify-content: center;
}
.columns.-spacing-right > div {
  padding-right: 20px;
}
.columns.flex-direction-columns {
  flex-direction: columns;
}
.columns.-split > div {
  flex: 1 50%;
  position: relative;
}
.columns.-tierce > div {
  flex: 1 33%;
  position: relative;
}

.grid {
  display: grid;
}
.grid.two-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* grid-template-rows: repeat(2, 150px); */
  grid-gap: 25px;
}

/* -------- #End Columns Component -------- */
/* -------- #Hero Component -------- */
.hero.-banner {
  height: 100vh;
}

.hero.-news,
.hero.-events {
  padding: 190px 30px 30px;
  background-color: #f7f7f7;
  margin-bottom: 80px;
}
.hero.-news > div .title,
.hero.-events > div .title {
  font: 2em/1.4em "DIN W01 Bold";
  margin-bottom: 10px;
  color: #4a4569;
}
.hero.-news > div .date,
.hero.-events > div .date {
  font: 0.85em/1.2em "PT Serif", serif;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 1.625em;
}
.hero.-news > div p,
.hero.-events > div p {
  font: 1.5em/1.3em "PT Serif", serif;
  color: #585858;
  margin-bottom: 0;
}
.hero.-news > div span,
.hero.-events > div span {
  font: 1.3em/1.4em "DIN W01 Bold";
  text-transform: uppercase;
  color: #b2b0be;
}

/* -------- End Hero Component -------- */
/* -- #Application Block -- */
.application-block.-top {
  display: flex;
  flex-wrap: wrap;
  background-color: #d8d8d8;
  justify-content: space-between;
  padding: 0;
  align-items: baseline;
}
.application-block.-top small {
  font-family: "DIN W01 Bold";
  display: inline-block;
  padding-left: 30px;
  color: #66627e;
}
.application-block.-top a {
  font-family: "DIN W01 Regular";
  display: inline-block;
  padding: 20px;
  text-decoration: none;
  background-color: #808080;
  color: #fff;
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
}

.application-block.-bottom {
  background-color: #344052;
  padding: 30px;
  align-items: center;
}
.application-block.-bottom h2 {
  font-family: "DIN W01 Bold";
  color: #fff;
  margin: 0;
  text-transform: uppercase;
}
.application-block.-bottom a {
  font-family: "DIN W01 Medium";
  text-transform: uppercase;
  display: inline-block;
  border: 2px solid #fff;
  padding: 10px 40px;
  color: #fff;
}

/* -- #Region Programs -- */
.region-programs {
  background-color: #fff;
  align-items: center;
  margin-bottom: 0;
  background-size: 65%;
  padding-bottom: 50px;
  position: relative;
  /* -- #Program Tabs & Content -- */
  /* -- #End Program Tabs & Content -- */
}
.region-programs .wrapper {
  min-height: 100%;
}
.region-programs h2 {
  margin: 1.618em 0 16px;
  font: 3.2em/0.95em "DIN W01 Bold";
  text-transform: uppercase;
  color: #02153d;
  padding-left: 32px;
}
.region-programs .program-tabs {
  padding: 32px;
}
.region-programs .program-tabs li {
  display: inline-block;
  margin-right: 20px;
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
  color: #211f38;
  padding-bottom: 10px;
  cursor: pointer;
  opacity: 0.4;
  /* -------- Active State -------- */
  /* -------- Hover State -------- */
}
.region-programs .program-tabs li.active,
.region-programs .program-tabs li a.is-active,
.region-programs .program-tabs li.menu-item--active-trail a {
  color: #390557;
  opacity: 1;
}
.region-programs .program-tabs li:hover {
  color: #000;
}
.region-programs .program-list {
  position: relative;
  z-index: 1;
}
.region-programs .program-list li {
  text-transform: uppercase;
  cursor: pointer;
  padding: 16px 40px 0;
  position: relative;
  transition: all 0.4s cubic-bezier(0.87, 0.01, 0.29, 0.95);
  transform-origin: 0 50%;
  /* -------- Active/Hover State -------- */
}
.region-programs .program-list li:first-of-type {
  margin-top: 32px;
}
.region-programs .program-list li.active:before {
  content: "";
  position: absolute;
  width: 6px;
  height: 100%;
  top: 0;
  left: 0px;
  background-color: #390557;
}
.region-programs .program-list li h3,
.region-programs .program-list li a {
  color: #000;
  font: 1em/1.225em "DIN W01 Bold";
  opacity: 0.3;
}
.region-programs .program-list li.active {
  font-size: 1.218em;
  padding-bottom: 16px;
}
.region-programs .program-list li.active h3,
.region-programs .program-list li.active a,
.region-programs .program-list li:hover h3,
.region-programs .program-list li:hover a,
.region-programs .program-list li.active a,
.region-programs .program-list li:hover a {
  color: #4a4569;
  opacity: 1;
}
.region-programs .program-list li:last-child {
  border: 0;
}
.region-programs .programs-menu {
  flex: 0 1 560px;
  position: relative;
  align-self: stretch;
  margin-right: auto;
  min-height: 768px;
}
.region-programs .main-content {
  position: absolute;
  right: 0;
  top: 0;
  width: 55%;
  height: 100%;
  padding: 260px 0 120px 150px;
  background: url("../images/program-content-bg-alt.jpg") no-repeat;
  background-size: cover;
}
.region-programs .main-content .view-programs-description {
  max-width: 640px;
}
.region-programs .main-content .school-name.-drop-of {
  margin-bottom: 10px;
  font: 1.618em/1.2em "DIN W01 Bold";
  color: #fff;
  text-transform: uppercase;
  opacity: 0.6;
}
.region-programs .main-content .school-name.-drop-of a {
  color: #fff;
}
.region-programs .main-content .program-name {
  margin-bottom: 40px;
  font: 3.25em/1em "DIN W01 Bold";
  margin-top: 0;
  text-transform: uppercase;
  padding: 0;
}
.region-programs .main-content .program-name a {
  color: #fff;
}
.region-programs .main-content p {
  font: 1.168em/1.615em "PT Serif", serif;
  margin-bottom: 48px;
  color: #211f38;
  opacity: 0.9;
}
.region-programs .main-content .goto {
  display: inline-block;
  margin-right: 125px;
  font-family: "DIN W01 Bold";
}
.region-programs .main-content .goto a {
  font-size: 1.2em;
  color: #7fcfea;
}
@media all and (max-width: 1024px) {
  .region-programs .main-content {
    background-position: 40px center;
  }
}
.region-programs .main-content h4 {
  color: #fff;
}
.region-programs .main-content .program-name {
  color: #fff;
}
.region-programs .main-content p {
  color: rgba(255, 255, 255, 0.7);
}
.region-programs .main-content .arrow {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 50%;
  cursor: pointer;
  opacity: 0.3;
  display: none;
}
.region-programs .main-content .arrow.left {
  background: url("../images/arrow-left.png") no-repeat;
  left: 16px;
}
.region-programs .main-content .arrow.right {
  background: url("../images/arrow-right.png") no-repeat;
  right: 16px;
}
.region-programs .main-content .arrow.active {
  opacity: 1;
}
@media all and (max-width: 1175px) {
  .region-programs h2 {
    font: 2.2em/0.95em "DIN W01 Bold";
  }
  .region-programs .main-content .program-name {
    font: 2.25em/1em "DIN W01 Bold";
  }
  .region-programs .main-content h4 {
    font: 1.118em/1.2em "DIN W01 Bold";
  }
  .region-programs .main-content p {
    font: 1em/1.615em "PT Serif", serif;
  }
  .region-programs .program-list li h3,
  .region-programs .program-list li a,
  .region-programs .program-list li a {
    font: 0.875em/1.225em "DIN W01 Bold";
  }
  .region-programs .program-list li.active {
    font-size: 1.1em;
  }
}
@media all and (max-width: 960px) {
  .region-programs h2 {
    padding-left: 16px;
  }
  .region-programs .program-list li {
    padding: 16px 20px 0;
  }
  .region-programs .program-tabs {
    padding-left: 16px;
  }
}
@media all and (max-width: 900px) {
  .region-programs .wrapper {
    min-height: initial;
  }
  .region-programs h2 {
    margin-top: 0;
  }
  .region-programs .main-content {
    position: relative;
    width: 100%;
    background-position: left -110px top;
    background-size: 120%;
    padding: 160px 120px 120px;
  }
  .region-programs .main-content .arrow {
    display: block;
  }
  .region-programs .programs-menu {
    min-height: initial;
    flex: 1;
  }
  .region-programs .programs-menu .non-degree-program,
  .region-programs .programs-menu .degree-program {
    display: none !important;
  }
  .region-programs .program-tabs {
    padding: 24px 16px;
  }
  .region-programs .program-tabs li {
    padding-bottom: 0;
  }
}
@media all and (max-width: 768px) {
  .region-programs {
    padding-bottom: 30px;
  }
}
@media all and (max-width: 680px) {
  .region-programs .main-content {
    padding: 140px 40px 140px 60px;
  }
  .region-programs .main-content .program-name {
    font: 1.475em/1em "DIN W01 Bold";
    margin-bottom: 20px;
  }
  .region-programs .main-content h4 {
    font: 0.8em/1.2em "DIN W01 Bold";
  }
  .region-programs .main-content .arrow.left {
    left: 0;
  }
  .region-programs .main-content .arrow.right {
    right: 0;
  }
  .region-programs .main-content li a {
    font-size: 1em;
  }
  .region-programs .main-content p {
    margin-bottom: 28px;
  }
}
@media all and (max-width: 550px) {
  .region-programs .main-content {
    padding: 80px 40px 80px 60px;
    width: 100%;
    background-size: 150%;
  }
}
@media all and (max-width: 480px) {
  .region-programs .main-content {
    background-size: 180%;
    background-position: left -160px top;
    padding: 60px 40px 50px 60px;
  }
  .region-programs .main-content .program-name {
    font: 1.275em/1em "DIN W01 Bold";
    line-height: 1.2em;
  }
  .region-programs .program-tabs {
    padding: 24px 0;
  }
}
@media all and (max-width: 400px) {
  .region-programs .main-content {
    background-size: 270%;
    background-position: left -280px top;
  }
  .region-programs .view-programs-description .view-content .views-row li,
  .region-programs .view-programs-description .view-content .views-row li a {
    display: block;
    margin-right: 0;
  }
}

/* -- End Region Programs -- */
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
/*---------------------------------------------------
    Basic Type styling
----------------------------------------------------*/
.content-container .sidebar[role="complementary"] strong {
  text-transform: uppercase;
  font: 12px/1em "DIN W01 Bold";
  display: inline-block;
  padding: 8px;
  background: #4a4569;
  color: #fff;
  align-self: baseline;
  margin-bottom: 16px;
  border-radius: 5px;
}

.page-head,
.content-container,
.quote .wrapper,
.image-banner {
  margin: 0 auto 32px;
}

.page-head,
.content-container,
.quote .wrapper {
  max-width: 1280px;
}

.image-banner {
  max-width: 1440px;
}

.contents h4:after,
.contents h3:after,
.contents .region-programs .program-list li a:after,
.region-programs .program-list li .contents a:after,
.contents h4.attached + span:after,
.contents h3.attached + span:after,
.contents .region-programs .program-list li a.attached + span:after,
.region-programs .program-list li .contents a.attached + span:after {
  display: block;
  width: 32px;
  height: 2px;
  background: #4a4569;
  margin: 1.618em 0 0;
}

.image-banner-revise {
  max-width: 100%;
  width: 100%;
}

.stuck {
  position: fixed;
  top: 0;
}

/*---------------------------------------------------
    Page Head
----------------------------------------------------*/
.page-head {
  padding: 32px 32px 0;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.page-head .kicker {
  font: 1.618em/1em "DIN W01 Bold";
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
}
.page-head .page-title {
  margin: 0;
  padding-bottom: 24px;
  font: 3.25em/1.05em "DIN W01 Bold";
  text-transform: uppercase;
  color: #484569;
  border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
}
@media all and (max-width: 640px) {
  .page-head .kicker {
    font: 1.218em/1.4em "DIN W01 Bold";
    display: block;
  }
  .page-head .page-title {
    font: 2em/1.05em "DIN W01 Bold";
  }
}
@media all and (max-width: 580px) {
  .page-head .kicker {
    font: 1em/1em "DIN W01 Bold";
    margin-bottom: 10px;
    line-height: 1.3em;
  }
  .page-head .page-title {
    font: 1.6em/1.05em "DIN W01 Bold";
  }
}

/*---------------------------------------------------
    Image Banner
----------------------------------------------------*/
.image-banner {
  margin: 0 auto 32px;
  border-bottom: 4px #4a4569 solid;
  padding: 0;
}
.image-banner img {
  width: 100%;
  display: block;
}

.image-banner-revise {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 auto 32px;
  padding: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: relative;
}
.image-banner-revise:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 65%,
    rgba(0, 0, 0, 0.3) 100%
  );
  opacity: 1;
}
@media all and (max-width: 1366px) {
  .image-banner-revise.right {
    background-position: right;
  }
  .image-banner-revise.right-anchor {
    background-position: right;
  }
  .image-banner-revise.left {
    background-position: left;
  }
  .image-banner-revise.left-anchor {
    background-position: left;
  }
}
@media all and (max-width: 768px) {
  .image-banner-revise.right {
    background-position: 75%;
  }
  .image-banner-revise.left {
    background-position: 18%;
  }
}
.image-banner-revise .apply-now {
  position: absolute;
  top: 30px;
  right: 30px;
  font: 1.1em/1.625em "DIN W01 Bold";
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  padding: 10px 30px;
  border: 2px solid #fff;
  border-radius: 5px;
  z-index: 10;
  -webkit-transition: background-color 0.2s ease-in;
  -moz-transition: background-color 0.2s ease-in;
  transition: background-color 0.2s ease-in;
}
.image-banner-revise .apply-now:hover {
  background-color: #fff;
  color: #00a5d1;
}
@media all and (max-width: 640px) {
  .image-banner-revise .apply-now {
    font-size: 0.875em;
    padding: 10px 20px;
  }
}
.image-banner-revise img {
  width: 100%;
  display: block;
}
.image-banner-revise .page-head {
  width: 100%;
  max-width: 1440px;
  position: relative;
  z-index: 10;
}
@media all and (max-width: 768px) {
  .image-banner-revise .page-head {
    box-sizing: border-box;
    padding-bottom: 22px;
  }
}
.image-banner-revise .page-head .kicker {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.25em;
  line-height: 1.325em;
  margin-bottom: 12px;
  display: block;
}
@media all and (max-width: 900px) {
  .image-banner-revise .page-head .kicker {
    font-size: 1em;
  }
}
@media all and (max-width: 640px) {
  .image-banner-revise .page-head .kicker {
    max-width: 300px;
    font-size: 0.8em;
  }
}
.image-banner-revise .page-head .page-title {
  color: #fff;
  border: 0;
}
@media all and (max-width: 900px) {
  .image-banner-revise .page-head .page-title {
    font-size: 2.25em;
  }
}
@media all and (max-width: 640px) {
  .image-banner-revise .page-head .page-title {
    font-size: 1.4em;
    line-height: 1.3em;
  }
}
@media all and (max-width: 480px) {
  .image-banner-revise .page-head .page-title {
    max-width: 300px;
  }
}
.image-banner-revise .page-head .preamble {
  display: block;
  color: #fff;
  font-style: italic;
  font-family: "PT Serif", serif;
  position: relative;
  top: -20px;
  display: block;
}
@media all and (max-width: 640px) {
  .image-banner-revise .page-head .preamble {
    font-size: 0.8em;
    line-height: 1.2em;
  }
}

.page-head + .image-banner {
  margin-top: -33px;
}

/*---------------------------------------------------
    Content Container
----------------------------------------------------*/
.content-container {
  display: flex;
  padding: 0 30px;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

/*---------------------------------------------------
    Content Container
----------------------------------------------------*/
.tab-selection {
  display: flex;
  width: 100%;
  margin-bottom: 32px;
}
.tab-selection li.-active,
.tab-selection li:hover {
  color: #4a4569;
  border-bottom: 4px #4a4569 solid;
}
.tab-selection li {
  text-transform: uppercase;
  width: 100%;
  font: 1.2em/1.2em "DIN W01 Bold";
  padding: 24px 0;
  border-bottom: 4px rgba(0, 0, 0, 0.05) solid;
  color: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}
@media all and (max-width: 640px) {
  .tab-selection li {
    font: 1em/1.2em "DIN W01 Bold";
  }
}
@media all and (max-width: 480px) {
  .tab-selection {
    display: block;
  }
  .tab-selection li {
    font: 0.875em/1.2em "DIN W01 Bold";
    display: block;
  }
}

/*---------------------------------------------------
    Video Banner
----------------------------------------------------*/
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

.contents {
  background: #fff;
  margin-left: 220px;
  width: 720px;
  padding-right: 32px;
  /*---------------------------------------------------
        H2
    ----------------------------------------------------*/
  /*---------------------------------------------------
        H3
    ----------------------------------------------------*/
  /*---------------------------------------------------
        UL
    ----------------------------------------------------*/
  /*---------------------------------------------------
        OL
    ----------------------------------------------------*/
}
.contents sup {
  font-size: 0.7em;
}
.contents > p:first-of-type {
  font-size: 1.618em;
}
.contents h2 {
  text-transform: uppercase;
  font: 1.618em/1.4em "DIN W01 Bold";
  font-weight: bold;
  margin: 2.618em 0 1.2em;
  color: #4a4569;
}
.contents h2 + h3,
.contents .region-programs .program-list li h2 + a,
.region-programs .program-list li .contents h2 + a {
  font: 1em/1em "DIN W01 Bold";
  letter-spacing: 0;
  margin: -16px 0 32px;
  color: #979797;
}
.contents h2 + h3:after,
.contents .region-programs .program-list li h2 + a:after,
.region-programs .program-list li .contents h2 + a:after {
  background: #979797;
  opacity: 0.4;
}
@media all and (max-width: 640px) {
  .contents h2 {
    font: 1.418em/1.4em "DIN W01 Bold";
    margin-bottom: 1emh3;
    margin-bottom-font: 0.875em/1em "DIN W01 Bold";
  }
}
.contents h4,
.contents h3,
.contents .region-programs .program-list li a,
.region-programs .program-list li .contents a {
  font: 0.85em/1.625em "PT Serif", serif;
  margin: 2.618em 0 1.618em;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 3px;
  color: #4a4569;
}
.contents h4:after,
.contents h3:after,
.contents .region-programs .program-list li a:after,
.region-programs .program-list li .contents a:after {
  content: "";
}
.contents h4.attached,
.contents h3.attached,
.contents .region-programs .program-list li a.attached,
.region-programs .program-list li .contents a.attached {
  margin-bottom: 4px;
}
.contents h4.attached:after,
.contents h3.attached:after,
.contents .region-programs .program-list li a.attached:after,
.region-programs .program-list li .contents a.attached:after {
  display: none;
}
.contents h4.attached + span,
.contents h3.attached + span,
.contents .region-programs .program-list li a.attached + span,
.region-programs .program-list li .contents a.attached + span {
  display: block;
  margin: 0 0 32px;
  font-size: 0.85em;
  color: #979797;
  font-family: Arial, sans-serif;
}
.contents h4.attached + span:after,
.contents h3.attached + span:after,
.contents .region-programs .program-list li a.attached + span:after,
.region-programs .program-list li .contents a.attached + span:after {
  content: "";
  background: rgba(151, 151, 151, 0.15);
}
.contents p {
  font: 1.4em/1.625em "PT Serif", serif;
  max-width: 720px;
  color: #484848;
}
.contents p a {
  color: #00a5d1;
}
.contents ul {
  padding: 15px 0;
}
.contents ul li {
  font: 1.2em/1.625em "PT Serif", serif;
  padding: 10px 0;
  color: #484848;
}
@media all and (max-width: 640px) {
  .contents ul li {
    font-size: 1em;
  }
}
.contents ul.arrows {
  padding-top: 0;
}
.contents ul.arrows li {
  position: relative;
  padding: 0 0 10px 25px;
  color: #484848;
}
.contents ul.arrows li:before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-top: 4px #4a4569 solid;
  border-right: 4px #4a4569 solid;
  transform: rotate(45deg);
  position: absolute;
  left: 10px;
  top: 0;
  margin-top: 10px;
  margin-left: -10px;
  background: #fff;
}
.contents ul.arrows li:first-child {
  padding-top: 0;
}
.contents ul.arrows li ul {
  padding-bottom: 0;
}
.contents ul.arrows li ul li {
  font-size: 1em;
  list-style: circle;
  padding-left: 0;
  margin-left: 27px;
}
.contents ul.arrows li ul li:last-child {
  padding-bottom: 0;
}
.contents ul.arrows li ul li:before {
  display: none;
}
.contents ul.arrows + h2 {
  margin-top: 1.4em;
}
.contents ol {
  padding: 0 0 15px;
}
.contents ol > li {
  font: 1.2em/1.625em "PT Serif", serif;
  padding: 10px 0;
  color: #484848;
}
.contents ol > li > ol > li {
  font-size: 1em;
}
.contents ol > li > ol > li > ol > li {
  font-size: 0.9em;
}
.contents ol > li > ul {
  margin-top: 10px;
}
.contents ol > li > ul > li {
  font-size: 1em;
}
@media all and (max-width: 640px) {
  .contents ol > li {
    font-size: 1em;
  }
}
.contents ol.list-style {
  counter-reset: li;
  padding-bottom: 50px;
}
.contents ol.list-style > li {
  padding-left: 50px;
  position: relative;
}
.contents ol.list-style > li ol {
  padding-bottom: 0;
}
.contents ol.list-style > li:before {
  font: 0.9em/1.625em "PT Serif", serif;
  counter-increment: li;
  display: inline-block;
  text-align: center;
  position: absolute;
  top: 17px;
  left: 5px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  background-color: #4a4569;
  border-radius: 50px;
  color: #fff;
}
.contents ol.list-style.numbered > li:before {
  content: counter(li);
}
.contents ol.list-style.latin > li:before {
  content: counter(li, lower-latin);
}
.contents ol.list-style.roman > li:before {
  content: counter(li, lower-roman);
}

/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
/*---------------------------------------------------
    Basic Type styling
----------------------------------------------------*/
.content-container .sidebar[role="complementary"] strong {
  text-transform: uppercase;
  font: 12px/1em "DIN W01 Bold";
  display: inline-block;
  padding: 8px;
  background: #4a4569;
  color: #fff;
  align-self: baseline;
  margin-bottom: 16px;
  border-radius: 5px;
}

.page-head,
.content-container,
.quote .wrapper,
.image-banner {
  margin: 0 auto 32px;
}

.page-head,
.content-container,
.quote .wrapper {
  max-width: 1280px;
}

.image-banner {
  max-width: 1440px;
}

.contents h4:after,
.contents h3:after,
.contents .region-programs .program-list li a:after,
.region-programs .program-list li .contents a:after,
.contents h4.attached + span:after,
.contents h3.attached + span:after,
.contents .region-programs .program-list li a.attached + span:after,
.region-programs .program-list li .contents a.attached + span:after {
  display: block;
  width: 32px;
  height: 2px;
  background: #4a4569;
  margin: 1.618em 0 0;
}

.image-banner-revise {
  max-width: 100%;
  width: 100%;
}

.stuck {
  position: fixed;
  top: 0;
}

/*---------------------------------------------------
    Page Head
----------------------------------------------------*/
.page-head {
  padding: 32px 32px 0;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.page-head .kicker {
  font: 1.618em/1em "DIN W01 Bold";
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
}
.page-head .page-title {
  margin: 0;
  padding-bottom: 24px;
  font: 3.25em/1.05em "DIN W01 Bold";
  text-transform: uppercase;
  color: #484569;
  border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
}
@media all and (max-width: 640px) {
  .page-head .kicker {
    font: 1.218em/1.4em "DIN W01 Bold";
    display: block;
  }
  .page-head .page-title {
    font: 2em/1.05em "DIN W01 Bold";
  }
}
@media all and (max-width: 580px) {
  .page-head .kicker {
    font: 1em/1em "DIN W01 Bold";
    margin-bottom: 10px;
    line-height: 1.3em;
  }
  .page-head .page-title {
    font: 1.6em/1.05em "DIN W01 Bold";
  }
}

/*---------------------------------------------------
    Image Banner
----------------------------------------------------*/
.image-banner {
  margin: 0 auto 32px;
  border-bottom: 4px #4a4569 solid;
  padding: 0;
}
.image-banner img {
  width: 100%;
  display: block;
}

.image-banner-revise {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0 auto 32px;
  padding: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: relative;
}
.image-banner-revise:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 65%,
    rgba(0, 0, 0, 0.3) 100%
  );
  opacity: 1;
}
@media all and (max-width: 1366px) {
  .image-banner-revise.right {
    background-position: right;
  }
  .image-banner-revise.right-anchor {
    background-position: right;
  }
  .image-banner-revise.left {
    background-position: left;
  }
  .image-banner-revise.left-anchor {
    background-position: left;
  }
}
@media all and (max-width: 768px) {
  .image-banner-revise.right {
    background-position: 75%;
  }
  .image-banner-revise.left {
    background-position: 18%;
  }
}
.image-banner-revise .apply-now {
  position: absolute;
  top: 30px;
  right: 30px;
  font: 1.1em/1.625em "DIN W01 Bold";
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  padding: 10px 30px;
  border: 2px solid #fff;
  border-radius: 5px;
  z-index: 10;
  -webkit-transition: background-color 0.2s ease-in;
  -moz-transition: background-color 0.2s ease-in;
  transition: background-color 0.2s ease-in;
}
.image-banner-revise .apply-now:hover {
  background-color: #fff;
  color: #00a5d1;
}
@media all and (max-width: 640px) {
  .image-banner-revise .apply-now {
    font-size: 0.875em;
    padding: 10px 20px;
  }
}
.image-banner-revise img {
  width: 100%;
  display: block;
}
.image-banner-revise .page-head {
  width: 100%;
  max-width: 1440px;
  position: relative;
  z-index: 10;
}
@media all and (max-width: 768px) {
  .image-banner-revise .page-head {
    box-sizing: border-box;
    padding-bottom: 22px;
  }
}
.image-banner-revise .page-head .kicker {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.25em;
  line-height: 1.325em;
  margin-bottom: 12px;
  display: block;
}
@media all and (max-width: 900px) {
  .image-banner-revise .page-head .kicker {
    font-size: 1em;
  }
}
@media all and (max-width: 640px) {
  .image-banner-revise .page-head .kicker {
    max-width: 300px;
    font-size: 0.8em;
  }
}
.image-banner-revise .page-head .page-title {
  color: #fff;
  border: 0;
}
@media all and (max-width: 900px) {
  .image-banner-revise .page-head .page-title {
    font-size: 2.25em;
  }
}
@media all and (max-width: 640px) {
  .image-banner-revise .page-head .page-title {
    font-size: 1.4em;
    line-height: 1.3em;
  }
}
@media all and (max-width: 480px) {
  .image-banner-revise .page-head .page-title {
    max-width: 300px;
  }
}
.image-banner-revise .page-head .preamble {
  display: block;
  color: #fff;
  font-style: italic;
  font-family: "PT Serif", serif;
  position: relative;
  top: -20px;
  display: block;
}
@media all and (max-width: 640px) {
  .image-banner-revise .page-head .preamble {
    font-size: 0.8em;
    line-height: 1.2em;
  }
}

.page-head + .image-banner {
  margin-top: -33px;
}

/*---------------------------------------------------
    Content Container
----------------------------------------------------*/
.content-container {
  display: flex;
  padding: 0 30px;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

/*---------------------------------------------------
    Content Container
----------------------------------------------------*/
.tab-selection {
  display: flex;
  width: 100%;
  margin-bottom: 32px;
}
.tab-selection li.-active,
.tab-selection li:hover {
  color: #4a4569;
  border-bottom: 4px #4a4569 solid;
}
.tab-selection li {
  text-transform: uppercase;
  width: 100%;
  font: 1.2em/1.2em "DIN W01 Bold";
  padding: 24px 0;
  border-bottom: 4px rgba(0, 0, 0, 0.05) solid;
  color: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}
@media all and (max-width: 640px) {
  .tab-selection li {
    font: 1em/1.2em "DIN W01 Bold";
  }
}
@media all and (max-width: 480px) {
  .tab-selection {
    display: block;
  }
  .tab-selection li {
    font: 0.875em/1.2em "DIN W01 Bold";
    display: block;
  }
}

/*---------------------------------------------------
    Video Banner
----------------------------------------------------*/
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

/* ADD THIS LINE WHEN STICKY WRAPPER IS ENABLED */
.sticky {
  position: relative;
}
.sticky .sticky-wrapper {
  position: static;
}
.sticky .sticky-wrapper .sidebar.fixed {
  position: fixed !important;
  top: 110px;
  max-width: 260px;
  height: 100%;
  padding-bottom: 32px;
  overflow: auto;
  z-index: 2;
}
.sticky .sticky-wrapper .sidebar.fixed > .apply-now.btn {
  display: block;
}
@media all and (max-width: 1320px) {
  .sticky .sticky-wrapper .sidebar.fixed {
    padding-top: 40px;
  }
}
.sticky .sticky-wrapper .sidebar.attached {
  position: absolute;
  bottom: 32px;
}
.sticky .sticky-wrapper.fixed-wrapper:last-child,
.sticky .sticky-wrapper.attached-wrapper:last-child {
  max-width: 260px;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}
.sticky .sticky-wrapper.fixed-wrapper:last-child .sidebar {
  width: initial;
}
.sticky .sticky-wrapper.fixed-wrapper:first-child .sidebar {
  width: 220px;
}

/* -- #Sidebar -- */
.content-container .sidebar {
  padding: 0;
}
.content-container .sidebar > .apply-now.btn {
  display: none;
}
.content-container .sidebar.stuck {
  position: fixed !important;
  top: 16px;
}
.content-container .sidebar[role="navigation"] h2,
.content-container .sidebar[role="navigation"] h3,
.content-container
  .sidebar[role="navigation"]
  .region-programs
  .program-list
  li
  a,
.region-programs
  .program-list
  li
  .content-container
  .sidebar[role="navigation"]
  a,
.content-container .sidebar[role="complementary"] h2 {
  border-bottom: 4px rgba(0, 0, 0, 0.05) solid;
  font-weight: 800;
  font-size: 1.1em;
  margin: 0 0 10px;
  padding: 8px 0;
}
.content-container .sidebar[role="navigation"] {
  position: absolute;
  width: 220px;
  padding-right: 32px;
  background: transparent;
}
.content-container .sidebar[role="navigation"] > h2,
.content-container .sidebar[role="navigation"] li,
.content-container .sidebar[role="navigation"] a {
  font-family: Arial, sans-serif;
  font-weight: bold;
}
.content-container .sidebar[role="navigation"] h2,
.content-container .sidebar[role="navigation"] h3,
.content-container
  .sidebar[role="navigation"]
  .region-programs
  .program-list
  li
  a,
.region-programs
  .program-list
  li
  .content-container
  .sidebar[role="navigation"]
  a {
  font-size: 0.825em;
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 8px;
  color: rgba(0, 0, 0, 0.7);
}
.content-container .sidebar[role="navigation"] h2 + .inner,
.content-container .sidebar[role="navigation"] h3 + .inner,
.content-container
  .sidebar[role="navigation"]
  .region-programs
  .program-list
  li
  a
  + .inner,
.region-programs
  .program-list
  li
  .content-container
  .sidebar[role="navigation"]
  a
  + .inner {
  margin-top: 0;
}
.content-container .sidebar[role="navigation"] ul {
  margin-bottom: 10px;
}
.content-container .sidebar[role="navigation"] ul + .inner {
  margin-top: 32px;
}
.content-container .sidebar[role="navigation"] li {
  padding: 8px 0 10px;
  border-bottom: 1px rgba(0, 0, 0, 0.05) solid;
  font-size: 0.9em;
  line-height: 1.4em;
}
.content-container .sidebar[role="navigation"] li:last-of-type {
  border-bottom: none;
}
.content-container .sidebar[role="navigation"] li a {
  color: #00a5d1;
  opacity: 0.7;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
.content-container .sidebar[role="navigation"] li a:hover {
  opacity: 1;
}
.content-container .sidebar[role="navigation"] a {
  line-height: 1em;
  color: #4a4569;
}
.content-container .sidebar[role="navigation"] a span {
  display: block;
  font-size: 0.85em;
  color: #979797;
}
.content-container .sidebar[role="navigation"] .inner {
  margin-top: 0;
}
.content-container .sidebar[role="navigation"] .inner li {
  padding: 8px 0;
}
.content-container .sidebar[role="navigation"] .context {
  margin-top: 32px;
}
.content-container .sidebar[role="navigation"] .context img {
  max-width: 100%;
}
.content-container .sidebar[role="complementary"] {
  width: 260px;
  margin-left: auto;
  padding-left: 32px;
  font-family: "Helvetica", Arial, sans-serif;
  display: flex;
  flex-direction: column;
}
.content-container .sidebar[role="complementary"] h2,
.content-container .sidebar[role="complementary"] p {
  font-family: "Helvetica", Arial, sans-serif;
}
.content-container .sidebar[role="complementary"] h2 + p {
  line-height: 1.4em;
  color: #979797;
  font-size: 14px;
}
.content-container .sidebar[role="complementary"] strong {
  margin-bottom: 8px;
}
.content-container .sidebar[role="complementary"] strong + * {
  font-size: 1.1em;
  font-weight: 800;
  margin-bottom: 32px;
  display: block;
}
.content-container .sidebar[role="complementary"] a {
  color: #00a5d1;
  font-size: 1em;
  font-weight: 800;
  display: block;
  line-height: 1.5;
  max-width: 100%;
}
.content-container .sidebar.get-in-touch span {
  font-size: 1.1em;
  font-weight: 800;
  margin-bottom: 32px;
  display: block;
}

.carousel-wrap {
  position: relative;
}
@media all and (max-width: 1024px) {
  .carousel-wrap {
    padding: 0;
  }
}
.carousel-wrap .btns {
  position: absolute;
  width: 100%;
  z-index: 10;
  top: 50%;
  top: 40px;
  left: 0;
}
.carousel-wrap .btns li {
  width: 35px;
  height: 40px;
  display: inline-block;
  cursor: pointer;
  position: absolute;
  text-indent: -99999px;
}
.carousel-wrap .btns li i {
  display: none;
}
.carousel-wrap .btns li.prev {
  background: url("../images/carousel-icon-arrow.png") no-repeat 15px 0;
}
.carousel-wrap .btns li.next {
  background: url("../images/carousel-icon-arrow.png") no-repeat -20px 0;
  right: 0;
}

.carousel-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #fff;
}
.carousel-container .carousel {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.carousel-container .carousel li {
  height: 110px;
  margin: 10px 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding: 15px;
  box-sizing: border-box;
  position: relative;
  opacity: 0.8;
  border-left: 25px solid #fff;
  border-right: 25px solid #fff;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
.carousel-container .carousel li:hover {
  opacity: 1;
}
.carousel-container .carousel li a {
  display: block;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 1024px) {
  .carousel-container .carousel li {
    border-right: 40px solid #fff;
    border-left: 40px solid #fff;
  }
}
.carousel-container .carousel li.asean {
  background-image: url("../images/partners/asean-logo.png");
}
.carousel-container .carousel li.aacsb {
  background-image: url("../images/partners/aacsb-logo.png");
}
.carousel-container .carousel li.aapbs {
  background-image: url("../images/partners/aapbs-logo.png");
}
.carousel-container .carousel li.abis {
  background-image: url("../images/partners/abis-logo.png");
}
.carousel-container .carousel li.adb {
  background-image: url("../images/partners/adb-logo.png");
}
.carousel-container .carousel li.american-express {
  background-image: url("../images/partners/american-express-logo.png");
}
.carousel-container .carousel li.anhss {
  background-image: url("../images/partners/anhss-logo.png");
}
.carousel-container .carousel li.apec {
  background-image: url("../images/partners/apec-logo.png");
}
.carousel-container .carousel li.asia-europe-foundation {
  background-image: url("../images/partners/asia-europe-foundation-logo.png");
}
.carousel-container .carousel li.asia-foundation {
  background-image: url("../images/partners/asia-foundation-logo.png");
}
.carousel-container .carousel li.australian-aid {
  background-image: url("../images/partners/australian-aid-logo.png");
}
.carousel-container .carousel li.ayala {
  background-image: url("../images/partners/ayala-logo.png");
}
.carousel-container .carousel li.cdi {
  background-image: url("../images/partners/cdi-logo.png");
}
.carousel-container .carousel li.cida {
  background-image: url("../images/partners/cida-logo.png");
}
.carousel-container .carousel li.cipe {
  background-image: url("../images/partners/cipe-logo.png");
}
.carousel-container .carousel li.citi {
  background-image: url("../images/partners/citi-logo.png");
}
.carousel-container .carousel li.coca-cola {
  background-image: url("../images/partners/coca-cola-logo.png");
}
.carousel-container .carousel li.csis {
  background-image: url("../images/partners/csis-logo.png");
}
.carousel-container .carousel li.dfa {
  background-image: url("../images/partners/dfa-logo.png");
}
.carousel-container .carousel li.efmd {
  background-image: url("../images/partners/efmd-logo.png");
}
.carousel-container .carousel li.embassy-of-japan {
  background: url("../images/embassy-of-japan-logo.png");
}
.carousel-container .carousel li.gbsn {
  background-image: url("../images/partners/gbsn-logo.png");
}
.carousel-container .carousel li.gcgf {
  background-image: url("../images/partners/gcgf-logo.png");
}
.carousel-container .carousel li.giz {
  background-image: url("../images/partners/giz-logo.png");
}
.carousel-container .carousel li.global-network {
  background-image: url("../images/partners/global-network-logo.png");
}
.carousel-container .carousel li.gmac {
  background-image: url("../images/partners/gmac-logo.png");
}
.carousel-container .carousel li.gncc {
  background-image: url("../images/partners/gncc-logo.png");
}
.carousel-container .carousel li.ifc {
  background-image: url("../images/partners/ifc-logo.png");
}
.carousel-container .carousel li.ifw {
  background-image: url("../images/partners/ifw-logo.png");
}
.carousel-container .carousel li.international-alert {
  background-image: url("../images/partners/international-alert-logo.png");
}
.carousel-container .carousel li.isep {
  background-image: url("../images/partners/isep-logo.png");
}
.carousel-container .carousel li.jica {
  background-image: url("../images/partners/jica-logo.png");
}
.carousel-container .carousel li.kas {
  background-image: url("../images/partners/kas-logo.png");
}
.carousel-container .carousel li.lopez {
  background-image: url("../images/partners/lopez-logo.png");
}
.carousel-container .carousel li.meta {
  background-image: url("../images/partners/meta-logo.png");
}
.carousel-container .carousel li.monetary-fund {
  background-image: url("../images/partners/monetary-fund-logo.png");
}
.carousel-container .carousel li.paciber {
  background-image: url("../images/partners/paciber-logo.png");
}
.carousel-container .carousel li.pldt {
  background-image: url("../images/partners/pldt-logo.png");
}
.carousel-container .carousel li.prime {
  background-image: url("../images/partners/prime-logo.png");
}
.carousel-container .carousel li.prmia {
  background-image: url("../images/partners/prmia-logo.png");
}
.carousel-container .carousel li.sm {
  background-image: url("../images/partners/sm-logo.png");
}
.carousel-container .carousel li.unicon {
  background-image: url("../images/partners/unicon-logo.png");
}
.carousel-container .carousel li.united-nations {
  background-image: url("../images/partners/united-nations-logo.png");
}
.carousel-container .carousel li.usaid {
  background-image: url("../images/partners/usaid-logo.png");
}
.carousel-container .carousel li.world-bank {
  background-image: url("../images/partners/world-bank-group-logo.png");
}
.carousel-container .carousel li.world-vision {
  background-image: url("../images/partners/world-vision-logo.png");
}
.carousel-container .carousel li.zeullig-group {
  background-image: url("../images/partners/zeullig-group-logo.png");
  background-size: 85%;
}

.timeline-slider {
  background: #1f1d2b;
  position: relative;
  overflow: hidden;
  margin-bottom: 40px;
  max-width: 1160px;
  width: 1160px;
}
@media all and (max-width: 1440px) {
  .timeline-slider {
    max-width: 1055px;
    width: 1055px;
  }
}
@media all and (max-width: 1340px) {
  .timeline-slider {
    max-width: 1000px;
    width: 1000px;
  }
}
@media all and (max-width: 1200px) {
  .timeline-slider {
    max-width: 870px;
    width: 870px;
  }
}
@media all and (max-width: 1100px) {
  .timeline-slider {
    max-width: 768px;
    width: 768px;
  }
}
@media all and (max-width: 1024px) {
  .timeline-slider {
    max-width: 100%;
    width: 100%;
  }
}
.timeline-slider strong {
  font: 2em/1.625 "DIN W01 Bold";
  text-align: center;
  display: block;
  margin-bottom: 40px;
  color: #6a6a6a;
}
.timeline-slider .description h3,
.timeline-slider .description .region-programs .program-list li a,
.region-programs .program-list li .timeline-slider .description a {
  font: 4em/1.625em "PT Serif", serif;
  color: #6a6a6a;
}
.timeline-slider .slider-container {
  position: relative;
  top: 0;
  left: 0;
  overflow: hidden;
  padding: 0;
  -webkit-transition: all 0.3s ease-in;
  -moz-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.timeline-slider .slider-container li {
  float: left;
  position: relative;
  padding: 64px 64px 30px;
}
.timeline-slider .slider-container h3,
.timeline-slider .slider-container .region-programs .program-list li a,
.region-programs .program-list li .timeline-slider .slider-container a {
  margin: 10px auto 72px;
  font-size: 1.1em;
  color: #01a4d0;
  text-align: center;
}
.timeline-slider .slider-container h3:before,
.timeline-slider .slider-container .region-programs .program-list li a:before,
.region-programs .program-list li .timeline-slider .slider-container a:before {
  content: "";
  height: 47px;
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  border-left: 2px rgba(255, 255, 255, 0.15) solid;
}
.timeline-slider .slider-container h3:after,
.timeline-slider .slider-container .region-programs .program-list li a:after,
.region-programs .program-list li .timeline-slider .slider-container a:after {
  width: 80px;
  height: 80px;
  border: 2px #4a4569 solid;
  border-radius: 100%;
  position: absolute;
  background: none;
  left: 49.8%;
  margin-left: -40px;
  top: 11px;
}
@media all and (max-width: 640px) {
  .timeline-slider .slider-container h3:after,
  .timeline-slider .slider-container .region-programs .program-list li a:after,
  .region-programs .program-list li .timeline-slider .slider-container a:after {
    top: 19px;
  }
}
.timeline-slider .slider-container p {
  margin: auto;
  color: #01a4d0;
  text-align: center;
}
.timeline-slider .nav-btns {
  background: #1f1d2b;
  width: 100%;
  font-weight: bold;
  display: flex;
  bottom: 0;
  border-top: 1px rgba(255, 255, 255, 0.1) solid;
  padding: 0;
}
@media all and (max-width: 640px) {
  .timeline-slider .nav-btns {
    position: absolute;
    top: 0;
    height: 0;
    background-color: transparent;
  }
}
.timeline-slider .nav-btns li {
  width: 50%;
  z-index: 10;
  color: #01a4d0;
  padding: 16px;
  border-right: 1px rgba(255, 255, 255, 0.1) solid;
  display: inline-block;
  -webkit-transition: background-color 0.3s ease-in;
  -moz-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
}
.timeline-slider .nav-btns li:last-of-type {
  border-right: none;
}
.timeline-slider .nav-btns li:hover {
  cursor: pointer;
  background-color: #00a5d1;
  color: #fff;
}
.timeline-slider .nav-btns li.prev {
  left: 0;
  padding-right: 10px;
}
.timeline-slider .nav-btns li.next {
  text-align: right;
}
@media all and (max-width: 640px) {
  .timeline-slider .nav-btns li {
    max-height: 50px;
    border-right: 0;
    line-height: 0;
  }
}

html:before {
  display: none;
  content: ".layout-container, .contents";
}

/* -- #Buttons -- */
.btn-group {
  display: flex;
  align-items: center;
}
@media all and (max-width: 640px) {
  .btn-group {
    flex-direction: column;
  }
}
.btn-group .btn {
  margin-right: 32px;
  text-align: center;
}
.btn-group .btn:last-child {
  margin-right: 0;
}
@media all and (max-width: 640px) {
  .btn-group .btn {
    margin-bottom: 16px;
  }
}

.btn-group-collapse {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.btn-group-collapse .btn {
  margin-bottom: 16px;
  text-align: center;
}
.btn-group-collapse .btn:last-child {
  margin-bottom: 0;
}

.btn-group-inline {
  display: flex;
}
.btn-group-inline .btn {
  margin-right: 6px;
  text-align: center;
}
.btn-group-inline .btn:last-child {
  margin-right: 0;
}

.btn {
  display: inline-block;
  font: 0.825em/1.625em "DIN W01 Bold";
  text-transform: uppercase;
  position: relative;
  background-color: transparent;
  cursor: pointer;
}
.btn.-large {
  padding: 10px 32px;
  border: 2px #bde0e8 solid;
  color: #bde0e8;
  text-transform: uppercase;
  font: 1em/1.625em "DIN W01 Bold";
  border-radius: 4px;
  line-height: 29px;
}
@media all and (max-width: 1024px) {
  .btn.-large {
    font-size: 0.6em;
  }
}
@media all and (max-width: 768px) {
  .btn.-large {
    display: block;
    text-align: center;
  }
}
@media all and (max-width: 640px) {
  .btn.-large {
    font-size: 0.7em;
  }
}
.btn.-large:hover {
  background: #caf1f9;
  color: #16132b;
}
.btn.-large-bordered {
  padding: 10px 32px;
  border: 2px #bde0e8 solid;
  color: #bde0e8;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  font-size: 1em;
  border-radius: 4px;
  text-align: center;
}
.btn.-large-bordered:hover {
  background: #caf1f9;
  color: #16132b;
}
.btn.-compact-bordered {
  padding: 2px 36px;
  border: 2px #bde0e8 solid;
  color: #bde0e8;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  font-size: 1em;
  border-radius: 4px;
  line-height: 1em;
}
.btn.-compact-bordered:hover {
  background: #caf1f9;
  color: #16132b;
}
.btn.-compact-bordered-full {
  padding: 10px 36px;
  border: 2px #bde0e8 solid;
  color: #bde0e8;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  font-size: 1em;
  border-radius: 4px;
  line-height: 1em;
  width: 100%;
  display: block;
  text-align: center;
}
.btn.-compact-bordered-full:hover {
  background: #caf1f9;
  color: #16132b;
}
.btn.-link {
  color: #00a5d1;
  padding: 10px 26px;
}
.btn.-icon-button-calendar {
  background-image: url("../images/icons/program-schedule-icon.svg");
  color: #bde0e8;
  padding: 20px 16px 20px 40px;
  background-repeat: no-repeat;
  background-position: left center;
}
@media all and (max-width: 760px) {
  .btn.-icon-button-calendar {
    padding: 0;
    margin-right: 0;
    background-position: center;
    text-indent: -99999px;
  }
}
.btn.-accept {
  text-transform: uppercase;
  color: #fff;
  font: 1em/1.625em "DIN W01 Bold";
  padding: 10px 25px;
  border: 2px solid #e5e5e5;
}
.btn.-accept:hover {
  background-color: #00a5d1;
  color: #fff;
}
.btn.-back {
  color: #a7a7a7;
  border: 2px solid #e1e1e1;
  padding: 10px 20px;
}
.btn.-white-arrow {
  border: 2px solid #fff;
  font: 1em/1.625em "DIN W01 Medium";
  background: rgba(255, 255, 255, 0.2);
  padding-right: 10px;
  color: #fff;
  margin: 0 auto;
  max-width: 200px;
  display: flex;
  flex-wrap: wrap;
}
.btn.-white-arrow .arrow-icon {
  flex: 0 30px;
  padding: 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  background: url("../images/arrow-icon-bg.png") no-repeat center;
  background-size: 20px 16px;
}
.btn.-blue {
  color: #fff;
  padding: 10px 20px;
  margin-bottom: 100px;
  background-color: #00a5d1;
  text-align: center;
}
.btn.-apply {
  padding: 10px 55px;
  color: #00a5d1;
  font-size: 1.2em;
}
.btn.-signup {
  padding: 10px 20px;
  text-transform: uppercase;
  border: 2px solid #4a4569;
}
.btn.-learnmore {
  font: 1em/1.625em "DIN W01 Bold";
  color: #3a5573;
  border: 3px solid #3a5573;
  padding: 10px;
}
.btn.-readmore {
  color: #a7a7a7;
  border: 2px solid #e1e1e1;
  padding: 10px 20px;
  -webkit-transition: background-color 0.3s linear, border-color 0.3s, lienar,
    color 0.3s linear;
  -moz-transition: background-color 0.3s linear, border-color 0.3s, lienar,
    color 0.3s linear;
  transition: background-color 0.3s linear, border-color 0.3s, lienar,
    color 0.3s linear;
}
.btn.-readmore:hover {
  background-color: #4a4569;
  color: #fff;
  border-color: #4a4569;
}
.btn.-learn {
  color: #4a4569;
  margin-bottom: 20px;
  background-color: #4a4569;
  text-transform: none;
  background: none;
  font: 1em/1.5em "Helvetica", Arial, sans-serif;
  font-weight: bold;
  opacity: 1;
  -webkit-transition: opacity 0.3s linear;
  -moz-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
}
.btn.-learn:hover {
  opacity: 1;
}

/* -- End Buttons -- */
/* #Accordion Component */
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
.ui-accordion:last-child {
  margin-bottom: 70px;
}

@media all and (max-width: 768px) {
  .ui-accordion {
    font-size: 1em;
    margin-bottom: 32px;
  }
}

.ui-accordion .ui-accordion-header {
  outline: 0;
  background: transparent;
  border: 0;
  position: relative;
  border-radius: 0;
  font: 600 1em/1.618em "Helvetica", Arial, sans-serif;
  color: #00a5d1 !important;
  border-bottom: 1px rgba(0, 0, 0, 0.05) solid;
  padding: 12px 32px 12px 0;
  letter-spacing: 0;
  text-transform: none;
  /* -------- Hover State -------- */
}
.ui-accordion .ui-accordion-header:hover {
  color: #4a4569;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
  display: none !important;
}
.ui-accordion .ui-accordion-header:after {
  display: block;
  content: "\f107";
  font-family: "FontAwesome";
  color: #e4e4e4;
  position: absolute;
  width: 10px;
  height: 0;
  right: 15px;
  background: transparent;
  top: -14px;
  -webkit-transition: color 0.3s linear;
  -moz-transition: color 0.3s linear;
  transition: color 0.3s linear;
}
.ui-accordion .ui-accordion-header.ui-state-active {
  color: #4a4569 !important;
}
.ui-accordion .ui-accordion-header.ui-state-active:after {
  content: "\f106";
  color: #4a4569;
}
.ui-accordion .ui-accordion-header:hover {
  color: #4a4569;
}
.ui-accordion .ui-accordion-header:hover:after {
  color: #4a4569;
}
.ui-accordion .ui-accordion-header span {
  display: block;
  font-size: 0.85em;
  opacity: 0.5;
  color: black;
}

.ui-accordion .ui-accordion-content {
  border: 0;
  margin-bottom: 36px;
  padding: 1em 0;
  /* -------- Active State -------- */
}
.ui-accordion .ui-accordion-content p {
  color: #484848;
  font-size: 1.1em;
}
.ui-accordion .ui-accordion-content p:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 640px) {
  .ui-accordion .ui-accordion-content p {
    font-size: 1em;
  }
}
.ui-accordion .ui-accordion-content ul:first-child {
  padding-top: 0;
}
.ui-accordion .ui-accordion-content ul li {
  font-size: 1em;
  background: rgba(0, 161, 214, 0.15) solid;
}
.ui-accordion .ui-accordion-content ul li:first-child {
  padding-top: 0;
}

/* -- End Accordion Component -- */
.tabs-list li {
  display: inline-block;
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
  color: #999;
  margin: 0 100px 0 0;
  cursor: pointer;
}
.tabs-list li.-active {
  color: #4a4569;
}

.tabs-list.-term-tabs {
  display: flex;
  border: 0 !important;
}
.tabs-list.-term-tabs > li {
  padding: 0 0 20px !important;
  flex: 1;
  font: 1.2em/1.2em "DIN W01 Bold";
  color: #4a4569;
  text-transform: uppercase;
  border-bottom: 4px rgba(0, 0, 0, 0.05) solid;
  border-left: 0;
  margin: 0;
}
.tabs-list.-term-tabs > li.-active {
  border-bottom: 4px #4a4569 solid !important;
}

.tab-content .show-content {
  display: none;
}
.tab-content .show-content.-active {
  display: block;
}

.scholar-tabs-list li {
  display: inline-block;
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
  color: #999;
  margin: 0 100px 0 0;
  cursor: pointer;
}
.scholar-tabs-list li.-active {
  color: #4a4569;
}

.scholar-tab-content .show-content {
  display: none;
}
.scholar-tab-content .show-content.-active {
  display: block;
}

.tab-selection {
  margin-bottom: 0;
}
.tab-selection li {
  font: 1.2em/1.2em "DIN W01 Bold";
  padding: 24px 16px 24px 0;
}
@media all and (max-width: 640px) {
  .tab-selection li {
    font: 1em/1.2em "DIN W01 Bold";
  }
}
@media all and (max-width: 480px) {
  .tab-selection {
    display: block;
  }
  .tab-selection li {
    display: block;
  }
}

/* -- #Featured Block -- */
.featured-region,
.student-section {
  padding-bottom: 0;
  background: rgba(0, 0, 0, 0.02);
}
.featured-region .featured-list ul,
.student-section .featured-list ul {
  display: flex;
}
.featured-region .featured-list ul li,
.student-section .featured-list ul li {
  padding: 24px;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  width: calc(100% / 3);
}
.featured-region .featured-list ul li:first-of-type,
.student-section .featured-list ul li:first-of-type {
  border-left: 0;
}
.featured-region .featured-list ul li:last-child,
.student-section .featured-list ul li:last-child {
  margin-right: 0;
}
.featured-region .featured-list ul li .image-thumb,
.student-section .featured-list ul li .image-thumb {
  max-height: 285px;
  overflow: hidden;
}
.featured-region .featured-list ul li .image-thumb img,
.student-section .featured-list ul li .image-thumb img {
  width: 100%;
  height: auto;
  display: block;
}
.featured-region .featured-list ul li .content-body,
.student-section .featured-list ul li .content-body {
  padding: 24px 0 8px;
}
.featured-region .featured-list ul li .content-body h3,
.featured-region
  .featured-list
  ul
  .region-programs
  .program-list
  li
  .content-body
  a,
.region-programs
  .program-list
  .featured-region
  .featured-list
  ul
  li
  .content-body
  a,
.student-section .featured-list ul li .content-body h3,
.student-section
  .featured-list
  ul
  .region-programs
  .program-list
  li
  .content-body
  a,
.region-programs
  .program-list
  .student-section
  .featured-list
  ul
  li
  .content-body
  a {
  font-size: 1.418em;
  text-transform: uppercase;
  line-height: 1.2em;
}
.featured-region .featured-list ul li .content-body h3 a,
.featured-region
  .featured-list
  ul
  .region-programs
  .program-list
  li
  .content-body
  a
  a,
.region-programs
  .program-list
  .featured-region
  .featured-list
  ul
  li
  .content-body
  a
  a,
.student-section .featured-list ul li .content-body h3 a,
.student-section
  .featured-list
  ul
  .region-programs
  .program-list
  li
  .content-body
  a
  a,
.region-programs
  .program-list
  .student-section
  .featured-list
  ul
  li
  .content-body
  a
  a {
  color: #2c2844;
  font-family: "DIN W01 Bold";
}
.featured-region .featured-list ul li .content-body p,
.student-section .featured-list ul li .content-body p {
  font-size: 1em;
  font-family: "DIN W01 Medium";
  color: #989898;
  margin-bottom: 32px;
}
.featured-region .featured-list ul li .content-body a,
.student-section .featured-list ul li .content-body a {
  color: #4a4569;
  display: inline-block;
  font-family: "DIN W01 Bold";
  font-weight: 600;
  font-size: 0.85em;
}
@media all and (max-width: 768px) {
  .featured-region .featured-list ul,
  .student-section .featured-list ul {
    display: block;
    padding: 30px 0;
  }
  .featured-region .featured-list ul li,
  .student-section .featured-list ul li {
    display: flex;
    width: 100%;
    border: 0;
    padding: 0 0 32px;
  }
  .featured-region .featured-list ul li:last-child,
  .student-section .featured-list ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .featured-region .featured-list ul li .image-thumb,
  .student-section .featured-list ul li .image-thumb {
    width: 50%;
    margin-right: 24px;
    max-height: 230px;
  }
  .featured-region .featured-list ul li .views-field,
  .student-section .featured-list ul li .views-field {
    width: 50%;
  }
  .featured-region .featured-list ul li .content-body,
  .student-section .featured-list ul li .content-body {
    padding: 0;
  }
}
@media all and (max-width: 600px) {
  .featured-region .featured-list ul li,
  .student-section .featured-list ul li {
    flex-direction: column;
  }
  .featured-region .featured-list ul li .image-thumb,
  .student-section .featured-list ul li .image-thumb {
    width: 100%;
    margin-right: 0;
    margin-bottom: 12px;
  }
  .featured-region .featured-list ul li .views-field,
  .student-section .featured-list ul li .views-field {
    width: 100%;
  }
}

.student-section {
  padding: 0 30px;
}

/* -- End Featured Block -- */
/* -- #Numbers -- */
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
.numbers-wrap {
  background: #f3fbff;
}

.numbers {
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
  position: relative;
  background-size: contain;
  padding: 32px 32px 48px;
  display: flex;
  flex-wrap: wrap;
}
@media all and (max-width: 768px) {
  .numbers {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.numbers h2 {
  text-transform: uppercase;
  font: 0.86em/1.625em "PT Serif", serif;
  font-weight: 700;
  letter-spacing: 4px;
  color: #4a4569;
  text-align: center;
  margin-bottom: 16px;
  flex: 1 100%;
}
.numbers .conj {
  margin: auto;
  text-align: center;
  font: 1.5em/1.2em "DIN W01 Bold";
  width: 0;
}
.numbers > div {
  width: 33%;
}
.numbers > div h3,
.numbers > div .region-programs .program-list li a,
.region-programs .program-list li .numbers > div a {
  font: 7em/1.2em "DIN W01 Bold";
  color: #4a4569;
  text-align: center;
  margin-bottom: 10px;
  letter-spacing: -0.07em;
}
@media all and (max-width: 1280px) {
  .numbers > div h3,
  .numbers > div .region-programs .program-list li a,
  .region-programs .program-list li .numbers > div a {
    font-size: 6em;
  }
}
@media all and (max-width: 1024px) {
  .numbers > div h3,
  .numbers > div .region-programs .program-list li a,
  .region-programs .program-list li .numbers > div a {
    font-size: 5em;
  }
}
@media all and (max-width: 770px) {
  .numbers > div h3,
  .numbers > div .region-programs .program-list li a,
  .region-programs .program-list li .numbers > div a {
    font-size: 4em;
  }
}
.numbers > div p {
  font: 0.75em/1.625em "DIN W01 Bold";
  max-width: 320px;
  margin: 0 auto 0;
  letter-spacing: 2px;
  color: #4a4569;
  text-transform: uppercase;
  text-align: center;
}
.numbers > div span {
  display: block;
  text-align: center;
  font: 0.75em / 1.625em "DIN W01 Medium";
  color: rgba(0, 0, 0, 0.5);
}
.numbers > div:first-of-type {
  display: flex;
}
.numbers > div:first-of-type h3,
.numbers > div:first-of-type .region-programs .program-list li a,
.region-programs .program-list li .numbers > div:first-of-type a {
  float: left;
  margin-right: 32px;
}
.numbers > div:first-of-type p,
.numbers > div:first-of-type span {
  text-align: left;
}
.numbers > div:first-of-type p {
  font-size: 1.2em;
  letter-spacing: 0;
  line-height: 1.2em;
  margin-bottom: 8px;
  margin-top: 28px;
}
@media all and (max-width: 1000px) {
  .numbers > div:first-of-type p {
    margin-top: 18px;
  }
}
@media all and (max-width: 640px) {
  .numbers > div:first-of-type p {
    max-width: 200px;
    margin-top: 0;
  }
}
.numbers > div:first-of-type span {
  font-size: 0.9em;
  max-width: 280px;
  line-height: 1.4em;
}
.numbers > div:first-of-type .caption {
  max-width: 230px;
}
@media all and (max-width: 1024px) {
  .numbers > div:first-of-type .caption {
    font-size: 0.9em;
  }
}
@media all and (max-width: 900px) {
  .numbers > div:first-of-type .caption {
    font-size: 0.8em;
  }
}
@media all and (max-width: 860px) {
  .numbers > div:first-of-type .caption {
    font-size: 0.65em;
  }
}
.numbers .last {
  padding-right: 50px;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  margin-right: 50px;
}
@media all and (max-width: 640px) {
  .numbers {
    flex-direction: column;
  }
  .numbers > div {
    width: 100%;
  }
  .numbers > div:first-of-type {
    flex-direction: column;
  }
  .numbers > div:first-of-type .caption {
    max-width: 100%;
    margin: 0 auto 10px;
    text-align: center;
  }
  .numbers > div:first-of-type .caption span {
    display: none;
    text-align: center;
  }
  .numbers > div.conj {
    padding: 32px 0;
    width: initial;
  }
}

/* -- End Numbers -- */
/* -- #News and Events Block -- */
.block-news h2,
.block-events h2 {
  font: 2em/1.4em "DIN W01 Bold";
  text-transform: uppercase;
}

.block-news h4,
.block-events h4 {
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
}
.block-news h4 a,
.block-events h4 a {
  color: #000;
  opacity: 0.5;
}

.block-news .item-list,
.block-events .item-list {
  clear: both;
}
.block-news .item-list ul li,
.block-events .item-list ul li {
  margin-bottom: 80px;
}
.block-news .item-list ul li .content-date,
.block-events .item-list ul li .content-date {
  padding-right: 40px;
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
}
.block-news .item-list ul li .content-body,
.block-events .item-list ul li .content-body {
  flex: 1;
  position: relative;
}
.block-news .item-list ul li .content-body h4,
.block-events .item-list ul li .content-body h4 {
  margin-bottom: 10px;
  color: #797979;
}
.block-news .item-list ul li .content-body h3,
.block-news .item-list ul .region-programs .program-list li .content-body a,
.region-programs .program-list .block-news .item-list ul li .content-body a,
.block-events .item-list ul li .content-body h3,
.block-events .item-list ul .region-programs .program-list li .content-body a,
.region-programs .program-list .block-events .item-list ul li .content-body a {
  margin-bottom: 40px;
  font: 1.5em/1.4em "DIN W01 Medium";
}
.block-news .item-list ul li .content-body h3 a,
.block-news .item-list ul .region-programs .program-list li .content-body a a,
.region-programs .program-list .block-news .item-list ul li .content-body a a,
.block-events .item-list ul li .content-body h3 a,
.block-events .item-list ul .region-programs .program-list li .content-body a a,
.region-programs
  .program-list
  .block-events
  .item-list
  ul
  li
  .content-body
  a
  a {
  display: block;
  text-decoration: none;
  color: #00b4da;
}
.block-news .item-list ul li .content-body p,
.block-events .item-list ul li .content-body p {
  color: #b8b8b8;
  font: 1.2em/1.615em "PT Serif", serif;
}

/* -- End News and Events Block  -- */
/* -- #Related Programs -- */
.view-related-programs {
  display: none;
  padding: 30px;
}
.view-related-programs .view-header h3,
.view-related-programs .view-header .region-programs .program-list li a,
.region-programs .program-list li .view-related-programs .view-header a {
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
  color: #6e6e6e;
  margin-bottom: 20px;
}
.view-related-programs .item-list ul {
  display: flex;
  flex-wrap: wrap;
}
.view-related-programs .item-list ul li {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  flex: 0 50%;
  padding: 60px 40px 0 0;
  border-top: 1px solid #ccc;
  margin-bottom: 80px;
}
.view-related-programs .item-list ul li h3,
.view-related-programs .item-list ul .region-programs .program-list li a,
.region-programs .program-list .view-related-programs .item-list ul li a {
  font-family: "DIN W01 Bold";
  color: #435265;
  width: 100%;
  text-transform: uppercase;
  font-size: 0.8em;
}
.view-related-programs .item-list ul li h4 {
  width: 100%;
  font: 2em/1.2em "DIN W01 Bold";
  text-transform: uppercase;
  margin-bottom: 20px;
}
.view-related-programs .item-list ul li h4 a {
  color: #000;
}
.view-related-programs .item-list ul li .program-description {
  width: 100%;
  min-height: 70px;
}
.view-related-programs .item-list ul li .program-description p {
  font-family: "PT Serif", serif;
  color: #333;
  margin-bottom: 0;
  opacity: 0.6;
}
.view-related-programs .item-list ul li .program-duration {
  padding: 20px 20px 0 0;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.view-related-programs .item-list ul li .program-duration h4 {
  font: 0.875em/1.2em "DIN W01 Medium";
  text-transform: uppercase;
  color: #ababab;
  margin-bottom: 10px;
}
.view-related-programs .item-list ul li .program-duration h5 {
  line-height: 30px;
  font-family: "DIN W01 Medium";
  color: #435265;
}
.view-related-programs .item-list ul li .program-participant {
  padding: 20px 0 0 20px;
  border-top: 1px solid #ccc;
  flex: 1;
}
.view-related-programs .item-list ul li .program-participant h5 {
  font: 0.875em/1.2em "DIN W01 Medium";
  text-transform: uppercase;
  color: #ababab;
  margin-bottom: 10px;
}
.view-related-programs .item-list ul li .program-participant p {
  font-family: "DIN W01 Medium";
  color: #435265;
}
.view-related-programs .item-list ul li:nth-child(even) {
  padding-left: 40px;
  padding-right: 0;
  border-left: 1px solid #ccc;
}

/* -- End Related Programs -- */
.contextual-menu {
  display: none;
  padding: 0 30px;
}
@media all and (max-width: 1040px) {
  .contextual-menu {
    display: block;
  }
}
.contextual-menu .menu-btn {
  font: 600 1em/1.625em Arial, sans-serif;
  background-color: #4a4569;
  color: #fff;
  border: 0;
  padding: 0 20px;
  border-radius: 2px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 20px;
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 40px;
}
.contextual-menu .menu-btn small h2 {
  color: #fff;
  font-size: 1em;
  margin: 0;
}
.contextual-menu .menu-btn .menu-icon {
  position: relative;
}
.contextual-menu .menu-btn .menu-icon .line {
  width: 30px;
  height: 3px;
  background-color: #fff;
  display: block;
  margin-bottom: 5px;
  position: relative;
}
.contextual-menu .menu-btn .menu-icon .line:last-child {
  margin-bottom: 0;
}
.contextual-menu .menu-btn.toggle-btn {
  top: 50px;
}
.contextual-menu .menu-btn.toggle-btn .top {
  top: 8px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
.contextual-menu .menu-btn.toggle-btn .middle {
  position: relative;
  top: 0;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.contextual-menu .menu-btn.toggle-btn .bottom {
  display: none;
}
.contextual-menu .navigation {
  position: static;
  overflow: visible;
  height: initial;
  width: 100%;
}
.contextual-menu .sidebar {
  display: block !important;
  padding: 0 20px !important;
  margin: 0 0 15px 0;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
  border-radius: 1px;
  background-color: #fff;
}
.contextual-menu .sidebar h2 {
  display: none;
}
.contextual-menu .sidebar ul {
  list-style: none;
  margin: 0;
  padding-top: 15px;
}
.contextual-menu .sidebar ul li:first-child {
  padding-top: 0;
}
.contextual-menu .sidebar ul li:last-child {
  border: 0;
}
.contextual-menu .sidebar ul li a {
  opacity: 1;
  padding: 8px 0;
  display: block;
  font: 600 1em/1.625em "Helvetica", Arial, sans-serif;
  color: #4a4569;
}
.contextual-menu .sidebar ul li:before {
  display: none;
}
.contextual-menu .sidebar .inner {
  display: none;
  margin-top: 0;
  border-top: 2px solid #4a4569;
}
.contextual-menu .menu-container {
  position: relative;
  display: block;
  top: -20px;
}
.contextual-menu .menu-container h3,
.contextual-menu .menu-container .region-programs .program-list li a,
.region-programs .program-list li .contextual-menu .menu-container a {
  font: 0.825em/1.625em "DIN W01 Bold";
  border-bottom: 0;
  padding-bottom: 0;
  margin-top: 8px;
  color: rgba(0, 0, 0, 0.7);
}
.contextual-menu .menu-container h3 + ul,
.contextual-menu .menu-container .region-programs .program-list li a + ul,
.region-programs .program-list li .contextual-menu .menu-container a + ul {
  padding-top: 0;
}
.contextual-menu .menu-container .context {
  display: none;
}

#block-undermainnaviagation {
  display: flex;
  align-items: center;
  background: #bbb07c;
}
#block-undermainnaviagation > .menu {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  padding: 12px 32px;
}
#block-undermainnaviagation .menu-item {
  padding: 0;
  font-family: "DIN W01 Bold";
  font-size: 1.2rem;
}
#block-undermainnaviagation .menu-item > a {
  color: #120f29;
}
#block-undermainnaviagation .menu-item > a:hover {
  color: #413884;
}
@media all and (max-width: 780px) {
  #block-undermainnaviagation {
    position: relative;
    height: auto;
    width: 100%;
  }
  #block-undermainnaviagation > .menu {
    padding: 8px 32px;
  }
  #block-undermainnaviagation .menu-item {
    font-size: 1rem;
  }
}

/* -------- End Componenets --------*/
/* ------- Program Schedule Bar ------ */
.date-detail > .label {
  text-transform: uppercase;
  display: block;
  margin-bottom: 5px;
  color: #8f8c9c;
  font: 0.65em/1.2em "DIN W01 Medium";
}

.date-detail > .date {
  position: relative;
  font: 1.5em/1em "DIN W01 Medium";
  color: #fff;
}

.date-detail-capital > .label {
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
  color: #8f8c9c;
  font: 0.65em/1.2em "DIN W01 Medium";
}

.date-detail-capital > .date {
  text-transform: uppercase;
  position: relative;
  font: 1.5em/1em "DIN W01 Medium";
  color: #fff;
}
@media all and (max-width: 640px) {
  .date-detail-capital > .date {
    font-size: 1em;
  }
}

.date-detail-alternative {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid #e5e5e5;
  align-items: center;
}
@media all and (max-width: 640px) {
  .date-detail-alternative {
    flex-direction: column;
    align-items: initial;
  }
}
.date-detail-alternative > .label {
  font: 1.1em/1.65em "DIN W01 Regular";
}
@media all and (max-width: 640px) {
  .date-detail-alternative > .label {
    font-size: 1em;
    margin-bottom: 8px;
  }
}
.date-detail-alternative > .date {
  font: 1.3em/1em "DIN W01 Medium";
  color: #484569;
}
.date-detail-alternative:last-child {
  border-bottom: 0;
}

.date-group {
  display: flex;
}
.date-group > .date-detail {
  margin-right: 40px;
}
.date-group > .date-detail:last-child {
  margin-right: 0;
}

.date-group-tight {
  display: flex;
}
.date-group-tight > .date-detail-capital {
  margin-right: 40px;
}
@media all and (max-width: 640px) {
  .date-group-tight > .date-detail-capital {
    margin-right: 30px;
  }
}
.date-group-tight > .date-detail-capital:last-child {
  margin-right: 0;
}

.program-schedule-header {
  background-color: #150f2b;
  position: relative;
  z-index: 12;
}
.program-schedule-header > .wrapper {
  display: flex;
  flex-wrap: wrap;
  padding-top: 10px;
  padding-bottom: 10px;
  max-width: 1440px;
  justify-content: space-between;
  border-top: 1px solid #241f3c;
  align-items: center;
}
@media all and (max-width: 525px) {
  .program-schedule-header
    > .wrapper
    > .btn-group-inline
    > .btn.-icon-button-calendar {
    width: 30px;
    height: 30px;
  }
}
.program-schedule-header > .wrapper > .btn-group-inline > .btn.-large-bordered {
  margin: 6px 0;
}
@media all and (max-width: 525px) {
  .program-schedule-header
    > .wrapper
    > .btn-group-inline
    > .btn.-large-bordered {
    display: none;
  }
}
.program-schedule-header > .wrapper > .btn.-compact-bordered-full {
  display: none;
}
@media all and (max-width: 525px) {
  .program-schedule-header > .wrapper > .btn.-compact-bordered-full {
    display: block;
    margin: 10px auto;
  }
}

/* -- #Steps -- */
.steps .procedures {
  margin-bottom: 40px;
}
.steps .procedures .step-num {
  font: 1em/1.625em "DIN W01 Bold";
  color: #4a4569;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.steps .procedures .info {
  border-left: 3px solid #00a5d1;
  padding: 0 0 30px 30px;
  margin: 0 0 30px 30px;
  font: 1em/1.625em "PT Serif", serif;
  color: #6a6a6a;
}
.steps .procedures .info .note {
  font: 0.875em/1.625em "PT Serif", serif;
  color: #6e6e6e;
  margin-bottom: 5px;
}
.steps .procedures .info a {
  display: inline-block;
  padding-left: 10px;
  font: 1em/1.625em "DIN W01 Medium";
  color: #00b4da;
}
.steps .procedures .info ul {
  margin-bottom: 30px;
}
.steps .procedures .info ul:last-child {
  margin-bottom: 0;
}
.steps .procedures .info li {
  color: #7d8794;
  margin-bottom: 5px;
  position: relative;
  padding-left: 15px;
  /* -------- Bullet Style -------- */
}
.steps .procedures .info li:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #697584;
  top: 10px;
  left: 0;
}

/* -- End Steps -- */
.notification-component {
  border-top: 4px solid #009a57;
  background-color: #211939;
  padding: 32px;
  display: flex;
  align-content: center;
  align-items: center;
  width: 100%;
}
.notification-component .component-container {
  max-width: 1440px;
  width: 1440px;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}
.notification-component .component-container > .text-formatted {
  flex: 1;
  padding-right: 32px;
}
.notification-component .component-container .default-paragraph-white {
  max-width: 920px;
  margin-bottom: 0;
}
@media all and (max-width: 640px) {
  .notification-component .component-container .default-paragraph-white {
    margin-bottom: 32px;
  }
}
.notification-component.-privacy-policy {
  position: fixed;
  bottom: 0;
  z-index: 10;
}
@media all and (max-width: 640px) {
  .notification-component.-privacy-policy .component-container {
    flex-direction: column;
  }
}

.hide {
  display: none !important;
}

/* -- Quote -- */
.quote {
  background: #16132b;
  padding: 24px;
  color: #fff;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
  border-radius: 0;
}
.quote > * {
  margin: 0 auto;
}
.quote p {
  color: #01a4d0;
  text-align: center;
  margin-bottom: 20px;
  font: 2em/1.625em "PT Serif", serif;
}
.quote p:before {
  content: "";
  display: block;
  font-size: 14px;
  margin-top: 0;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-weight: 600;
  opacity: 0.6;
}
.quote span {
  font: 1em/1.625em "PT Serif", serif;
  display: block;
  color: #01a4d0;
  text-align: center;
  margin: 64px auto 32px;
}
@media all and (max-width: 640px) {
  .quote .wrapper {
    margin: 0;
    padding: 0;
  }
  .quote p {
    font-size: 1em;
  }
}

.staff-card .name {
  text-transform: uppercase;
  font: 1.618em/1.4em "DIN W01 Bold";
  margin: 0;
  color: #4a4569;
  display: block;
}

.staff-card .position {
  color: rgba(0, 0, 0, 0.5);
  display: block;
  margin-bottom: 16px;
}

.staff-card .address {
  font-size: 1em;
}

/* -- arrows list -- */
.program-card {
  background-color: #fff;
  padding: 45px 35px;
  display: block;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 3px;
}
.program-card:after {
  content: "Program Spotlight";
  position: absolute;
  top: -15px;
  color: #fff;
  font: 0.875em/1em "DIN W01 Bold";
  padding: 10px 30px;
  text-align: center;
  background-color: #35b0e6;
  text-transform: uppercase;
  border-radius: 3px;
}
.program-card .card-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 20px;
  margin-bottom: 50px;
}
@media all and (max-width: 768px) {
  .program-card .card-head {
    flex-direction: column;
  }
}
.program-card .card-head .title {
  flex: 1;
}
.program-card .card-head .kicker {
  font: 0.775em/1em "DIN W01 Medium";
  color: rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  margin-bottom: 5px;
}
.program-card .card-head h3,
.program-card .card-head .region-programs .program-list li a,
.region-programs .program-list li .program-card .card-head a {
  font: 1.5em/1em "DIN W01 Bold";
  color: #332d4d;
  margin: 0;
  text-transform: initial;
  letter-spacing: 0px;
  margin-bottom: 10px;
}
.program-card .card-head h3:after,
.program-card .card-head .region-programs .program-list li a:after,
.region-programs .program-list li .program-card .card-head a:after {
  display: none;
}
.program-card .card-head .learn-more-btn {
  background-color: #35b0e6;
  font: 0.875em/1em "DIN W01 Bold";
  display: inline-block;
  padding: 15px 35px;
  text-transform: uppercase;
  border-radius: 5px;
  color: #fff;
}
.program-card .card-head .learn-more-btn:hover {
  background-color: #fff;
  color: #35b0e6;
  border: 2px solid #35b0e6;
}
.program-card .description {
  position: relative;
  max-width: 450px;
  margin-bottom: 35px;
}
.program-card .description:after {
  content: "Description";
  position: absolute;
  font: 600 0.75em/1em "Muli", sans-serif;
  top: -22px;
  color: #a3a3a3;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.program-card .description p {
  font: 1em/1.6em "Muli", sans-serif;
  color: #484848;
}
.program-card .description .for {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.program-card .description .for .duration {
  position: relative;
}
.program-card .description .for .duration:after {
  content: "Duration";
  position: absolute;
  font: 600 0.75em/1em "Muli", sans-serif;
  top: -25px;
  left: 0;
  color: #a3a3a3;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.program-card .description .for .duration span {
  color: #484848;
  font: 1em/1.625em "Muli", sans-serif;
}
.program-card .description .for .target-participants {
  position: relative;
}
.program-card .description .for .target-participants:after {
  position: absolute;
  font: 600 0.75em/1em "Muli", sans-serif;
  top: -25px;
  left: 0;
  color: #a3a3a3;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.program-card .description .for .target-participants span {
  color: #484848;
  font: 1em/1.625em "Muli", sans-serif;
}
.program-card .schedule {
  display: none;
}

.table-arrows {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.table-arrows > div {
  position: relative;
  margin-bottom: 32px;
}
.table-arrows > div:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 4px #4a4569 solid;
  border-right: 4px #4a4569 solid;
  transform: rotate(45deg);
  position: absolute;
  left: 40%;
  top: 0;
  margin-top: 32px;
  margin-left: -10px;
  background: #fff;
}
.table-arrows > div > .table-head {
  padding-top: 24px;
  float: left;
  width: 40%;
  padding-right: 32px;
  font: 1.418em/1.4em "DIN W01 Bold";
  margin-top: 0;
  letter-spacing: 0;
}
.table-arrows > div > .table-head:after {
  display: none;
}
.table-arrows > div > .table-head span {
  display: block;
  font-size: 0.7em;
  color: rgba(0, 0, 0, 0.5);
  margin: 10px 0;
}
.table-arrows > div > .table-content {
  padding-top: 0px;
  display: block;
  margin-left: 40%;
  border-left: 1px rgba(0, 0, 0, 0.05) solid;
  padding-left: 32px;
  min-height: 190px;
}
.table-arrows > div > .table-content p {
  font-size: 1.2em !important;
}
.table-arrows > div > .table-content p:first-child {
  padding-top: 20px;
}
.table-arrows > div > .table-content ul {
  padding-top: 0;
}
.table-arrows > div > .table-content + a {
  margin: 0 0 0 calc(40% + 32px);
}
@media all and (max-width: 640px) {
  .table-arrows > div > .table-content + a {
    margin: 0;
  }
}
@media all and (max-width: 640px) {
  .table-arrows {
    border: 0;
  }
  .table-arrows div {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-bottom: 32px;
  }
  .table-arrows div:before {
    display: none;
  }
  .table-arrows div > .table-head {
    float: none;
    width: 100%;
    margin-bottom: 0;
    font-size: 1.118em;
  }
  .table-arrows div > .table-content {
    border: 0;
    margin-left: 0;
    padding-left: 0;
    min-height: initial;
    font-size: 1em;
  }
  .table-arrows div > a {
    margin: 0;
  }
}
@media all and (max-width: 640px) {
  .table-arrows div > h2 {
    font-size: 1.118em;
  }
  .table-arrows div > p {
    font-size: 1em;
  }
}

.complete-quote {
  background: linear-gradient(85deg, #180f44, #1e154a);
}
.complete-quote > .content-section {
  color: #ffffff;
  max-width: 1440px;
  margin: 0 auto;
  background: #180f44 url("../images/jikyeong-pic.jpg") no-repeat;
  background-position: 100% center;
  background-size: 50%;
  margin-bottom: 0;
}
@media all and (max-width: 1024px) {
  .complete-quote > .content-section {
    background-size: contain;
  }
}
@media all and (max-width: 720px) {
  .complete-quote > .content-section {
    background-position: calc(400px - 200px) bottom;
  }
}
@media all and (max-width: 640px) {
  .complete-quote > .content-section {
    background: #180f44 url("../images/jikyeong-mobile.jpg") no-repeat top;
    background-size: 100%;
  }
}
.complete-quote > .content-section > .message {
  max-width: 685px;
  padding: 80px 40px;
}
@media all and (max-width: 1024px) {
  .complete-quote > .content-section > .message {
    max-width: 50%;
  }
}
@media all and (max-width: 640px) {
  .complete-quote > .content-section > .message {
    padding-top: calc(100% + 200px);
    max-width: 100%;
  }
}
.complete-quote > .content-section > .message p {
  font: 1.375rem/2.25rem "DIN W01 Regular";
}
@media all and (max-width: 1024px) {
  .complete-quote > .content-section > .message p {
    font: 1.125rem/1.813rem "DIN W01 Regular";
  }
}
.complete-quote > .content-section > .message p:before {
  content: "“";
  font: 6.25rem/0 "PT Serif", serif;
  opacity: 0.1;
  display: block;
  margin-left: -7px;
}
.complete-quote > .content-section > .message > .name {
  font: 1.375rem/1.618rem "DIN W01 Medium";
}
@media all and (max-width: 1024px) {
  .complete-quote > .content-section > .message > .name {
    font: 1.125rem/1.125rem "DIN W01 Medium";
  }
}
.complete-quote > .content-section > .message > .position {
  font: 0.875rem/1.438rem "DIN W01 Medium";
  margin: 12px 0 0;
  opacity: 0.5;
}

.content-container .sidebar[role="complementary"] a.cta {
  background-color: #4a4569;
  display: inline-block;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  font: 0.775em/1em "DIN W01 Bold";
  text-transform: uppercase;
  padding: 10px 15px 10px 45px;
  position: relative;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-out;
  -moz-transition: background-color 0.2s ease-out;
  transition: background-color 0.2s ease-out;
}
.content-container .sidebar[role="complementary"] a.cta:before {
  position: absolute;
  left: 10px;
  font-family: "FontAwesome";
  height: 100%;
  width: 20px;
  margin: auto 0;
  bottom: -1px;
  font-size: 15px;
  line-height: 32px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.content-container .sidebar[role="complementary"] a.cta:hover {
  background-color: #fff;
  color: #00a5d1;
  border: 1px solid #4a4569;
}
.content-container .sidebar[role="complementary"] a.cta:hover:before {
  border-right: 1px solid #4a4569;
}
.content-container .sidebar[role="complementary"] a.cta.call-me:before {
  content: "\f095";
}
.content-container .sidebar[role="complementary"] a.cta.download-brochure {
  display: none;
}
.content-container .sidebar[role="complementary"] a.cta.download-pdf:before {
  content: "\f1c1";
}

/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
header .navigation a + .menu a > .context,
.mobile-menu .context {
  display: block;
  color: #8f83a2;
  font: 0.725rem / 1.4em "Muli", sans-serif;
  font-weight: 100;
  text-transform: none;
  margin: 12px 0 0;
  max-width: 320px;
}

.region-primary-menu a[href$="/about-us"] + .menu .about-aim:before,
.region-primary-menu a[href$="/about-us"] + .menu .aim-brand:before,
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers:before {
  margin: 16px 16px 18px;
  opacity: 0.5;
  display: block;
  font-size: 0.725rem;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  color: #c0b5d4;
}

.aacsb-logo {
  width: 120px;
  height: 40px;
  background: url("../images/aacsb-landscape-logo.png") no-repeat center/contain;
  margin-right: 32px;
}
@media all and (max-width: 768px) {
  .aacsb-logo {
    width: 100px;
    height: 50px;
  }
}

#header-components {
  transition: transform 400ms cubic-bezier(0.62, 0.01, 0, 0.98);
}
#header-components.-fixed {
  position: fixed;
  width: 100%;
  z-index: 100;
  transform: translate3D(0, 0, 0);
}
#header-components.-visible {
  transform: translate3D(0, -138px, 0);
}

#header {
  padding: 0;
  background-color: #1f1a3a;
  z-index: 30;
  position: relative;
  background: #1f1a3a;
  background: linear-gradient(to bottom, #140e2b 0%, #1f1a3a 190%);
  width: 100%;
}
#header > .wrapped {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  display: flex;
  padding: 0 16px;
  min-height: 150px;
  padding-left: 0;
  position: relative;
}
@media all and (max-width: 1500px) {
  #header > .wrapped {
    padding-left: 24px;
  }
}
@media all and (max-width: 780px) {
  #header > .wrapped {
    min-height: 0;
    overflow: hidden;
  }
}
#header.-fixed {
  position: fixed;
  top: 0;
}
@media all and (max-width: 780px) {
  #header {
    position: fixed;
    top: 0;
  }
}
#header .about-aim:before {
  content: "At the heart of an ever-changing Asia";
}
#header .aim-brand:before {
  content: "The AIM Brand";
}
#header .opening:before {
  content: "Openings";
}
#header .research-centers:before {
  content: "Research Centers";
  margin: 16px;
  opacity: 0.5;
  display: block;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  color: #c0b5d4;
}

#navigation-filler {
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
}
#navigation-filler.-hidden {
  visibility: hidden;
}

.nav-spacer {
  height: 150px;
  position: absolute;
  background: #1f1a3a;
}
.nav-spacer.-visible {
  position: relative;
}
@media all and (max-width: 780px) {
  .nav-spacer {
    height: 124px;
    position: relative;
  }
}

.aim-logo {
  height: 116px;
  margin: auto 32px auto -3px;
  position: relative;
  z-index: 100;
  flex: 0 0 148px;
}
.aim-logo > a {
  text-indent: -999999px;
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  background: url("../images/logo-full@2x.png") no-repeat center;
  background-size: contain;
}
@media all and (max-width: 970px) {
  .aim-logo > a {
    background: url("../images/logo-full@2x.png") no-repeat center left;
    background-size: contain;
  }
}
@media all and (max-width: 780px) {
  .aim-logo > a {
    background-position: left center;
  }
}
@media all and (max-width: 970px) {
  .aim-logo {
    flex-basis: 110px;
  }
}
@media all and (max-width: 890px) {
  .aim-logo {
    height: 86px;
    flex-basis: 0;
    position: absolute;
    background-size: contain;
    width: 86px;
  }
}
@media all and (max-width: 780px) {
  .aim-logo {
    height: 56px;
    position: relative;
    margin: 12px 16px 12px 0;
    flex-basis: 80px;
  }
}

.logo-glow {
  width: 356px;
  height: 100%;
  position: absolute;
  left: -110px;
  top: 0;
  background: url("../images/logo-glow.jpg") center bottom no-repeat;
  background-size: contain;
}
@media all and (max-width: 1500px) {
  .logo-glow {
    left: -85px;
  }
}
@media all and (max-width: 970px) {
  .logo-glow {
    background: url(../images/logo-glow-short.jpg) no-repeat left;
    left: -103px;
    background-size: contain;
  }
}
@media all and (max-width: 890px) {
  .logo-glow {
    background: url(../images/logo-glow-stacked.jpg) no-repeat left;
    height: 174px;
    top: 0;
    background-size: contain;
    left: 0;
  }
}
@media all and (max-width: 780px) {
  .logo-glow {
    height: 164px;
  }
}

.connect-to-aim {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
  border-left: 2px #27223d solid;
  height: 100%;
}
@media all and (max-width: 780px) {
  .connect-to-aim {
    border-left: 0;
    right: 76px;
  }
}

.social-media {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media all and (max-width: 780px) {
  .social-media {
    flex-direction: row;
  }
}
.social-media .network {
  display: flex;
  padding: 0 1px 0 8px;
  height: 50%;
}
.social-media .network:last-child {
  border-bottom: none;
}
@media all and (max-width: 780px) {
  .social-media .network {
    border-bottom: none;
    height: 100%;
    display: flex;
  }
}
.social-media .icon {
  width: 24px;
  height: 24px;
  display: block;
  padding: 0 16px;
  margin: auto;
}
.social-media .fb {
  background: url("../images/fb.png") no-repeat center;
  background-size: 24px;
}
.social-media .in {
  background: url("../images/in.png") no-repeat center;
  background-size: 32px;
}

.mobile-menu-button {
  width: 24px;
  height: 24px;
  position: absolute;
  right: -4px;
  top: 0;
  padding: 38px 32px;
  box-shadow: inset 2px 0 0 rgba(255, 255, 255, 0.05);
  display: none;
}
.mobile-menu-button .line {
  position: absolute;
  width: 24px;
  height: 2px;
  left: 26px;
  background-color: #33bf33;
  opacity: 1;
  transform-origin: center;
  display: block;
  overflow: hidden;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
}
.mobile-menu-button .line.-top {
  -webkit-transform: translate(0, -9px) rotate(0deg);
  -moz-transform: translate(0, -9px) rotate(0deg);
  transform: translate(0, -9px) rotate(0deg);
}
.mobile-menu-button .line.-middle {
  -webkit-transform: translate(0, -1px) rotate(0deg);
  -moz-transform: translate(0, -1px) rotate(0deg);
  transform: translate(0, -1px) rotate(0deg);
}
.mobile-menu-button .line.-bottom {
  -webkit-transform: translate(0, 7px) rotate(0deg);
  -moz-transform: translate(0, 7px) rotate(0deg);
  transform: translate(0, 7px) rotate(0deg);
}
.mobile-menu-button .line:before {
  content: "";
  display: block;
  width: 100%;
  background: #fff;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  transform: translate3D(-100%, 0, 0);
  transition: transform 1s cubic-bezier(0.42, 0, 0, 1);
}
.mobile-menu-button .line.-top:before {
  transition-delay: 0ms;
}
.mobile-menu-button .line.-middle:before {
  transition-delay: 50ms;
}
.mobile-menu-button .line.-bottom:before {
  transition-delay: 100ms;
}
.mobile-menu-button.-default .line:before {
  transform: translate3d(100%, 0, 0);
}
@media all and (max-width: 780px) {
  .mobile-menu-button {
    display: block;
  }
}

/* Usually appears on the mobile mode of the navigation */
.current-page {
  display: none;
  color: #fff;
  padding: 0 2.5vw;
  border-left: 1px rgba(255, 255, 255, 0.05) solid;
  height: 100%;
  font: 4.618vw/1.6em "DIN W01 Medium";
  text-transform: uppercase;
  margin: auto 0;
}
.current-page span {
  margin: auto 0;
  display: block;
}
.current-page .context {
  display: none;
}
@media all and (max-width: 780px) {
  .current-page {
    display: flex;
  }
}
@media all and (max-width: 480px) {
  .current-page {
    display: none;
  }
}

.injector {
  position: absolute;
  background: #100c22;
  overflow: hidden;
  display: none;
  z-index: 10;
}
.injector.-active {
  display: block;
}

.navigation-context {
  width: 100%;
  position: relative;
  margin: 8px 0;
  padding-right: 42px;
}
@media all and (max-width: 780px) {
  .navigation-context {
    display: flex;
    margin-bottom: 8px;
  }
}

.opening {
  color: #fff;
  display: flex;
  margin: 0 0 0 16px;
  padding: 0 0 16px;
  font-size: 0.85rem;
}
.opening:before {
  font: 0.618rem/1em "Muli", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  margin: auto 0;
  letter-spacing: 0.05em;
  opacity: 0.6;
}
.opening:after {
  content: attr(data-opening);
  margin-left: auto;
  background: #6e637e;
  color: #fff;
  font-family: "DIN W01 Bold";
  width: 32px;
  padding: 2px 0 4px;
  text-align: center;
  border-radius: 4px;
}

.content-wrapper.-halt-scrolling {
  position: fixed;
  height: 100%;
  overflow: hidden;
}

@media all and (max-width: 780px) {
  .navigation {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }
}

.navigation nav > .menu {
  overflow: visible;
  display: flex;
}
.navigation nav > .menu a span {
  display: block;
}
.navigation nav > .menu a {
  display: block;
  color: #d6cbe6;
  padding: 16px;
  line-height: 1.4em;
}
.navigation nav > .menu a:hover {
  color: #fff;
}
.navigation nav > .menu > .menu-item {
  font-family: "DIN W01 Bold";
  text-transform: uppercase;
  padding: 0 2px;
  box-shadow: 0 0 0 rgba(201, 185, 211, 0.5);
  transition: box-shadow 60ms ease-out;
}
.navigation nav > .menu > .menu-item--active-trail {
  box-shadow: 0 1px 0 rgba(201, 185, 211, 0.5);
}
.navigation nav > .menu > .menu-item--active-trail > a {
  color: #fff;
}
.navigation nav > .menu > .menu-item:hover {
  box-shadow: 0 1px 0 rgba(201, 185, 211, 0.5);
  background: #140e2a;
}
.navigation nav > .menu > .menu-item:hover .menu {
  visibility: visible;
  opacity: 1;
  margin-left: -2px;
  width: calc(100% + 2px);
}

header .navigation a + .menu {
  max-width: 320px;
  font: 0.95rem/1.2em "DIN W01 Medium";
  text-transform: none;
  background: #140e2a;
  padding: 0 0;
  border-radius: 0 0 4px 4px;
  margin-top: 0;
  box-shadow: 0 15px 20px rgba(0, 0, 0, 0.35);
  flex-direction: column;
  width: 100%;
  visibility: hidden;
  position: absolute;
  opacity: 0;
  margin-left: -999999px;
}
header .navigation a + .menu a {
  display: block;
  color: #bdaed3;
}
header .navigation a + .menu a > .context:empty {
  display: none;
}
header .navigation a + .menu .menu-item {
  flex: 1 0 320px;
  padding: 0 6px 0 2px;
  box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.8),
    inset 0 -1px 0 rgba(255, 255, 255, 0.05);
  transition: box-shadow 300ms ease-out;
}
header .navigation a + .menu .menu-item--active-trail,
header .navigation a + .menu .menu-item:hover {
  background: rgba(0, 0, 0, 0.1);
  box-shadow: inset 2px 0 0 #19a2d6, inset 0 -1px 0 rgba(255, 255, 255, 0.05);
}
header .navigation a + .menu .menu-item a:hover {
  color: #fff;
}
header .navigation a + .menu .menu-item:last-child {
  box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.8);
}
header .navigation a + .menu .menu-item--active-trail:last-child,
header .navigation a + .menu .menu-item:hover:last-child {
  box-shadow: inset 2px 0 0 #19a2d6;
}

.menu li {
  list-style: none;
}

/*---------------------------------------------------
    NAVIGATIONAL REGIONS
----------------------------------------------------*/
.region-primary-menu,
.region-secondary-menu {
  overflow: visible;
  position: relative;
}

.region-primary-menu {
  z-index: 100;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
@media all and (max-width: 890px) {
  .region-primary-menu {
    box-shadow: none;
  }
}
@media all and (max-width: 890px) {
  .region-primary-menu h2 + .menu {
    justify-content: space-between;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  }
}
.region-primary-menu h2 + .menu > .menu-item > a {
  font-size: 1.25rem;
  white-space: nowrap;
  color: #d2ccda;
  padding: 12px 16px;
}
@media all and (max-width: 950px) {
  .region-primary-menu h2 + .menu > .menu-item > a {
    font-size: 2.10526vw;
  }
}
@media all and (max-width: 890px) {
  .region-primary-menu h2 + .menu > .menu-item > a {
    font-size: 1.25rem;
    padding: 8px 1.7vw;
  }
}
@media all and (max-width: 790px) {
  .region-primary-menu h2 + .menu > .menu-item > a {
    font-size: 2.53165vw;
    padding: 8px 2vw;
  }
}
.region-primary-menu h2 + .menu > .menu-item > a > .context {
  display: none;
}
.region-primary-menu h2 + .menu > .menu-item:first-of-type > a {
  padding-left: 12px;
}
.region-primary-menu h2 + .menu > .menu-item:last-of-type > a {
  padding-right: 24px;
}
.region-primary-menu h2 + .menu > .menu-item--active-trail > a {
  color: #fdfdfd;
}
.region-primary-menu a[href$="/programs"] + .menu {
  max-width: 960px;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.region-primary-menu a[href$="/programs"] + .menu[data-cq="width<960px"] {
  display: block;
  max-width: 640px;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  .injector {
  width: calc(50% + 1px);
  left: calc(50% - 1px);
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  > .menu-item {
  width: 50%;
  margin-left: 50%;
  float: left;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  > .menu-item
  > .menu {
  max-width: calc(100% + 2px);
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  > .menu-item:nth-of-type(2) {
  position: absolute;
  height: calc(100% - 52px);
  margin-left: 0;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  > .menu-item:nth-of-type(2)
  > .menu {
  margin-top: 16px;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  > .menu-item:nth-of-type(3) {
  box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0.05);
}
.region-primary-menu
  a[href$="/programs"]
  + .menu[data-cq="width<960px"]
  > .menu-item:last-of-type {
  clear: both;
  width: 100%;
  margin-left: 0;
}
.region-primary-menu a[href$="/programs"] + .menu > .menu-item {
  box-shadow: none;
  border-right: 1px rgba(255, 255, 255, 0.05) solid;
  padding-right: 0;
}
.region-primary-menu a[href$="/programs"] + .menu > .menu-item:last-child {
  border-top: 2px rgba(255, 255, 255, 0.05) solid;
}
.region-primary-menu a[href$="/programs"] + .menu > .menu-item .menu-item {
  background: none;
}
.region-primary-menu a[href$="/programs"] + .menu > .menu-item > .menu {
  position: relative;
  box-shadow: none;
  border-radius: 0;
  background: none;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(1) {
  /* background: url("../images/program-mba-large@2x.jpg") no-repeat center right; */
  background: url("../images/navbar/imba-overlay.jpg") no-repeat center right;
  background-size: cover;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(2) {
  /* background: url("../images/program-emba-large@2x.jpg") no-repeat center right; */
  background: url("../images/navbar/emba-overlay.jpg") no-repeat center right;
  background-size: cover;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(3) {
  background: url("../images/program-mib-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(4) {
  background: url("../images/program-msds-large@2x.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(5) {
  background: url("../images/navbar/fintech-overlay.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(6) {
  background: url("../images/program-me-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(7) {
  background: url("../images/program-mdm-large@2x.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(8) {
  background: url("../images/program-phd-large@2x.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(9) {
  background: url("../images/program-emdrcm-large@2x.jpg") no-repeat center
    right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(10) {
  background: url("../images/program-mib-large@2x.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(11) {
  background: url("../images/navbar/mcs-overlay.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  .program-list
  > .item:nth-child(12) {
  background: url("../images/navbar/omba-overlay.jpg") no-repeat center right;
  background-size: cover;
}

.region-primary-menu
  a[href$="/programs"]
  + .menu
  a[href$="programs/degree-programs"],
.region-primary-menu
  a[href$="/programs"]
  + .menu
  a[href$="programs/executive-education-programs"],
.region-primary-menu
  a[href$="/programs"]
  + .menu
  a[href$="programs/development-executive-programs"] {
  font-size: 0.725rem;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  color: #c0b5d4;
}
.region-primary-menu
  a[href$="/programs"]
  + .menu
  a[href$="programs/degree-programs"]:after,
.region-primary-menu
  a[href$="/programs"]
  + .menu
  a[href$="programs/executive-education-programs"]:after,
.region-primary-menu
  a[href$="/programs"]
  + .menu
  a[href$="programs/development-executive-programs"]:after {
  margin-top: 6px;
}
.region-primary-menu a[href$="/programs/degree-programs"] + .menu {
  margin-top: 16px;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  .menu-item:hover {
  background: rgba(0, 0, 0, 0.1);
}
.region-primary-menu a[href$="/programs/degree-programs"] + .menu .context {
  display: none;
}
.region-primary-menu a[href$="/programs/degree-programs"] + .menu > .menu-item {
  position: relative;
  overflow: hidden;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:after {
  content: "";
  width: 12px;
  height: 12px;
  background: #fff;
  position: absolute;
  right: -7px;
  top: calc(50% - 6px);
  transform: rotate(45deg);
  z-index: 100;
  background: #fff4f4;
  opacity: 0;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:hover:after {
  opacity: 1;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:nth-child(1):after {
  background: #2b1f67;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:nth-child(2):after {
  background: #210250;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:nth-child(3):after {
  background: #2d3c87;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:nth-child(4):after {
  background: #230648;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:nth-child(5):after {
  background: #220b4f;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu
  > .menu-item:nth-child(6):after {
  background: #180435;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item:nth-child(1):after {
  background: #2b1f67;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item:nth-child(2):after {
  background: #1e0156;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item:nth-child(3):after {
  background: #3667ac;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item:nth-child(4):after {
  background: #292869;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item:nth-child(5):after {
  background: #220b4f;
}
.region-primary-menu
  a[href$="/programs/degree-programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item:nth-child(6):after {
  background: #180435;
}
.region-primary-menu a[href$="/about-us"] + .menu {
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: row;
}
.region-primary-menu a[href$="/about-us"] + .menu .about-aim,
.region-primary-menu a[href$="/about-us"] + .menu .aim-brand {
  flex: 1 0 50%;
  padding: 0 0 0 2px;
}
.region-primary-menu a[href$="/about-us"] + .menu .about-aim {
  border-right: 1px rgba(255, 255, 255, 0.05) solid;
}
.region-primary-menu a[href$="/alumni/triple-a"] + .menu {
  width: 320px;
}
.region-primary-menu .injector {
  border-radius: 0 4px 4px 0;
  width: 33.33%;
  height: calc(100% - 52px);
  left: calc(33.33% - 1px);
}

.region-secondary-menu {
  z-index: 120;
  margin-top: -8px;
  margin-bottom: 0;
  font: 0.85rem / 1em "DIN W01 Bold";
}
@media all and (max-width: 890px) {
  .region-secondary-menu {
    margin-top: 35px;
  }
}
.region-secondary-menu nav {
  display: flex;
}
@media all and (max-width: 890px) {
  .region-secondary-menu h2 + .menu {
    margin-left: 18.2vw;
    justify-content: space-between;
    max-width: 59.82vw;
    width: 100%;
  }
}
.region-secondary-menu h2 + .menu > .menu-item > a {
  white-space: nowrap;
  padding: 16px 17px;
  color: #7c7090;
}
@media all and (max-width: 970px) {
  .region-secondary-menu h2 + .menu > .menu-item > a {
    padding: 16px 1.75vw;
  }
}
@media all and (max-width: 890px) {
  .region-secondary-menu h2 + .menu > .menu-item > a {
    padding: 14px 10px;
  }
}
.region-secondary-menu h2 + .menu > .menu-item--active-trail > a,
.region-secondary-menu h2 + .menu > .menu-item:hover a {
  color: #ece0f3;
}
.region-secondary-menu h2 + .menu > .menu-item:first-of-type a {
  padding-left: 12px;
}
.region-secondary-menu a[href$="/research-centers"] + .menu {
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: row;
}
.region-secondary-menu a[href$="/research-centers"] + .menu .injector {
  width: 50%;
  height: 100%;
  left: 50%;
  border-radius: 0 4px 4px 0;
  overflow: hidden;
}
.region-secondary-menu a[href$="/research-centers"] + .menu .injector li {
  background: url(../images/research-centers-bg.jpg) no-repeat;
  background-size: cover;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .injector
  li:nth-child(1) {
  background-position: 0% 0;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .injector
  li:nth-child(2) {
  background-position: 25% 0;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .injector
  li:nth-child(3) {
  background-position: 50% 0;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .injector
  li:nth-child(4) {
  background-position: 75% 0;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .injector
  li:nth-child(5) {
  background-position: 100% 0;
}
.region-secondary-menu a[href$="/research-centers"] + .menu .resources,
.region-secondary-menu a[href$="/research-centers"] + .menu .research-centers {
  flex: 1 0 50%;
  padding: 0 0 0 2px;
}
.region-secondary-menu a[href$="/research-centers"] + .menu .research-centers {
  border-right: 1px rgba(255, 255, 255, 0.05) solid;
  min-height: 450px;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  .context {
  display: none;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li {
  position: relative;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:hover:after {
  opacity: 1;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:after {
  content: "";
  width: 12px;
  height: 12px;
  background: #fff;
  position: absolute;
  right: -7px;
  top: calc(50% - 6px);
  transform: rotate(45deg);
  z-index: 100;
  opacity: 0;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:nth-child(1):after {
  background: #14124e;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:nth-child(2):after {
  background: #038c94;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:nth-child(3):after {
  background: #0b408c;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:nth-child(4):after {
  background: #19a356;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .research-centers
  li:nth-child(5):after {
  background: #540787;
}
.region-secondary-menu
  a[href$="/research-centers"]
  + .menu
  .resources
  a[href$="research-centers/research-and-publications"] {
  padding-bottom: 18px;
}
.region-secondary-menu a[href$="/research-centers"] + .menu .resources:hover {
  box-shadow: none;
}
.region-secondary-menu a[href$="/faculty-and-staff"] + .menu a:after {
  display: none;
}
.region-secondary-menu a[href$="/careers-aim"] + .menu .opening:after {
  margin-right: 8px;
}

.region-breadcrumb {
  display: none;
}

/*---------------------------------------------------
    MENU INJECTIONS
----------------------------------------------------*/
.program-list {
  height: 100%;
  display: flex;
  position: relative;
  z-index: 100;
}
.program-list > .item {
  display: none;
  color: #ece0f3;
  padding: 32px;
  font: 0.95rem/1.4rem "Muli", sans-serif;
}
.program-list > .item .name {
  font-weight: normal;
  font-family: "DIN W01 Bold";
  margin-top: auto;
  margin-bottom: 24px;
  font-size: 0.85rem;
  line-height: 1.3em;
  display: block;
}
.program-list > .item .name span {
  display: block;
}
.program-list > .item .name:after {
  content: "";
  border-bottom: 2px #fff solid;
  width: 32px;
  display: block;
  margin: 16px 0 0;
  opacity: 0.5;
}
.program-list > .item .description {
  display: block;
  min-height: 160px;
}
.program-list > .item.-active {
  display: flex;
  flex-direction: column;
}

.research-centers-list {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.research-centers-list > .item {
  display: none;
  color: #fff;
  padding: 32px;
  font: 0.95rem/1.4rem "Muli", sans-serif;
  position: absolute;
  flex-direction: column;
  height: 100%;
}
.research-centers-list > .item > .name {
  margin-top: 0;
  display: block;
  font: 0.725rem / 1.1rem "Muli", sans-serif;
  font-weight: 700;
  opacity: 0.5;
}
.research-centers-list > .item > .name span {
  display: block;
}
.research-centers-list > .item > .name:after {
  content: "";
  width: 32px;
  border-top: 2px solid;
  display: block;
  margin: 16px 0;
}
.research-centers-list > .item > .preamble {
  font: 1rem / 1.4rem "Muli", sans-serif;
  display: block;
  font-weight: 700;
  min-height: 56px;
}
.research-centers-list > .item > .preamble span {
  display: block;
}
.research-centers-list > .item > .description {
  display: block;
  min-height: 160px;
}
.research-centers-list > .item.-active {
  display: flex;
  flex-direction: column;
}

/*---------------------------------------------------
    Breadcrumbs
----------------------------------------------------*/
.breadcrumb {
  margin-bottom: 0;
  font: 0.725rem / 1em "Muli", sans-serif;
  color: #b2a9c0;
  padding: 16px 14px 4px;
  font-weight: 600;
  display: flex;
  align-items: center;
  align-content: center;
  background: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  position: relative;
  z-index: 5;
}
@media all and (max-width: 890px) {
  .breadcrumb {
    padding-top: 14px;
    padding-bottom: 6px;
  }
}
.breadcrumb ol {
  display: flex;
  align-items: center;
}
.breadcrumb li {
  margin-right: 0;
  display: flex;
}
.breadcrumb li:before {
  content: none;
}
.breadcrumb li:after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  margin: auto 16px;
  border-top: 2px #988bab solid;
  border-right: 2px #988bab solid;
  transform: rotate(45deg);
}
.breadcrumb li:last-of-type:after {
  display: none;
}
@media all and (max-width: 780px) {
  .breadcrumb li:not(:last-of-type) {
    display: none;
  }
}
.breadcrumb a {
  color: #988bab;
}
@media all and (max-width: 768px) {
  .breadcrumb {
    display: block;
    overflow: hidden;
    line-height: 1.4em;
  }
  .breadcrumb li {
    font-size: 12px;
    float: left;
  }
}

@media all and (max-width: 700px) {
  #header .breadcrumb {
    display: block;
  }
}

@media all and (max-width: 780px) {
  #header .breadcrumb {
    display: none;
  }
}

@media all and (max-width: 1320px) {
  #header.-compact + .breadcrumb-on-compact {
    opacity: 1;
    transform: translate(0, 0);
    transition: opacity 100ms ease-out 1450ms,
      transform 900ms cubic-bezier(0.19, 1, 0.22, 1) 1400ms;
  }
}

.breadcrumb-on-compact {
  position: fixed;
  top: 96px;
  width: 100%;
  background: #1a1433;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  z-index: 25;
  opacity: 0;
  transform: translate(0, -100%);
}
@media all and (max-width: 1320px) {
  .breadcrumb-on-compact {
    padding: 14px 32px;
  }
}
@media all and (max-width: 780px) {
  .breadcrumb-on-compact {
    top: 80px;
    opacity: 1;
    transform: translate(0, 0);
    display: block;
  }
}
.breadcrumb-on-compact .breadcrumb {
  box-shadow: none;
  padding: 0;
}

/*---------------------------------------------------
    Compact view use for sticky navigation
----------------------------------------------------*/
#header.-compact {
  background: none;
  opacity: 0;
}
#header.-compact > .wrapped {
  min-height: 96px;
}
#header.-compact.-visible {
  transition: opacity 500ms ease-out 100ms, background 100ms ease-out 800ms;
  opacity: 1;
  background: #1f1a3a;
  background: linear-gradient(to bottom, #140e2b 0%, #1f1a3a 190%);
}
#header.-compact .aim-logo {
  height: 86px;
  display: flex;
  margin-right: 24px;
  flex-basis: 100px;
  margin-left: 0;
}
#header.-compact .aim-logo a {
  background: url("../images/logo-full@2x.png") no-repeat center;
  background-size: 94px;
  position: relative;
  margin-top: auto;
  margin-bottom: auto;
}
@media all and (max-width: 890px) {
  #header.-compact .aim-logo {
    position: relative;
    margin-left: 0;
  }
}
#header.-compact .logo-glow {
  left: -130px;
}
@media all and (max-width: 1500px) {
  #header.-compact .logo-glow {
    left: -105px;
  }
}
@media all and (max-width: 970px) {
  #header.-compact .logo-glow {
    width: 356px;
    height: 100%;
    position: absolute;
    top: 0;
    background: url("../images/logo-glow.jpg") center bottom no-repeat;
    background-size: contain;
  }
}
#header.-compact .navigation-context {
  margin-top: 0;
  margin-bottom: 0;
}
@media all and (max-width: 890px) {
  #header.-compact .navigation-context {
    padding-right: 0;
  }
}
#header.-compact .navigation {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media all and (max-width: 1320px) {
  #header.-compact .navigation {
    flex-direction: column;
    align-items: flex-start;
  }
}
#header.-compact
  .navigation[data-cq="width>960px"]
  a[href$="/about-us"]
  + .menu {
  width: 640px;
}
#header.-compact
  .navigation[data-cq="width>960px"]
  a[href$="/faculty-and-staff"]
  + .menu {
  width: 320px;
}
#header.-compact
  .navigation[data-cq="width>960px"]
  a[href$="/research-centers"]
  + .menu {
  width: 640px;
}
#header.-compact .region-primary-menu {
  box-shadow: none;
  width: 100%;
}
@media all and (max-width: 1320px) {
  #header.-compact .region-primary-menu {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  }
}
#header.-compact .region-primary-menu h2 + .menu {
  margin-right: auto;
}
#header.-compact .region-primary-menu h2 + .menu > .menu-item > a {
  padding: 12px;
  font-size: 1rem;
}
@media all and (max-width: 1320px) {
  #header.-compact .region-primary-menu h2 + .menu > .menu-item > a {
    padding: 13px 12px 14px;
    font-size: 1.125rem;
  }
}
@media all and (max-width: 890px) {
  #header.-compact .region-primary-menu h2 + .menu {
    box-shadow: none;
  }
}
#header.-compact .region-primary-menu a[href$="/programs"] + .menu {
  width: 960px;
}
@media all and (max-width: 1200px) {
  #header.-compact .region-primary-menu a[href$="/programs"] + .menu {
    width: 640px;
  }
}
@media all and (max-width: 1320px) {
  #header.-compact .region-primary-menu a[href$="/programs"] + .menu {
    width: 100%;
  }
}
#header.-compact .region-secondary-menu {
  width: 100%;
  margin: 0;
}
#header.-compact .region-secondary-menu h2 + .menu {
  margin-left: 0;
  max-width: 50vw;
}
#header.-compact .region-secondary-menu h2 + .menu > .menu-item > a {
  padding: 15px 8px;
  font-size: 0.725rem;
}
@media all and (max-width: 1320px) {
  #header.-compact .region-secondary-menu h2 + .menu > .menu-item > a {
    padding-top: 16px;
    padding-bottom: 14px;
  }
}
#header.-compact
  .region-secondary-menu
  h2
  + .menu
  > .menu-item:first-of-type
  a {
  padding-left: 12px;
}
#header.-compact .region-secondary-menu h2 + .menu > .menu-item:last-of-type a {
  padding-right: 18px;
}
#header.-compact .breadcrumb {
  padding-left: 12px;
  padding-top: 18px;
}
@media all and (max-width: 1320px) {
  #header.-compact .breadcrumb {
    display: none;
  }
}
#header.-compact .connect-to-aim {
  top: 0;
}
@media all and (max-width: 1320px) {
  #header.-compact .connect-to-aim {
    top: 0;
  }
}
@media all and (max-width: 890px) {
  #header.-compact .connect-to-aim {
    height: 46px;
  }
}
@media all and (max-width: 890px) {
  #header.-compact .social-media {
    flex-direction: row;
  }
}
#header.-compact .social-media .network {
  padding: 8px 1px 8px 8px;
}
@media all and (max-width: 890px) {
  #header.-compact .social-media .network {
    height: 100%;
    border-bottom: none;
    padding: 0 4px;
  }
}

/*---------------------------------------------------
    Mobile Layout (for smaller screens)
----------------------------------------------------*/
.mobile-menu {
  overflow-y: scroll;
  overflow-x: hidden;
  background-color: #1a1433;
  border-top: 1px rgba(255, 255, 255, 0.05) solid;
  position: fixed;
  width: 100%;
  height: calc(100% - 80px);
  opacity: 1;
  touch-action: pan-y;
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-transition: transform 600ms cubic-bezier(1, -0.02, 0.49, 0.99);
  -moz-transition: transform 600ms cubic-bezier(1, -0.02, 0.49, 0.99);
  transition: transform 600ms cubic-bezier(1, -0.02, 0.49, 0.99);
}
.mobile-menu.-visible {
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: transform 600ms cubic-bezier(1, -0.02, 0.49, 0.99);
  -moz-transition: transform 600ms cubic-bezier(1, -0.02, 0.49, 0.99);
  transition: transform 600ms cubic-bezier(1, -0.02, 0.49, 0.99);
}
.mobile-menu .wrapped {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  display: flex;
  padding: 0;
  flex-direction: column;
}
.mobile-menu .injector {
  display: none;
}
.mobile-menu .menu a {
  color: #d2ccda;
  font-family: "DIN W01 Medium";
  display: block;
}
.mobile-menu .menu a.is-active {
  color: #fff;
}
.mobile-menu .cards.-animated {
  transition: transform 400ms cubic-bezier(0.26, 0, 0.04, 0.99);
}
.mobile-menu .primary > h2 {
  display: none;
}
.mobile-menu .primary h2 + .menu > .menu-item {
  border-bottom: 1px rgba(255, 255, 255, 0.05) solid;
  position: relative;
  padding: 0 24px 0 29px;
  opacity: 0;
  transform: translate3D(0, 64px, 0);
  transition: opacity 400ms cubic-bezier(0.39, 0, 0, 1.04),
    transform 600ms cubic-bezier(0.39, 0, 0, 1.04);
}
.mobile-menu .primary h2 + .menu > .menu-item:before {
  content: "";
  position: absolute;
  width: 4px;
  height: 100%;
  top: 0;
  margin-left: -29px;
  background: #19a2d6;
  transition: height 600ms cubic-bezier(0.31, -0.02, 0, 1.04);
}
.mobile-menu .primary h2 + .menu > .menu-item > a {
  box-shadow: none;
  color: #d2ccda;
  font-family: "DIN W01 Medium";
  padding: 2vw 0 3vw;
  display: block;
  position: relative;
  font-size: 3.58974vw;
}
@media all and (max-width: 520px) {
  .mobile-menu .primary h2 + .menu > .menu-item > a {
    font-size: 1.171rem;
    padding: 10px 0 16px;
  }
}
.mobile-menu .primary h2 + .menu > .menu-item > a .context {
  display: none;
}
.mobile-menu .primary h2 + .menu > .menu-item:first-of-type > a {
  padding-top: 24px;
}
.mobile-menu .primary h2 + .menu > .menu-item:first-of-type > a:after {
  top: calc((50% - 8px) + 6px);
}
.mobile-menu .primary h2 + .menu > .menu-item:last-of-type > a {
  box-shadow: none;
}
.mobile-menu .primary h2 + .menu > .menu-item.menu-item--expanded > a:after {
  content: "";
  width: 16px;
  height: 16px;
  border-top: #fff 4px solid;
  border-right: #fff 4px solid;
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 8px);
  transform: scale(0.5) rotate(135deg);
  transition: transform 600ms cubic-bezier(0.68, -0.01, 0.09, 0.99),
    opacity 100ms ease-in-out;
}
.mobile-menu .primary h2 + .menu > .menu-item.menu-item--active-trail > a {
  color: #fff;
}
.mobile-menu .primary h2 + .menu > .menu-item.-view {
  opacity: 1;
  transform: translate3D(0, 0, 0);
}
.mobile-menu .primary h2 + .menu > .menu-item.-off:before {
  height: 0;
}
.mobile-menu .primary h2 + .menu > .menu-item.-off > a:after {
  opacity: 0.5;
  transform: scale(0.5) rotate(-45deg);
  transition: transform 600ms cubic-bezier(0.68, -0.01, 0.09, 0.99),
    opacity 100ms ease-in-out;
}
.mobile-menu .primary h2 + .menu > .menu-item.-off > .menu {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.mobile-menu .primary h2 + .menu > .menu-item > .menu {
  margin-bottom: 8px;
}
.mobile-menu .primary h2 + .menu > .menu-item > .menu > .menu-item {
  padding-top: 1.2vw;
  padding-bottom: 1.2vw;
  line-height: 1.3rem;
  font-size: 2.37179vw;
}
@media all and (max-width: 640px) {
  .mobile-menu .primary h2 + .menu > .menu-item > .menu > .menu-item {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    font-size: 1rem;
  }
}
@media all and (max-width: 640px) {
  .mobile-menu .primary h2 + .menu > .menu-item > .menu > .menu-item {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  > .menu-item
  > .menu
  > .menu-item {
  padding-top: 1.2vw;
  padding-bottom: 1.2vw;
  line-height: 1.3rem;
  font-size: 2.37179vw;
}
@media all and (max-width: 640px) {
  .mobile-menu
    .primary
    h2
    + .menu
    > .menu-item
    > .menu
    > .menu-item
    > .menu
    > .menu-item {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    font-size: 1rem;
  }
}
.mobile-menu .primary a[href$="/programs"] + .menu {
  flex-wrap: wrap;
  display: flex;
}
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/degree-programs"],
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/executive-education-programs"],
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/development-executive-programs"] {
  font-size: 1.89744vw;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  color: #c0b5d4;
}
@media all and (max-width: 640px) {
  .mobile-menu
    .primary
    a[href$="/programs"]
    + .menu
    a[href$="programs/degree-programs"],
  .mobile-menu
    .primary
    a[href$="/programs"]
    + .menu
    a[href$="programs/executive-education-programs"],
  .mobile-menu
    .primary
    a[href$="/programs"]
    + .menu
    a[href$="programs/development-executive-programs"] {
    font-size: 0.725rem;
  }
}
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/degree-programs"]
  > .context,
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/executive-education-programs"]
  > .context,
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/development-executive-programs"]
  > .context {
  margin-bottom: 24px;
}
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:nth-child(3),
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:nth-child(4) {
  width: 50%;
  display: flex;
  flex-direction: column;
}
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:nth-child(2),
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:last-of-type {
  padding-right: 0;
  width: 100%;
}
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item {
  margin-bottom: 16px;
  padding-bottom: 24px;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.05);
}
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:nth-child(3) {
  padding-right: 16px;
}
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:nth-child(4) {
  padding-left: 16px;
}
.mobile-menu .primary a[href$="/programs"] + .menu > .menu-item:last-of-type {
  box-shadow: none;
}
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/executive-education-programs"]
  + .menu,
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu
  a[href$="programs/development-executive-programs"]
  + .menu {
  min-height: 112px;
  margin-top: auto;
}
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item
  a[href$="programs/executive-education-programs"]
  + .menu,
.mobile-menu
  .primary
  a[href$="/programs"]
  + .menu[data-cq="width<520px"]
  > .menu-item
  a[href$="programs/development-executive-programs"]
  + .menu {
  padding-left: 16px;
  margin-top: 0;
  min-height: 0;
}
.mobile-menu .primary a[href$="programs/degree-programs"] + .menu {
  padding-left: 0;
  width: calc(85vw * 5);
  display: flex;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card {
  min-height: 420px;
  margin: 0 16px 8px 0;
  padding: 6vw;
  border-radius: 4px;
  flex-basis: 85vw;
  display: flex;
  flex-direction: column;
  background-size: cover;
  background-position: center right;
  transform: translateZ(0);
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  * {
  transform: translateZ(0);
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  > a {
  line-height: 1.4em;
  color: #4a4569;
  margin-top: auto;
  max-width: 320px;
  display: flex;
  flex-direction: column;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  > a
  .head-link {
  display: block;
  font-weight: normal;
  line-height: 1.4em;
  font-size: 2.82051vw;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  > a
  .head-link
  span {
  display: block;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  .context {
  font-size: 2.30769vw;
  display: block;
  padding-top: 16px;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card[data-cq="width<=590px"]
  > a
  .head-link {
  font-size: 1.125rem;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card[data-cq="width<=590px"]
  .context {
  font-size: 1rem;
  line-height: 1.45em;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card[data-cq="width<=410px"]
  > a
  .head-link {
  font-size: 1.125rem;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card[data-cq="width<=410px"]
  .context {
  line-height: 1.45em;
  font-size: 0.875rem;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  a {
  color: #fff;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  > a {
  margin-top: auto;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  > a
  .head-link {
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card
  .context {
  color: rgba(255, 255, 255, 0.6);
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card:nth-child(1) {
  background: url("../images/program-mba-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card:nth-child(2) {
  background: url("../images/program-emba-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card:nth-child(3) {
  background: url("../images/program-mib-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card:nth-child(4) {
  background: url("../images/program-msds-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card:nth-child(5) {
  background: url("../images/program-me-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  h2
  + .menu
  > .menu-item
  > .menu
  a[href$="programs/degree-programs"]
  + .menu
  > .menu-item.card:nth-child(6) {
  background: url("../images/program-mdm-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu .primary a[href$="about-us"] + .menu {
  display: flex;
}
.mobile-menu .primary a[href$="about-us"] + .menu > .menu-item {
  width: 50%;
}
.mobile-menu .primary a[href$="about-us"] + .menu > .menu-item:nth-child(1) {
  padding-right: 16px;
}
.mobile-menu .primary a[href$="about-us"] + .menu > .menu-item:nth-child(2) {
  padding-left: 16px;
}
.mobile-menu .primary a[href$="about-us"] + .menu[data-cq="width<520px"] {
  flex-direction: column;
}
.mobile-menu
  .primary
  a[href$="about-us"]
  + .menu[data-cq="width<520px"]
  > .menu-item {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.mobile-menu .primary a[href$="about-us"] + .menu .about-aim:before,
.mobile-menu .primary a[href$="about-us"] + .menu .aim-brand:before {
  font-size: 1.89744vw;
  margin: 16px 0 16px;
  opacity: 0.5;
  display: block;
  text-transform: uppercase;
  font-family: "DIN W01 Bold";
  color: #c0b5d4;
}
@media all and (max-width: 640px) {
  .mobile-menu .primary a[href$="about-us"] + .menu .about-aim:before,
  .mobile-menu .primary a[href$="about-us"] + .menu .aim-brand:before {
    font-size: 0.725rem;
  }
}
.mobile-menu .primary a[href$="/schools"] + .menu {
  padding-left: 0;
  width: calc(85vw * 3);
  display: flex;
  margin-top: 16px;
}
.mobile-menu .primary a[href$="/schools"] + .menu > .menu-item.card {
  min-height: 420px;
  margin: 0 16px 8px 0;
  padding: 6vw;
  border-radius: 4px;
  flex-basis: 85vw;
  display: flex;
  flex-direction: column;
  background-size: cover;
  background-position: center right;
  transform: translateZ(0);
}
.mobile-menu .primary a[href$="/schools"] + .menu > .menu-item.card * {
  transform: translateZ(0);
}
.mobile-menu .primary a[href$="/schools"] + .menu > .menu-item.card > a {
  line-height: 1.4em;
  color: #4a4569;
  margin-top: auto;
  max-width: 320px;
  display: flex;
  flex-direction: column;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card
  > a
  .head-link {
  display: block;
  font-weight: normal;
  line-height: 1.4em;
  font-size: 2.82051vw;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card
  > a
  .head-link
  span {
  display: block;
}
.mobile-menu .primary a[href$="/schools"] + .menu > .menu-item.card .context {
  font-size: 2.30769vw;
  display: block;
  padding-top: 16px;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card[data-cq="width<=590px"]
  > a
  .head-link {
  font-size: 1.125rem;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card[data-cq="width<=590px"]
  .context {
  font-size: 1rem;
  line-height: 1.45em;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card[data-cq="width<=410px"]
  > a
  .head-link {
  font-size: 1.125rem;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card[data-cq="width<=410px"]
  .context {
  line-height: 1.45em;
  font-size: 0.875rem;
}
.mobile-menu .primary a[href$="/schools"] + .menu > .menu-item.card > a {
  color: #fff;
  margin-top: auto;
}
.mobile-menu .primary a[href$="/schools"] + .menu > .menu-item.card .context {
  color: rgba(255, 255, 255, 0.6);
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(1) {
  background: url("../images/school-wsycip-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(1)
  .head-link {
  display: flex;
  flex-direction: column-reverse;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(2) {
  background: url("../images/school-szsdm-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(2)
  .head-link {
  display: flex;
  flex-direction: column-reverse;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(3) {
  background: url("../images/school-site-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(3)
  .head-link {
  display: flex;
  flex-direction: column-reverse;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(4) {
  background: url("../images/school-execed-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(4)
  .head-link {
  display: flex;
  flex-direction: column-reverse;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(4)
  > a {
  color: #1f1a3a;
}
.mobile-menu
  .primary
  a[href$="/schools"]
  + .menu
  > .menu-item.card:nth-child(4)
  .context {
  color: rgba(31, 26, 58, 0.6);
}
.mobile-menu .primary a[href$="/careers-aim"] + .menu {
  display: flex;
  flex-wrap: wrap;
}
.mobile-menu .primary a[href$="/careers-aim"] + .menu > .menu-item {
  width: 50%;
  display: flex;
  flex-direction: column;
}
.mobile-menu .primary a[href$="/careers-aim"] + .menu > .menu-item .opening {
  margin-top: auto;
  margin-left: 0;
}
.mobile-menu
  .primary
  a[href$="/careers-aim"]
  + .menu
  > .menu-item:nth-child(1) {
  padding-right: 16px;
}
.mobile-menu
  .primary
  a[href$="/careers-aim"]
  + .menu
  > .menu-item:nth-child(2) {
  padding-left: 16px;
}
.mobile-menu
  .primary
  a[href$="/careers-aim"]
  + .menu
  > .menu-item:last-of-type {
  width: 100%;
  border-top: 1px rgba(255, 255, 255, 0.05) solid;
}
.mobile-menu
  .primary
  a[href$="/careers-aim"]
  + .menu[data-cq="width<520px"]
  > .menu-item {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  flex-direction: column;
  border-top: 0;
}
.mobile-menu .research-centers {
  margin-bottom: 16px;
}
.mobile-menu .research-centers > .menu {
  padding-left: 0;
  width: calc(85vw * 5);
  display: flex;
  margin-top: 16px;
}
.mobile-menu .research-centers > .menu > .menu-item.card {
  min-height: 420px;
  margin: 0 16px 8px 0;
  padding: 6vw;
  border-radius: 4px;
  flex-basis: 85vw;
  display: flex;
  flex-direction: column;
  background-size: cover;
  background-position: center right;
  transform: translateZ(0);
}
.mobile-menu .research-centers > .menu > .menu-item.card * {
  transform: translateZ(0);
}
.mobile-menu .research-centers > .menu > .menu-item.card > a {
  line-height: 1.4em;
  color: #4a4569;
  margin-top: auto;
  max-width: 320px;
  display: flex;
  flex-direction: column;
}
.mobile-menu .research-centers > .menu > .menu-item.card > a .head-link {
  display: block;
  font-weight: normal;
  line-height: 1.4em;
  font-size: 2.82051vw;
}
.mobile-menu .research-centers > .menu > .menu-item.card > a .head-link span {
  display: block;
}
.mobile-menu .research-centers > .menu > .menu-item.card .context {
  font-size: 2.30769vw;
  display: block;
  padding-top: 16px;
}
.mobile-menu
  .research-centers
  > .menu
  > .menu-item.card[data-cq="width<=590px"]
  > a
  .head-link {
  font-size: 1.125rem;
}
.mobile-menu
  .research-centers
  > .menu
  > .menu-item.card[data-cq="width<=590px"]
  .context {
  font-size: 1rem;
  line-height: 1.45em;
}
.mobile-menu
  .research-centers
  > .menu
  > .menu-item.card[data-cq="width<=410px"]
  > a
  .head-link {
  font-size: 1.125rem;
}
.mobile-menu
  .research-centers
  > .menu
  > .menu-item.card[data-cq="width<=410px"]
  .context {
  line-height: 1.45em;
  font-size: 0.875rem;
}
.mobile-menu .research-centers > .menu > .menu-item.card > a {
  color: #ffffff;
  margin-top: 16px;
}
.mobile-menu .research-centers > .menu > .menu-item.card .context {
  color: rgba(255, 255, 255, 0.6);
}
.mobile-menu .research-centers > .menu > .menu-item.card:nth-child(1) {
  background: url("../images/rc-rsn-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu .research-centers > .menu > .menu-item.card:nth-child(2) {
  background: url("../images/rc-rvd-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu .research-centers > .menu > .menu-item.card:nth-child(3) {
  background: url("../images/rc-te-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu .research-centers > .menu > .menu-item.card:nth-child(4) {
  background: url("../images/rc-gbf-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu .research-centers > .menu > .menu-item.card:nth-child(5) {
  background: url("../images/rc-at-large@2x.jpg") no-repeat center right;
  background-size: cover;
}
.mobile-menu .card-page {
  position: absolute;
  background: #eaeaea;
}
.mobile-menu .context {
  font-size: 0.925rem;
  max-width: 580px;
  margin-top: 8px;
  margin-bottom: 16px;
  padding-right: 16px;
}

#header-components.-fixed.safari-browser #header.-fixed {
  background-color: #1f1a3a;
}

#header-components.-fixed.safari-browser #navigation-filler {
  opacity: 0;
}

.mobile-menu
  .degree-programs-menu
  + .menu.cards
  .menu-item.card
  > a
  > .context {
  display: none !important;
}

.region-primary-menu > nav > .menu > .menu-item:nth-child(5) > a > em.context {
  display: none;
}

/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*---------------------------------------------------
    Font Variables
----------------------------------------------------*/
/*Font Weights*/
/*---------------------------------------------------
    Font Stack
----------------------------------------------------*/
/*---------------------------------------------------
    BREAKPOINTS
----------------------------------------------------*/
/*---------------------------------------------------
	AIM Give Variables
----------------------------------------------------*/
/*
    RESPONSIVE BREAKPOINTS
*/
/* ELEMENT QUERY */
#footer .degree h2 + .menu > .menu-item:nth-child(2) > a,
#footer .sub-menu .menu > .menu-item > a {
  font: 0.85rem / 1.2em "Muli", sans-serif;
  display: block;
  font-weight: 700;
  color: #a39bb1;
  text-transform: none;
  margin-bottom: 12px;
}
#footer .degree h2 + .menu > .menu-item:nth-child(2) > a:hover,
#footer .sub-menu .menu > .menu-item > a:hover {
  color: #d2ccda;
}

#footer-filler {
  width: 100%;
  position: absolute;
}

.scroll-top {
  position: fixed;
  width: 50px;
  height: 50px;
  background-color: #4a4569;
  bottom: 65px;
  display: none;
  right: 15px;
  border: 0;
  border-radius: 50%;
  z-index: 20;
  -webkit-transform: translateX(90px);
  -moz-transform: translateX(90px);
  transform: translateX(90px);
  -webkit-transition: transform 0.3s linear;
  -moz-transition: transform 0.3s linear;
  transition: transform 0.3s linear;
}
.scroll-top.show {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: transform 0.3s linear;
  -moz-transition: transform 0.3s linear;
  transition: transform 0.3s linear;
}
.scroll-top:after {
  content: "";
  position: absolute;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  width: 10px;
  height: 10px;
  margin: auto;
  top: 5px;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media all and (max-width: 768px) {
  .scroll-top {
    display: block;
  }
}

#footer .wrapper {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  padding: 164px 30px 0 30px;
  box-sizing: content-box;
}
@media all and (max-width: 780px) {
  #footer .wrapper {
    padding-top: 20vw;
  }
}

#footer .footer-head {
  text-transform: uppercase;
  font: 1.75rem / 1.4em "DIN W01 Bold";
  color: #b4dbf0;
  display: block;
  padding-right: 32px;
  margin-bottom: 8px;
}
@media all and (max-width: 640px) {
  #footer .footer-head {
    font-size: 1.5rem;
    margin-bottom: 0;
  }
}
@media all and (max-width: 480px) {
  #footer .footer-head {
    font-size: 1.25rem;
  }
}

#footer .breadcrumb {
  padding: 16px 0 24px;
  border-bottom: 1px rgba(255, 255, 255, 0.05) solid;
  background-color: transparent;
  box-shadow: none;
  font: 700 0.725rem / 1.625em "Muli", sans-serif;
}
@media all and (max-width: 780px) {
  #footer .breadcrumb {
    padding-bottom: 16px;
  }
}

#footer .nav-wrap {
  border-bottom: 1px rgba(164, 155, 177, 0.1) solid;
  position: relative;
}
@media all and (max-width: 780px) {
  #footer .nav-wrap {
    display: none;
  }
}
#footer .nav-wrap > * {
  padding: 32px 72px 14px 0;
  border-top: 1px rgba(164, 155, 177, 0.1) solid;
}

#footer .social-media {
  position: absolute;
  padding: 32px 0;
  top: 270px;
  right: 16px;
  height: 192px;
}
@media all and (max-width: 780px) {
  #footer .social-media {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }
}
#footer .social-media .icon {
  width: 24px;
  height: 24px;
  display: block;
  padding: 0 16px;
  margin-bottom: 40px;
}
#footer .social-media .fb {
  background: url("../images/fb.png") no-repeat center;
  background-size: 24px;
}
#footer .social-media .in {
  background: url("../images/in.png") no-repeat center;
  background-size: 32px;
}

#footer .menu-item {
  padding: 0;
}

#footer .menu-item a {
  font: 0.85rem / 1.5em "Muli", sans-serif;
  display: block;
  font-weight: 600;
  color: #7c7090;
  text-transform: none;
  transition: color 400ms ease-out;
}
#footer .menu-item a:hover {
  color: #d2ccda;
}
#footer .menu-item a span {
  display: block;
}

#footer .sub-menu .menu > .menu-item:last-of-type > a {
  margin-bottom: 0;
}

#footer h2 + .menu > .menu-item > a {
  font: 1.125rem / 1em "DIN W01 Bold";
  text-transform: uppercase;
  color: #d8d4de;
  display: block;
  margin-bottom: 16px;
}
#footer h2 + .menu > .menu-item > a:hover {
  color: #d2ccda;
}

#footer a[href$="/research-centers"] + .menu,
#footer a[href$="/faculty-and-staff"] + .menu,
#footer a[href$="/programs/degree-programs"] + .menu,
#footer a[href$="/schools"] + .menu {
  display: flex;
  flex-wrap: wrap;
}
#footer a[href$="/research-centers"] + .menu > .menu-item,
#footer a[href$="/faculty-and-staff"] + .menu > .menu-item,
#footer a[href$="/programs/degree-programs"] + .menu > .menu-item,
#footer a[href$="/schools"] + .menu > .menu-item {
  flex-basis: 33.33%;
  padding-right: 24px;
  margin-bottom: 16px;
}
@media all and (max-width: 1024px) {
  #footer a[href$="/research-centers"] + .menu > .menu-item,
  #footer a[href$="/faculty-and-staff"] + .menu > .menu-item,
  #footer a[href$="/programs/degree-programs"] + .menu > .menu-item,
  #footer a[href$="/schools"] + .menu > .menu-item {
    flex-basis: 50%;
  }
}

#footer a[href$="programs/degree-programs"] + .menu {
  margin-top: 12px;
}

#footer a[href$="/schools"] + .menu {
  flex-direction: column;
}

#footer a[href$="/about-us"] + .menu {
  display: flex;
}
#footer a[href$="/about-us"] + .menu > .menu-item {
  margin-right: 24px;
}

#footer a[href$="/schools"] + .menu {
  display: block;
}
#footer a[href$="/schools"] + .menu li {
  display: block;
}

#footer .schools-faculty-menu,
#footer .research-centers-menu,
#footer .programs-menu {
  display: flex;
}

#footer .schools,
#footer .publications,
#footer .non-degree {
  flex-basis: 260px;
  margin-top: 34px;
  flex-shrink: 0;
}

#footer .schools {
  margin-top: 0;
}

@media all and (max-width: 1024px) {
  #footer .research-centers-menu {
    flex-direction: row;
  }
}

#footer .about {
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px rgba(164, 155, 177, 0.1) solid;
}

#footer .drupal-footer h2 + .menu {
  display: flex;
}
#footer .drupal-footer h2 + .menu > .menu-item {
  margin-right: 24px;
}

#footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  color: #8f89a7;
  padding: 16px 0 0;
}
#footer .footer-bottom p {
  font: 700 0.725rem / 1.625em "Muli", sans-serif;
}
#footer .footer-bottom span {
  display: inline-block;
  margin-right: 4px;
}
@media all and (max-width: 480px) {
  #footer .footer-bottom span {
    display: block;
  }
}
@media all and (max-width: 640px) {
  #footer .footer-bottom span:last-of-type {
    display: block;
  }
}

.mobile-footer {
  display: none;
}
@media all and (max-width: 780px) {
  .mobile-footer {
    display: block;
  }
}
.mobile-footer .menu {
  display: flex;
  padding: 16px 0 0;
}
@media all and (max-width: 640px) {
  .mobile-footer .menu {
    flex-wrap: wrap;
  }
}
.mobile-footer .menu-item {
  margin-right: 24px;
}
@media all and (max-width: 640px) {
  .mobile-footer .menu-item {
    flex-basis: 50%;
    margin-right: 0;
  }
}
@media all and (max-width: 480px) {
  .mobile-footer .menu-item {
    flex-basis: 100%;
  }
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

@-webkit-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
}

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    transform: scale(0.3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg)
      scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg)
      scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg)
      scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg)
      scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg)
      scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg)
      scale(0.95);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  100% {
    -webkit-transform: translateY(700px);
    -ms-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    -ms-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

/* Page Template */
#cso-events-landing {
  display: none;
}

.path-news .main .banner-image {
  flex: 0;
  width: 100%;
}

.path-news .main .content {
  flex: 1;
  padding-right: 50px;
}
.path-news .main .content p {
  font-family: "PT Serif", serif;
}

.path-news .content-container .pager .pager__items li {
  font: 1em/1.625em "DIN W01 Bold";
  display: inline-block;
}
.path-news .content-container .pager .pager__items li a {
  color: #4a4569;
  display: inline-block;
}
.path-news .content-container .pager .pager__items li.is-active a {
  color: #fff;
  background-color: #4a4569;
  padding: 5px 13px;
  border-radius: 50%;
}

.path-news .view-content {
  display: flex;
  flex-wrap: wrap;
}
.path-news .view-content .article {
  width: calc(100% / 3);
  padding: 0 32px 45px;
  margin-bottom: 64px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.path-news .view-content .article .thumbnail {
  position: relative;
  max-height: 195px;
  margin-bottom: 30px;
  overflow: hidden;
}
.path-news .view-content .article .thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}
.path-news .view-content .article .date {
  font: 0.825em/1.2em "DIN W01 Bold";
  text-transform: uppercase;
  opacity: 0.4;
  margin-bottom: 8px;
}
.path-news .view-content .article .title {
  font: 1.2em/1.5em "DIN W01 Bold";
  color: #4a4569;
  margin-bottom: 16px;
}
.path-news .view-content .article .title a {
  color: #4a4569;
}
.path-news .view-content .article p {
  font: 0.85em/1.618em "PT Serif", serif;
  opacity: 0.6;
  margin-bottom: 32px;
}
.path-news .view-content .article .btn.-readmore {
  position: absolute;
  bottom: 0;
  font: 0.85em/1.625em "DIN W01 Bold";
  text-transform: uppercase;
  color: #4a4569;
  margin: auto 0 0;
  border: 0;
  padding: 0;
}
.path-news .view-content .article .btn.-readmore:hover {
  background-color: transparent;
  color: #4a4569;
}
@media all and (max-width: 1024px) {
  .path-news .view-content .article {
    width: calc(100% / 2);
  }
  .path-news .view-content .article:nth-child(odd) {
    padding: 0 10px 64px 0;
  }
  .path-news .view-content .article:nth-child(even) {
    padding: 0 0 64px 10px;
  }
}
@media all and (max-width: 768px) {
  .path-news .view-content .article .thumbnail {
    max-height: 155px;
  }
  .path-news .view-content .article:nth-child(odd) {
    padding: 0 10px 64px 0;
  }
  .path-news .view-content .article:nth-child(even) {
    padding: 0 0 64px 10px;
  }
}
@media all and (max-width: 640px) {
  .path-news .view-content .article {
    width: 100%;
  }
  .path-news .view-content .article .thumbnail {
    max-height: initial;
  }
  .path-news .view-content .article:nth-child(odd),
  .path-news .view-content .article:nth-child(even) {
    padding: 0 0 64px 0;
  }
  .path-news .view-content .article .btn.-readmore {
    position: static;
  }
}
@media all and (max-width: 480px) {
  .path-news .view-content .article {
    width: 100%;
  }
}

.field--name-field-article-type {
  display: none !important;
}


.path-admissions .application-form { 
  margin-bottom: 64px;
}

.path-admissions .apply-block {
  padding: 16px 0;
  display: flex;
  border-bottom: 1px rgba(0, 0, 0, 0.05) solid;
  font: 1.2em/1.5em "DIN W01 Bold";
  color: #4a4569;
}

.path-admissions .apply-block a {
  margin-left: auto;
  align-self: baseline;
  color: #00a5d1;
  display: block;
}

/* Loan Calculator Design */
.hide {
  display: none !important
}
.loan-calculator-form{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* padding: 12px; */
  width: 100%;

}
.loan-calculator-container {
  border: 1px solid rgb(191, 191, 191);
  max-width: 900px;
  width: 100%;
  margin-bottom: 12px;
  background-color: #28213E;
}

.loan-calculator-container img{
  width: 150px;
}

.loan-calculator-container h2{
  color: black;
  font-size: 22px;
  margin: 0;
  margin-top: 20px !important;
  margin-bottom: 12px;
  background-color: white;
  border-radius: 4px;
  padding: 12px;
  text-align: center;
  width: 250px;
  margin-bottom: 24px !important;
}


.loan-calculator-input-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.loan-calculator-input-container input {
  width: 200px;
  padding: 8px;
  border: 1px solid rgb(225, 225, 225);
}

.loan-calculator-input-container input:read-only {
  width: 200px;
  padding: 8px;
  border: 1px solid rgb(225, 225, 225);
  background-color: rgb(174, 168, 255);
}

.loan-calculator-input-container input[type="number"] {
  text-align: right;
}

.loan-calculator-container.table-container {
  width: 100%;
  padding: 0;
  border-width: 0 !important;
}

.loan-calculator-container.table-container table {
  width: 100%;
  border-collapse: collapse;
}

.loan-calculator-container.table-container table,
.loan-calculator-container.table-container th,
.loan-calculator-container.table-container td {
  border: 1px solid rgb(191, 191, 191);
}

.loan-calculator-container.table-container th,
.loan-calculator-container.table-container td {
  padding: 8px;
}

.loan-calculator-container .skew-input-container{
  position: relative;
}
.loan-calculator-container .skew-input-background{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: white;
  transform: skew(-15deg);
  border-radius: 4px;
  z-index: 0;
}
.loan-calculator-container .skew-input-content{
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 8px
}
.loan-calculator-container .loan-calculator-form-container{
  display: flex;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px
}
.loan-calculator-container .loan-calculator-form-control{
  width: 100%;
  max-width: 250px !important;
}
.loan-calculator-container .loan-calculator-form-control label{
  color: white;
  font-size: 13px;
  font-weight: bold;
  margin-left: 16px;
  display: block;
  margin-bottom: 4px;
  margin-top: 8px;
}
.loan-calculator-container .loan-calculator-form-control .skew-input-container input, select{
  border: none !important;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  width: 200px
}
.loan-calculator-container .loan-calculator-form-control .skew-input-container input:focus, select:focus{
  border: none !important;
  outline: none !important;
  text-align: center;
}
.loan-calculator-container .loan-calculator-form-control .skew-input-container input::placeholder{
  color: black;
}
.loan-calculator-container .loan-calculator-go-button{
  margin: 16px auto;
  display: block;
  background-color: #564886;
  border: 2px solid white;
  border-radius: 50px;
  color: white;
  padding: 12px;
  width: 150px;
  font-size: large;
  font-weight: bold;
}

.loan-calculator-container #form-container{
  margin-bottom: 100px;
  padding: 20px

}

.loan-calculator-container .result-header{
  display: flex;
  background-color: white;
  align-items: center;
}
.loan-calculator-container img{
  width: 110px;
}

.loan-calculator-container .result-header h3{
  width: 180px;
  font-size: 15px;
  margin: 12px;
  color: #3c3659;
}

.loan-calculator-container .result-header h1{
  font-size: 36px;
  margin: 12px;
  color: #3c3659;
  text-align: center;
  flex: 1;
}

.loan-calculator-container .loan-calculator-result-container{
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
  margin-top: 80px;
}

.loan-calculator-container .loan-calculator-result-container table{
  color: white;
  width: 100%
}

.loan-calculator-container .loan-calculator-result-container table th{
  text-align: left !important;
  font-size: 16px;
  font-weight: normal;
  padding: 12px 0;
}

.loan-calculator-container .loan-calculator-result-container table td{
  text-align: right !important;
  font-size: 16px;
  font-weight: normal;
  padding: 12px 0;
}
.loan-calculator-result-container{
  margin-bottom: 100px !important;
}