body {
  font-weight: normal;
}

.img-responsive {
  width: 100%;
  height: auto;
}

/**************************************************
  #### OVERRIDES
**************************************************/

.card-game { min-height: auto; }

.slick-initialized .slick-slide {
  display: flex !important;
}

.slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.slick-track {
  display: -webkit-flex; display: -ms-flexbox; display: flex;
}
.slick-prev {
  left: -20px;
}
.slick-next {
  right: -20px;
}

/**************************************************
  #### Material Icons
**************************************************/

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url('../../fonts/material-icons/MaterialIcons-Regular.eot'); /* For IE6-8 */
  src: url('../../fonts/material-icons/MaterialIcons-Regular.woff2') format('woff2'),
       url('../../fonts/material-icons/MaterialIcons-Regular.woff') format('woff'),
       url('../../fonts/material-icons/MaterialIcons-Regular.ttf') format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  font-size: 3.2em;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  -webkit-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
}

/**************************************************
  #### BG colors
**************************************************/

.bg-light-grey { background-color: #F5F5F5 !important; }
.bg-lg { background-color: #F5F5F5 !important; }
.bg-mg { background-color: #EDEDED !important; }
.bg-blk { background-color: #000000 !important; }


.as-c { align-self: center; }
.as-e { align-self: flex-end; }

/**************************************************
  #### HEADLINES
**************************************************/

h1, h2 {
  font-weight: 700;
  line-height: 1.1em;
}

h1 {
  font-size: 4em;
}

h2 {
  font-size: 2.9em;
  color: #383838;
}

h5 {
  font-size: 1.7em;
  font-weight: 500;
  line-height: 1.2em;
}

h3, h5 {
  color: #4A4A4A;
}

/* Responsive h1 */

@media only screen and (min-width: 767px) {
  h1 {
    font-size: 6em;
  }
  h2 {
    font-size: 3.4em;
  }
}


@media only screen and (min-width: 767px) {
  .hide-on-mobile {
    display: none;
  }
}

/**************************************************
  #### NESTED LISTS
**************************************************/

ul li ul {
  margin-bottom: 0;
}

ul li ul li {
  font-size: 1.125rem;
}

/**************************************************
  #### CONTENT ALIGNMENT
**************************************************/
.flex-center-v {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/**************************************************
  #### IMAGE SECTIONS (image left or right)
**************************************************/
.image-section {
  padding-top: 20px;
  padding-bottom: 20px;
}

/**************************************************
  #### WEIRD FIXES
**************************************************/

@media only screen and (max-width: 767px) {
  .hero + .main-content {
    height: 10px;
  }
}

/*
 * Force hardware acceleration.
 *
 * This will prevent Chrome from flickering when using
 * YouTube iFrame embed as a child of a smaller div with overflow hidden
 * e.g.: <div class="force-3d"
 *            style="height:500px; overflow: hidden">
 *           <iframe height="1000">..
 *
 * As seen here: https://davidwalsh.name/translate3d
 */
.force-3d {
  transform: translate3d(0, 0, 0);
}

/**************************************************
  #### LOGO WRAPPER
**************************************************/

.flex-wrap-logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.flex-wrap-logos .flex-wrap-logos-item {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100%;

    opacity: 0.5;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

.flex-wrap-logos .flex-wrap-logos-item:hover {
    opacity: 1;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

@media only screen and (max-width: 767px) {
    .flex-wrap-logos .flex-wrap-logos-item {
        padding: 20px;
        border: 1px solid #ececec;
    }
    .flex-wrap-logos .flex-wrap-logos-item img {
        max-width: 60%;
        max-height: 50px;
    }
}

@media only screen and (min-width: 767px) {
    .flex-wrap-logos .flex-wrap-logos-item {
        width: 20%;
        padding: 40px;
    }
    .flex-wrap-logos .flex-wrap-logos-item {
        border: 1px solid #ececec;
    }
    .flex-wrap-logos .flex-wrap-logos-item {
        border-right: none;
    }
    .flex-wrap-logos .flex-wrap-logos-item:last-child {
        border-right: 1px solid #ececec;
    }
    .flex-wrap-logos .flex-wrap-logos-item img {
        max-width: 90%;
        max-height: 110px;
    }
}

/**************************************************
  #### PLATFORM ICONS
**************************************************/

div.platform-icon {
  width: 70px;
  height: 70px;
  padding: 10px;
  margin: 10px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 20px rgba(34, 44, 55, 0.15);
  box-shadow: 0 0 20px rgba(34, 44, 55, 0.15);
}

@media only screen and (max-width: 767px) {
  div.platform-icon {
    width: 60px;
    height: 60px;
    padding: 5px 10px 0px 5px;
  }
  div.platform-icon a, div.platform-icon div.logo {
    background-color: transparent;
    width: 40px;
    height: 40px;
  }
}

/**************************************************
  #### INLINE LINKS
**************************************************/

.inline-links {
  padding-top: 40px;
}

.inline-links a {
  font-size: 1.125em;
  font-weight: 600;
  display: inline-block;
}

.inline-links a+a {
  margin-left: 5%;
}

@media only screen and (max-width: 767px) {
  .inline-links {
    padding-top: 30px;
    padding-bottom: 20px;
  }
  .inline-links a {
    display: block;
    margin-bottom: 10px;
  }
  .inline-links a:last-child {
    margin-bottom: 0px;
  }
  .inline-links a+a {
    margin-left: 0;
  }
}


/**************************************************
  #### VERTICAL TABS
**************************************************/

.vtabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.vtabs-menu {
  width: 33.3333%;
  padding: 70px 0 80px 0;
}

.vtabs-menu-list, .vtabs-menu-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vtabs-menu-list li:before {
  content: '';
}

.vtabs-menu-list li {
  line-height: 40px;
  font-weight: 600;
  color: #00bcd4;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  word-break: break-word;
}

.vtabs-menu-list li.tab-active {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  font-weight: normal;
  color: inherit;
  border-right: 3px solid #00BCD4;
  display: block;
}

.vtabs-content {
  width: 66.6667%;
  border-left: 1px solid #DCDCDC;
  padding: 80px 80px 40px 100px;
}

.vtabs-content p {
  margin-bottom: 2em;
}

.vtabs-content > div {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  display: none;
  opacity: 0;
}

.vtabs-content > div.tab-current {
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  display: block;
  opacity: 1;
}

.vtabs-content h2 {
  margin-bottom: 60px;
}

@media only screen and (max-width: 767px) {
  .vtabs-content > div {
    display: block;
    opacity: 1;
  }
  .vtabs-content h2 {
    margin-bottom: 20px;
  }
  .vtabs-content ul {
    padding-left: 15px;
  }
}


/**************************************************
  #### VERTICAL TABS SELECT
**************************************************/

.vtabs-select {
  margin: 30px 0 0 0;
}

select.vtabs-select {
  background: #FAFAFA;
  border: none;
  border-right: 3px solid #FB0362;
}

@media only screen and (min-width: 767px) {
  .vtabs-select {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .vtabs-menu {
    display: none;
  }
  .vtabs-content {
    width: 100%;
    border-left: none;
    padding: 40px 0px;
  }
}

/**************************************************
  #### Banner Buttons
**************************************************/

h4.c-wh.mb0.fw500.get-unity-text {
  margin-top: 0 !important;
}

p.c-wh.mb0.product-description {
  font-size: 1em;
}

@media only screen and (min-width: 1066px) {
  .item-button {
    position: relative;
  }
  .get-unity-text-wrapper {
    position: absolute;
    height: 100%;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }
  h4.c-wh.mb0.fw500.get-unity-text {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }
}

/**************************************************
  #### NEW PAGES HERO
**************************************************/

.page-art-and-design .flex-inline-cell { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.page-art-and-design .hero + .main-content .content-wrapper { padding: 0 !important; }
.page-art-and-design div.hero { font-weight: 400; padding: 100px 0 120px 0; }
.page-art-and-design div.hero:before { background-image: url('../../images/products/art-and-design/hero.png'); }

@media only screen and (max-width: 767px) {
  div.hero { padding: 60px 0 60px 0; }
  .page-art-and-design div.hero:before { background-image: url('../../images/products/art-and-design/hero-m.png'); }
}

/**************************************************
  #### COLLAPSE COMPONENT
**************************************************/
.collapse-button {
  margin: 0 0 10px 0;
  cursor: pointer;
  font-size: 1.25em;
}

.collapse-button,
.collapse-button:hover,
.collapse-button:active,
.collapse-button:focus {
  display: block;
  font-size: 1.125em;
  font-weight: 700;
  color: #5a5a5b;
  text-decoration: none;
  padding: 0 0 0 35px;
  position: relative;
}

.collapse-button::before {
  content: '\e927';
  display: block;
  font-weight: 500;
  color: #05BBD3;
  line-height: 24px;
  position: absolute;
  top: 3px;
  left: 0;
  font-size: 170%;
  text-align: center;
  font-family: 'entypo-plus';
  border-radius: 50%;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transition: -webkit-transform .2s ease-in-out;
  transition: -webkit-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
}

.collapse-target {
  display: none;
  padding: 0 0 15px 35px;
}

.collapse-shown .collapse-button::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.collapse-shown .collapse-target {
  display: block;
}

/**************************************************
  #### CONNECTED CARDS
**************************************************/

.cards-connected {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  padding-bottom: 80px;
}

.cards-connected h4 {
  color: #383838;
}

.cards-connected img {
  height: 25px;
}

.cards-connected .g3 {
  position: relative;
  -ms-flex-preferred-size: 23%;
  flex-basis: 23%;
  background: #fff;
  border: solid 1px #ccc;
  padding-top: 25px;
}

.cards-connected .g3::before,
.cards-connected .g3::after {
  content: '';
  height: 10px;
  width: 30px;
  background: #fff;
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 100%;
}

.cards-connected .g3::after {
  left: -30px;
}

.cards-connected .g3:first-of-type::after,
.cards-connected .g3:last-of-type::before {
  display: none;
}

@media only screen and (max-width: 768px) {

  .cards-connected .g3 {
    width: 100%;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    margin-bottom: 10px;
  }

  .cards-connected .g3::before,
  .cards-connected .g3::after {
    display: none;
  }

}
