*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* ==> base font-size 10px */
html { font-family:"Source Sans Pro", sans-serif;
       font-size:62.5%;
       -webkit-text-size-adjust:none;
       -ms-text-size-adjust:none;
       -webkit-font-smoothing:antialiased;
       -moz-osx-font-smoothing:grayscale; }

/* ==> default font-size 18px */
body { font-size:1.8em; line-height:1.5; margin:0; }

/* center box  */
.auto { margin:0 auto; padding:0 16px; max-width:1000px; }
.auto-flush { margin:0 auto; padding:0; max-width:1000px; }
.center { text-align:center; }
.float-right { float:right; }
.float-left { float:left; }
.relative { position:relative; }
.border-top {  border-top:1px solid #555; }
.shadow {
  -webkit-filter: drop-shadow( 6px 6px 6px #000 );
          filter: drop-shadow( 6px 6px 6px #000 );
}
.col50 { display:inline-block; width:49%; vertical-align:top; padding:20px 24px 20px 0; }
.col30 { display:inline-block; width:30%; vertical-align:top; padding:20px 32px 20px 0; }
.col60 { display:inline-block; width:60%; vertical-align:top; padding:20px 0px 20px 0; }
.clear { clear:both; }
.italic { font-style:italic; }

.larger, .sidepad { padding:0 32px; }
.larger p { font-size:22px; line-height:1.4; }
.larger h2 { text-align:center; text-transform:uppercase; }

.plain input { margin-top:4px; }
.plain label { vertical-align:top; margin-top:3px; display:inline-block; }
.plain p { margin:0.3em 0; line-height:1.5; }
.plain ul, .plain ol { margin:0.5em 0; line-height:1.4; }
.plain form ul li { list-style:disc inside; }
.plain form ol li { list-style:decimal inside; }
.plain td, .plain th { padding:4px 1em 0 0; vertical-align:top; border-bottom:dotted 1px #ccc; }

.textright { text-align:right; }
.smaller { font-size:smaller; }
.normal { font-weight:normal; }
.hidden { display:none; }
.tighter { line-height:1.5; }
.red, span.new { color:#f00; }
span.new { padding-left:0.3em; font-style:italic; font-size:smaller; }
.withbreaks { white-space:pre; color:#239; overflow:hidden; }
.smallprint { font-size:smaller; margin:5px 0; }
.rounded { border-radius:3px; }

.small-button { display:inline-block; line-height:1; border:1px solid #999; background-color:#fff; padding:4px 8px; margin:4px; border-radius:4px; }
.small-button:hover, .small-button:focus { background-color:#999; color:#fff; text-decoration:none; }

h1, h2 { font-weight:400; }
h1 { font-size:48px; text-transform:uppercase; margin:0; text-align:center; }
h2 { font-size:33px; padding:16px 0; margin:0; }

p  { font-size:18px; }
header p, footer p { margin:0; }
h1 + p, h2 + p, h3 + p { margin-top:0; }

a { color:#0168b5; text-decoration:none; }
a:hover, a:active { text-decoration:underline; }
a.redirect-link { font-size:larger; font-weight:bold; }

blockquote { font-style:italic; padding:1em 0 0 0; margin:0; font-size:larger; color:#555; max-width:800px; }
blockquote + p { margin:0; }

pre, .location { overflow:hidden; }

.content table {
  display: block;
  width: 100%;
  overflow: auto;
  word-break: normal;
  word-break: keep-all;
  -webkit-overflow-scrolling: touch;
  border-spacing: 0;
  border-collapse: collapse;
}
.content table th {
  background-color: #38c;
  color: #fff;
}
.content table th, .content table td {
  font-size:16px;
  padding: 4px 8px;
  border: 1px solid #e9ebec;
  text-align: left;
}
.content table tr:nth-child(2n) {
  background-color: #f8f8f8;
}

div.block-list ul { margin:0; padding:0; text-align:center; }
div.block-list li { list-style:none; display:inline-block; width:223px; margin:16px; vertical-align:top; text-align:center; }
div.block-list li img { max-width:223px; display:block; margin:8px auto; }

div.page { padding:1em 0; }
div.page h1 { text-align:center; }
div.page h2 { color:#0168b5; font-weight:600; }

div.noimages img { display:none; }
div.noheadings h1, div.noheadings h2, div.noheadings h3 { display:none; }

div.carousel { position:relative; top:0; left:0; width:1000px; height:400px; overflow:hidden; }
div.slides { cursor:move; position:absolute; overflow:hidden; left:0; top:0; width:1000px; height:400px; }

.bpad { padding-bottom:16px; }
.tpad { padding-top:16px; }

.nav-bullets {
  position: absolute;
  bottom: 14px;
}
.nav-bullets div {
  position: absolute;
  width: 16px;
  height: 16px;
  cursor: pointer;
  border: #fff 3px solid;
  border-radius:8px;
}
.nav-bullets div:hover, .nav-bullets .av { background-color: #fff; }

.arrowl, .arrowr {
  display: block;
  position: absolute;
  width: 75px;
  height: 75px;
  cursor: pointer;
}
.arrowl { top:140px; left:14px; }
.arrowr { top:140px; right:14px; }
circle.cls-1 { fill:#ddd; opacity:0.5; }
polyline.cls-2 { fill:none; stroke:#fff; stroke-linecap:round; stroke-miterlimit:10; stroke-width:5px; }
.arrowl:hover circle.cls-1, .arrowr:hover circle.cls-1 { opacity:0.8; }
.arrowl:hover polyline.cls-2, .arrowr:hover polyline.cls-2 { stroke:#fff; stroke-width:8px; }

div.button {
  display:inline-block;
}

div.button p { margin:8px; }

div.button a, input.submit {
  display:inline-block;
  font-size:21px;
  line-height:1.2;
  background:#fa2;
  color:#000;
  padding:8px 16px;
  text-decoration:none;
  background:linear-gradient(0deg, rgba(255, 190, 91, 1) 0%, rgba(251, 184, 82, 1) 18.22%, rgba(242, 169, 56, 1) 48.5%, rgba(227, 145, 15, 1) 86.89%, rgba(221, 136, 0, 1) 99.44%);
  border-radius:6px;
  border:none;
  cursor:pointer;
  white-space:normal;
}
div.button a:hover, div.button a:active, input.submit:hover, input.submit:active {
  font-weight:bold;
}
div.button.secondary a {
  background:#ccc;
}

.blue-gradient-top, .button.blue-gradient-top a, ol.reg-head {
  background-color:#5babe6;
  background:linear-gradient(0deg, rgba(91, 171, 230, 1) 0%, rgba(82, 164, 225, 1) 18.22%, rgba(56, 146, 210, 1) 48.5%, rgba(15, 118, 187, 1) 86.89%, rgba(0, 107, 179, 1) 99.44%);
  color:#fff;
}

.blue-gradient-middle {
  background-color:#5babe6;
  background:linear-gradient(90deg, rgba(0, 107, 179, 1) 0%, rgba(21, 122, 191, 1) 6.63%, rgba(51, 143, 208, 1) 18.22%, rgba(73, 159, 220, 1) 29.56%, rgba(87, 168, 227, 1) 40.44%, rgba(91, 171, 230, 1) 50.37%, rgba(86, 168, 227, 1) 59.78%, rgba(72, 158, 220, 1) 70.57%, rgba(49, 142, 207, 1) 82.04%, rgba(18, 119, 189, 1) 93.9%, rgba(0, 107, 179, 1) 99.44%);
  color:#fff;
}

.blue-gradient-bottom {
  background-color:#5babe6;
  background:linear-gradient(0deg, rgba(0, 107, 179, 1) 0.56%, rgba(15, 118, 187, 1) 13.11%, rgba(56, 146, 210, 1) 51.5%, rgba(82, 164, 225, 1) 81.78%, rgba(91, 171, 230, 1) 100%);
  color:#fff;
}

.grey { color:#bbb; }
.white { color:#fff; }
.black { color:#000; }

.greybg { background-color:#eee; }
.whitebg { background-color:#fff; color:#000; }

#ack-notice {
  border: none;
  border-radius: 7px;
  background-color: #ccc;
  background:linear-gradient(0deg, rgba(255, 190, 91, 1) 0%, rgba(251, 184, 82, 1) 18.22%, rgba(242, 169, 56, 1) 48.5%, rgba(227, 145, 15, 1) 86.89%, rgba(221, 136, 0, 1) 99.44%);
  font-size: 18px;
  padding: 0.5em;
  color: #333;
}

div.logo {
  height:85px;
  overflow:hidden;
  /* white-space:nowrap; */
}
div.logo .auto { padding:0; }

#logo-image {
  display:inline-block;
  vertical-align:top;
  color:#fff;
  background-image:url(images/fmc_sans_white_ko.svg);
  background-size:cover;
  width:154px;
  height:79.65px;
  margin:4px 8px;
  -webkit-filter: drop-shadow( 3px 3px 3px #16a );
          filter: drop-shadow( 3px 3px 3px #16a );

}
#logo-image:hover, #logo-image:focus, #ack-notice:hover, #ack-notice:focus {
  -webkit-filter: drop-shadow( 3px 3px 3px #333 );
          filter: drop-shadow( 3px 3px 3px #333 );
}

#logo-text {
  display:inline-block;
  vertical-align:bottom;
  margin-bottom:8px;
  font-weight:500;
  text-transform:uppercase;
  font-size:15px;
  line-height:1.3;
}
#logo-title { font-size:21px; }

#nav { display:none; float:right; color:white; text-decoration:none; font-size:40px; line-height:50px; padding:0 8px;  }
#nav:hover { font-size:44px; }

div.menu ul { margin:0; padding:0; }
div.menu li { list-style:none; }
div.menu a { text-decoration:none; display:block; padding: 0 0.6em; color:#000; white-space:nowrap; }
div.menu a:hover, div.menu a:focus { text-decoration:underline; background-color:#dfdfdf; } 

div.menu > div > div > ul > li { position:relative; display:inline-block; }
div.menu > div > div > ul > li > a { line-height:50px; }
div.menu > div > div > ul > li:first-child > a { margin-left:-1em; }

div.menu > div > div > ul > li:last-child { float:right; }
div.menu > div > div > ul > li:last-child a { line-height:30px; border:1px solid #000; border-radius:2px; margin-top:8px;  }
div.menu > div > div > ul > li:last-child a:hover { font-size:19px; margin-right:-2px; }

div.menu li > ul { position:absolute; left:-10000px; z-index:20; background-color:#fff; line-height:30px; border:1px solid #aaa; }
div.menu li:hover > ul, div.menu ul.active { left:0; }

div.menu ul ul li a { padding-bottom:3px; min-width: 6.2em;}

#fmc-discount-notice { background-color:#43c3b1; }
#fmc-discount-notice p { margin:0; }

div.home-hero {
  height:500px;
  background-image:url("img/fmc-toronto-bg-1.png");
  background-position:center;
  background-size:cover;
  background-color:#777;
  padding-top:140px;
}
div.blue-bg-hero {
  background-image:url("img/BlueBG.jpg");
  background-position:center;
  background-size:cover;
  padding:20px 0;
}
div.blue-bg-hero-2 {
  background-image:url("img/AboutHero.jpg");
  background-position:center;
  background-size:cover;
  padding:32px 0;
}
div.blue-bg-hero a, div.blue-bg-hero-2 a {
  color:#cef;
  text-decoration:underline;
}

div.search {
  width: 690px;
  height: 217px;
  border: #fff solid 1px;
  border-radius: 10px;
  background: #000;
  opacity: 0.75;
  text-align: center
}

/* search-form is not inside search div so that opacity isn't inherited */
#search-form {
  width: 590px;
  padding:0;
  text-align: center;
  position: relative;
  top: -180px;
}

div.reg h1 { font-size:32px; }
div.reg p { margin:8px 0; }

#pre-reg { max-width:800px; margin:0 auto; padding:16px; text-align:center; background-color:#fff; }
#pre-reg .button a { font-size:20px; margin:12px 8px 0 8px; line-height:1.2; padding:8px; }
#pre-reg-location, #select-course { position:relative; text-align:left; background-color:#fff; padding:0 16px 16px 16px; }
#course-selection { text-align:left; }
#course-selection .small-button { float:right; cursor:pointer; margin-top:12px; }
#course-selection li { padding:16px; border-bottom:1px solid #ccc; }
#course-selection div.name { font-size:larger; color:#0168b5; margin-top:4px; }

#course-selection ol.reg-head-prereg { margin:0 auto; max-width:800px; background-color:#fff; padding:0 16px 0 32px; }
#course-selection ol.reg-head { text-align:center; padding:8px; margin:0; }
#course-selection ol.reg-head .name { color:#fff; font-size:24px; line-height:1.2; }
#course-selection ol.reg-head .date { font-size:18px; line-height:1.2; }
#course-selection ol.reg-head li { list-style:none; margin:0; }
#course-selection ol.reg-head li:last-child { border:none; }

#register { background:#fff; border:1px solid #19c; }
#register .regform { max-width:670px; margin:0 auto; position:relative; }

#notices, #policies { background:#fff; padding:8px; }
a.toggle-notice { display:block; cursor:pointer; text-align:center; font-size:smaller; color:#555; }
div.reg a.off:before { content:"Show "; }
div.reg a.on:before { content:"Close "; }
#notices .toggle-notice, div.reg .toggle-policy { cursor:pointer; margin:16px auto; text-align:center; display:block; border-bottom:1px solid #bbb; }

#register ul { margin:0 0 45px 0; padding:0; }
#reg-submit ul { margin:0; padding:0; }
#register li { list-style:none; margin:8px 0; }
#register .policy li { list-style:inherit; }
#reg-submit li { margin:0; }
#reg-submit label.checkbox:before { border:1px solid #777; }
#register .notice { max-width:500px; padding:16px; margin:0 auto; border:1px solid #0168b5; box-shadow: 3px 3px 3px #777; }

#q {
  background-color: #fff;
  border: 1px solid #999;
  width: 100%;
  font-size: 24px;
  height: 45px;
  padding:0 10px 0 6px;
  color: #333;
}
#select-course #q {
  font-size:22px;
  height:42px;
  border-radius:4px;
}

#search-button {
  display:inline-block;
  margin-top: 38px;
  padding: 10px 40px;
  border-radius: 7px;
  border: 1px solid #000;
  background:linear-gradient(0deg, rgba(0, 107, 179, 1) 0.56%, rgba(15, 118, 187, 1) 13.11%, rgba(56, 146, 210, 1) 51.5%, rgba(82, 164, 225, 1) 81.78%, rgba(91, 171, 230, 1) 100%);
  color: #fff;
  font-size: 28px;
}
#search-button:hover, #search-button:active, #search-button:focus {
  text-decoration:none;
  font-weight:bold;
  font-size: 26px;
  padding: 11px 40px;
}
div.mission-statement {
  background-image:url("img/FMC-Home_MissionStatementBG.jpg");
  background-position:center;
  background-size:cover;
}

div.conferences {
  background-image:url("img/Home_ConferencesBG1.jpg");
  background-position:center;
  background-size:cover;
  padding:24px 0;
}

div.group-list-item {
  background-color:#f2f2f2;
  padding:10px;
  margin:20px -16px;
  position:relative;
  min-height:245px;
}
div.group-list-item-flagged {
  background-color:#f2f2ff;
}
span.flag {
  font-size: smaller;
  font-weight: bold;
  color: #888;
}
div.exam-list div.group-list-item {
  background-color:#ffffff;
  margin:0 0 20px 0;
}
div.group-list-item p:first-child { margin:0; }
div.summary img, div.summary h3, div.summary h4 { display:none; }

div.group-list-image {
  display:inline-block;
  width:223px;
  height:auto;
  position:absolute;
  top:16px;
  left:16px;
}
div.group-list-details {
  display:inline-block;
  position:absolute;
  right:16px;
  top:16px;
  bottom:0;
  width:180px;
  text-align:right;
}
div.group-list-details div.button {
  position:absolute;
  right:0;
  bottom:16px;
}

h2.exam-list-head {
  padding:0;
  font-size:24px;
}

h2.group-list-head, h3.group-list-head, div.group-list-summary {
  padding:0 200px 0 250px;
}
h2.group-list-head, h3.group-list-head, div.group-list-item h2 {
  font-size:24px;
  margin:10px 0;
}

div.vendor-hero {
  background-image:url("img/VendorHero.jpg");
  background-position:center;
  background-size:cover;
  text-align:center;
}
div.group-hero, div.course-hero {
  background-color:#ccc;
  background-image:url("img/GroupsHero1.jpg");
  background-size:cover;
  text-align:center;
}
div.vendor-hero img { height:110px; margin-top:24px; margin-bottom:-16px; }
div.group-hero img { height:120px; margin:16px 0 0 0; }
div.group-hero h1 { min-height:40px; margin:0; padding:0 0 16px 0; }
div.group-hero span.icon {
  width:110px; height:110px;
  margin-top:14px; margin-bottom:0;
  color:#fff;
  line-height:100px;
  font-size:72px;
  letter-spacing:-2px;
  padding-left:0;
  border:3px solid #fff;
}
div.vendor-hero h1, div.group-hero h1 { color:#fff; text-transform:none; }
div.vendor-hero img, div.group-hero img, div.group-hero span.icon, div.vendor-hero h1, div.group-hero h1 {
  -webkit-filter: drop-shadow( 2px 2px 2px #000 );
          filter: drop-shadow( 2px 2px 2px #000 );
}
div.vendor-cert {
  padding:16px 0 32px 0;
}
div.vendor-cert h2 {
  font-size:48px;
  padding:0;
}
div.vendor-text {
  padding:16px 16px 48px 16px;
}
div.vendor-text, div.vendor-text p, div.master-class, div.master-class p {
  font-size:24px;
  line-height:1.2;
}
ul.snakecols {
  columns:2;
  max-width:820px;
  margin:0 auto;
  padding:0;
}
li.iconitem {
  position:relative;
  list-style:none;
  margin:0;
}
li.iconitem img {
  height:57px;
}
li.iconitem a {
  color:#000;
  white-space:nowrap;
}
li.iconitem a:hover, li.iconitem a:active {
  color:#3b8bc6;
  text-decoration:none;
}
li.iconitem span.icon, li.iconitem img {
  left:2px; top:2px;
}
li.iconitem a:hover span.icon, li.iconitem a:active span.icon, div.group-list-image a:hover img, div.group-list-image a:active img {
  box-shadow: 3px 3px 3px #777;
}
li.iconitem a:hover img, li.iconitem a:active img {
  -webkit-filter: drop-shadow( 2px 2px 2px #000 );
          filter: drop-shadow( 2px 2px 2px #000 );
}
span.icon {
  display:inline-block;
  width:56px;
  height:56px;
  line-height:50px;
  font-size:36px;
  letter-spacing:-2px;
  padding-left:2px;
  border:2px solid #bbb;
  color:#fff;
  margin-bottom:8px;
  background-color:#0f76bb;
}

li.iconitem span.text {
  margin-top:11px;
  display:inline-block;
  line-height:1;
  white-space:normal;
  vertical-align:top;
}
div.master-class {
  padding-bottom:1em;
}
div.embed-master-class {
  padding-bottom:1em;
}
div.embed-master-class h2 {
  text-align:center;
}
div.embed-master-class div.summary {
  max-width:600px;
  padding-left:60px;
  margin:0 auto;
}
div.exams h2 {
   border-top:1px solid #000;
   background-color:inherit;
   margin:0 auto; padding:0;
   color: #0168b5;
   font-weight:600;
   max-width:480px;
}
div.master-class h2 {
  padding:0;
  background-color:#000;
  color:#fff;
  font-size:48px;
  line-height:64px;
  text-align:center;
}
div.master-class ul, div.exams ul {
  padding:0;
  margin-bottom:32px;
}
div.master-class li, div.exams li {
  list-style:none;
}
div.master-class li a, div.exams li a {
  color:#d80;
  font-size:24px;
  text-decoration:none;
  font-weight:bold;
}
div.master-class li a:hover, div.master-class li a:active, div.exams li a:hover, div.exams li a:active {
  text-decoration:underline;
}
div.master-class .callout p, div.embed-master-class .callout p {
  margin:0;
  padding:1em 0;
}

div.mission p, div.mission h2, div.mission h3, div.mission h4 {
  color:#fff;
  text-align:center;
  line-height:1.3;
}
div.mission p {
  font-size:26px;
  padding:22px 1.5em;
}
div.mission h2, div.mission h3, div.mission h4 {
  margin:0;
}

div.more {
  display:inline-block;
  position:absolute;
  top:32px; right:16px;
}
div.more p {
  margin:0;
}
div.more a {
  color:#d80;
  text-decoration:none;
  font-style:italic;
  font-size:24px;
  padding:8px 0;
}
div.more a:hover, div.more a:active {
  color:#3b8bc6;
  font-weight:bold;
}
div.mbuttons {
  position:relative;
  padding-bottom:32px;
}
div.mbuttons img {
  width:100%; height:auto;
}
div.mbuttons ul { padding:0; margin:0 -12px; font-size:0; }
div.mbuttons li  {
  list-style:none;
  display:inline-block;
  font-size:18px;
  text-align:center;
  width:25%;
  vertical-align:top;
}
ul.list4up { padding:0; margin:0 -12px; font-size:0; }
ul.list4up > li {
  list-style:none;
  display:inline-block;
  font-size:16px;
  text-align:center;
  width:25%;
  vertical-align:top;
}
ul.list4up > li {
  padding:0 16px;
}
ul.list4up img {
  max-width: 180px;
  padding:0 24px;
}
ul.list4up h3 a {
  color:#000;
  font-size:1em;
}

div.mbuttons li a {
  display:inline-block;
  font-size:28px;
  padding-top:60px;
  width:225px;
  background:#0c73ba;
  color:#fff;
  text-decoration:none;
  border:2px solid white;
  background-size: cover;
}
div.mbuttons.fixedheight li a {
  height:175px;
}
div.mbuttons li a:hover, div.mbuttons li a:active {
  font-size:27px;
  font-weight:bold;
  border:2px solid #fb6;
}
div.mbuttons li a[href="/adobe/"] { background-image:url("img/Home_AdobeCourses.jpg"); }
div.mbuttons li a[href="/apple/"] { background-image:url("img/apple-courses-2.jpg"); }
div.mbuttons li a[href="/avid/"] { background-image:url("img/Home_AvidCourses.jpg"); }
div.mbuttons li a[href="/autodesk/"] { background-image:url("img/Home_AutodeskCourses.jpg"); }

div.mbuttons.imagelink li a {
  background:inherit;
  border:2px solid transparent;
  font-size:18px;
  line-height:1.2;
  color:#000;
  padding-top:0;
}
div.mbuttons.imagelink li a:hover, div.mbuttons.imagelink li a:active {
  border:2px solid transparent;
  font-weight:normal;
  color:#2b7bb6;
}
div.mbuttons.imagelink li a:hover img, div.mbuttons.imagelink li a:active img, ul.list4up a:hover img, ul.list4up a:active img  {
-webkit-filter: drop-shadow( 3px 3px 3px #000 );
        filter: drop-shadow( 3px 3px 3px #000 );
}
div.top-ai-courses {
  margin-top:-2em;
  padding-left:1em;
  padding-bottom:2em;
  font-size:18px;
}
div.top-ai-courses ul {
  margin:0;
}
div.top-ai-courses ul > li > a {
  color: #000;
  text-decoration: underline;
}
div.top-ai-courses ul > li > a:hover {
  color:#2b7bb6;
}
div.trow {
  display:table-row;
}
div.up3 {
  display:table-cell;
  position:relative;
  width:33%;
  padding:0 12px 100px 12px;
  vertical-align:top;
  line-height:1.3;
}
div.up3 h3 {
  font-size:24px;
  font-weight:400;
  margin-top:16px;
}
div.up3 .button {
  position:absolute;
  display:block;
  width:100%;
  bottom:32px;
  margin-left:-12px;
}

div.news {
  padding-bottom:1em;
}

div.news .left {
  display:inline-block;
  padding-right:1.5em;
  vertical-align:top;
  max-width:260px;
  margin:1em 0;
}
div.news .left p { margin:0; }

div.news .right {
  display:inline-block;
  max-width:580px;
  margin:1em 0;
}
div.news h3 {
  margin:0;
  line-height:1;
  font-size:24px;
}

div.news h4 {
  margin:0;
  font-weight:300;
  position:relative;
}

div.blog {
  padding-bottom: 1em;
}
div.blog h1{
  padding-bottom: 0.5em;
}
div.blog a {
  color:white;
}
div.blog a:hover {
  text-decoration: underline;
}
div.blog h3 {
  margin:0;
}
div.blog .post{
  padding-bottom:1em;
  border-bottom:1px dotted #fff;
  margin-bottom:1em;
}
div.blog div.button {
  margin-bottom:1em;
}
div.blog div.button a {
  color:#000;
}
div.blog .left {
  display:inline-block;
  max-width:550px;
  padding-right:1.5em;
  vertical-align:top;
  text-align:left;
}
div.blog .right {
  display:inline-block;
  max-width:350px;
  text-align:right;
}
div.blog .right p {
  font-size:0;
  margin:0;
}

div.conf {
  position:relative
}
div.conf .left {
  display:inline-block;
  max-width:550px;
  padding-right:1.5em;
  vertical-align:top;
}
div.conf .right {
  display:inline-block;
  max-width:350px;
  text-align:right;
  margin-top:8px;
}
div.conf .right p {
  font-size:0;
  margin-top:16px;
}
div.conf .more {
  position:static;
}
div.conf .more a {
  color: #0168b5;
}

div.footmatter {
  text-align:center;
  padding:32px 0;
}
div.footmatter .button{
  position:static;
  border-radius: 6px;
}
div.footmatter .button.wide {
  margin-bottom:12px;
}
div.footmatter .button.wide a {
  padding-left:3em; padding-right:3em;
}
div.footmatter h2 {
  font-size:27px;
  border-top:1px solid #555;
  padding:16px 0 0 0;
  max-width:650px;
  margin:20px auto 8px;
}

footer {
  text-align:center;
  font-size:16px;
}

div.footer ul { margin:0; padding:0; }
div.footer li { list-style:none; line-height:1; margin-bottom:0.5em; }

div.footer h3 {
  text-decoration:underline;
  margin:10px 32px 10px 0;
}
div.footer-menu a {
  text-decoration:none;
  color:white;
  display:block;
  padding:0 32px 0 0;
}
div.footer-menu a:hover {
  text-decoration:underline;
  /* background-color:#3b8bc6; */
}
div.footer-menu, div.footer-stay, div.footer-partners {
  display:inline-block;
  vertical-align:top;
  text-align:left;
}
div.footer-stay li, div.footer-partners li {
  display:inline-block;
}
div.footer-menu {
}
div.footer-stay {
  width:145px;
}
div.footer-stay li {
  padding:6px 18px 8px 0;
}
div.footer-partners {
  width:220px;
}
div.footer-partners li {
  line-height:56px;
  margin-right:2em;
  margin-bottom:0;
}
div.footer-partners h3 {
  margin-bottom:16px;
}
div.footer-bottom {
  padding:1.5em 0;
  font-size:18px;
  line-height:1.2;
}
div.footer-accessibility a {
  color:white;
  text-decoration:underline;
}

div.browse-courses {
  padding:0.5em 0
}

div.browse-courses h2 {
  padding:0;
  font-size:48px;
  line-height:127px;
  margin:24px 0 0 0;
  color:white
}

div.browse-courses h3 {
  font-size:24px;
  font-weight:normal;
  line-height:42px;
  margin:24px 0 0 0;
  color:white
}

div.browse-courses ul {
  margin:0;
  padding:1em;
  background-color:#fff;
  text-align:left;
}

div.browse-courses li {
  font-size:24px;
  list-style:none;
}

div.browse-courses li a {
  color:#000;
}


div.browse-courses li em {
  color:#f00;
}
div.category-list, div.manufacturer-list {
  display:inline-block;
  width:470px;
  vertical-align:top;
  margin:0 0 16px 0;
}

div.left-right {
  display:table-cell;
  max-width:470px;
  padding:16px;
  text-align:left;
}
div.left-right-gap {
  display:table-cell;
  width:16px;
}
div.left-right img {
  float:left; margin:4px 20px 4px 0;
}

div.category-list, div.left-right.left {
  margin-right:20px;
}

div.category-list h2 {
  background-image:url("img/CategoryHero.jpg");
  background-position:center;
  background-size:cover;
}

div.category-list h3 {
  background-image:url("img/CategoryHeading.jpg");
  background-position:center;
  background-size:cover;
}

div.category-list ul {
  border:1px solid #7f160b;
}

div.manufacturer-list h2 {
  background-image:url("img/ManufacturerHero.jpg");
  background-position:center;
  background-size:cover;
}

div.manufacturer-list h3 {
  background-image:url("img/ManufacturerHeading.jpg");
  background-position:center;
  background-size:cover;
}

div.manufacturer-list ul {
  border:1px solid #052767;
}

h3.method-heading {
  background-image:url("img/MethodHeading.jpg");
  background-position:center;
  background-size:cover;
}

/* search auto-suggest */
#q-list {
  position: absolute;
  width:100%;
  height:0;
  opacity:0;
  overflow:hidden;
  background-color:#fff;
  border:solid 1px #777;
  margin:4px 0 0 0;
  padding:0;
  z-index:10;
}

#q-list.show { height:auto; opacity:1; }
#notices.show { display:block; }

#q-list li { list-style:none; text-align:left; border-bottom:1px solid #ddd; padding:0; }
#q-list a.course { line-height:1.2; padding:8px; display:block; color:#222; font-size:22px; margin:0; }
#q-list .searchitem.selected a.course, #q-list  a.course:hover { background-color:#5babe6; color:#fff; text-decoration:none; }

#q-list-wrap { position: relative; }

#pre-reg a.course { font-size:18px; color:#0168b5; }
#pre-reg span.sched { display:block; padding:0 8px 8px 8px; }
#pre-reg .searchitem.selected a.course, #pre-reg a.course:hover, #pre-reg .searchitem:hover a.course { background:none; color:#0168b5; pointer-events:none; cursor:pointer; text-decoration:none; }
#pre-reg .searchitem.selected, #pre-reg .searchitem:hover { background:#eee; }

#q-list a.date.selected { background-color:#555; color:#fff; }
#q-list a.date.selected .detail { background-color:#555; color:#ccc; }
#q-list a.date { font-weight:bold; display:inline; color:#d80; padding-bottom:1px; padding:1px 3px; border-radius:5px; }
#q-list a.date:hover { background-color:#555; color:#fff; }

div.page a[title~=Passport] { background-color:#d80; color:#fff; font-weight:bold; border-radius:5px; padding:1px 3px; display:inline-block; }

div.course-hero {
  padding:48px 0;
}
div.course-box {
  position:relative;
  margin:0 auto;
  max-width: 523px;
  border: 14px solid #fff;
  border-radius: 10px;
}
div.course-box h1 {
  margin:20px 20px 75px 20px;
  text-transform:none;
  font-size:32px;
  line-height:1.3;
  text-align: center;
  -webkit-filter:none;
          filter:none;
}
div.course-box .duration {
  font-size:18px;
  color:#fff;
  position:absolute;
  bottom:8px;
  left:12px;
}
div.course-box .button {
  position:absolute;
  bottom:10px;
  right:12px;
}
div.course-box .button a {
  padding-left:1.5em; padding-right:1.5em;
  color:#000;
  font-weight:normal;
  background:linear-gradient(0deg, rgba(255, 190, 91, 1) 0%, rgba(251, 184, 82, 1) 18.22%, rgba(242, 169, 56, 1) 48.5%, rgba(227, 145, 15, 1) 86.89%, rgba(221, 136, 0, 1) 99.44%);
}
div.course-box .button a:hover {
  color:#fff;
  box-shadow: 3px 3px 3px #333;
}
.button a.pressed:after {
}
#redirect {
  background-color:#efefef;
  padding:1em;
}
#redirect img {
  padding-top:16px;
}
#redirect h2, #redirect h3, #redirect h3 { padding:20px 2em; }

#course-dates {
  position:absolute;
  left:0; right:0; top:-64px;
  border:1px solid #000;
  background-color:#fff;
  z-index:10;
  padding-bottom:32px;
  box-shadow: 0 3px 3px #999;
}
#course-dates.offscreen { left:-10000px; right:auto; }
#course-dates ul { padding:0; margin:0; }
#course-dates li { list-style:none; padding:4px 0; margin:0; line-height:1.2; }
#course-dates h2 { font-weight:normal; color:#000; font-size:21px; padding:12px 0; border-bottom:1px solid #555; max-width:460px; margin:0 auto; }
#course-dates h3, #courseSchedule > ul > li > a { display:block; font-weight:bold; color:#0168b5; font-size:18px; padding-top:12px; }
#courseSchedule > ul { text-align:left; max-width:460px; margin:0 auto; }
#courseSchedule.master-class-reg { margin-bottom:1em; }
#course-dates .noregdates { padding:12px; color:#777; }
#courseSchedule a.date, div.searchresults a.date { font-weight:bold; color:#d80; }
a.connected { color:#999; font-size:smaller; }
a.close-button { color:#333; position:absolute; top:12px; right:12px; font-size:18px; display:inline-block; line-height:1; padding:4px 5px; }
li.master-class-location { display:inline-block; width:49%; }
.fineprint { color:#333; }
.clickable { cursor:pointer; }
.clickable:hover, .close-button:hover { text-decoration:none; }

div.course-banner { width:100%; background-color:#38c; position:relative; font-size:0; }
div.course-banner .banner-icon { display:inline-block; margin:4px; }
div.course-banner .banner-icon:hover { box-shadow: 1px 1px 1px #333; }
div.course-banner span.icon, div.course-banner p { margin:0; }
div.course-banner .banner-image { display:inline-block; float:right; margin:4px; }
div.course-banner .banner-image img, div.course-banner .banner-icon img { width:auto; height:54px; }

ul.courselist { margin:0; padding:0; }
ul.courselist li { list-style:none; margin-bottom:16px; max-width:600px; }
ul.courselist li a { display:block; text-align:left; font-size:24px; line-height:1.2; padding:16px; color:#fff;
  background-color:#5babe6;
  background:linear-gradient(0deg, rgba(91, 171, 230, 1) 0%, rgba(82, 164, 225, 1) 18.22%, rgba(56, 146, 210, 1) 48.5%, rgba(15, 118, 187, 1) 86.89%, rgba(0, 107, 179, 1) 99.44%);
}
ul.courselist li a:hover, ul.courselist li a:active {
  text-decoration:none;
  box-shadow: 3px 3px 3px #777;
}
ul.courselist li a .duration {
  display:block; font-size:18px; margin-top:8px; text-align:right;
}

div.page-bg { padding-top:16px; padding-bottom:16px; background-color:#eee; }
div.page { padding:16px; position:relative; background-color:#fff; }
div.pagesep { border-top:8px solid #eee; }
div.page h1, div.page h2, div.page h3 { color: #0168b5 }

div.contact-hero {
  background-image:url("img/Contact_Hero.jpg");
  background-position:bottom;
  background-size:cover;
  text-align:center;
  color:#000;
}
div.contact-hero form {
  display:inline-block;
  position:relative;
  background-color:#fff;
  border:1px solid #555;
  margin:32px auto;
  padding:16px;
  text-align:center;
}
input.x-small, input.small, input.medium, input.large, input.x-large, textarea, select {
  font-size:18px;
  padding:4px;
  border:1px solid #999;
  border-radius:4px;
  background-color:#eee;
  max-width:100%;
}

textarea { height:120px; margin:0; }


#loading, .form-error { color:#f00; margin-left:153px; }
.form-control { display:inline-block; margin-left:153px; padding-bottom:8px; }

#contact-form ul, #pre-reg-location ul { padding:0; margin:0; }
#contact-form ul.locations, #pre-reg-location ul.locations  { border:1px solid #ddd; border-radius:4px; margin-bottom:8px; }
#contact-form ul.locations { columns:3; margin-left:153px; margin-top:-22px; }
#pre-reg-location ul.locations { columns:4; }
#contact-form li, #pre-reg-location li { list-style:none; }
#contact-form label { padding-top:8px; }

input.x-small { width:40px; max-width:40px; }
input.small, textarea.small  { width:120px; max-width:120px; }
input.medium { width:200px; max-width:200px; }
input.large, input.x-large, textarea.medium, textarea.large, #contact-form ul.locations { width:513px; max-width:513px; }

label.x-small, label.small, label.medium, label.large, label.x-large {
  display:inline-block; width:150px; text-align:right; vertical-align:top; padding-right:8px; line-height:1.1;
}
label.inline { width:auto; margin-left:1em; }
label.instructions { display:block; margin-left:154px; line-height:1.1; margin-bottom:16px; }
label.instructions.red, label.instructions.confirmation { margin-left:0; }
label.cc-fee { white-space: pre-line; }

label.required:before, div.required:before { content:"* "; color:#f00; font-weight:normal; }

#contact-form input.submit {
  padding-left:2em;
  padding-right:2em;
  margin-top:14px;
  font-size:18px;
}
div.contact-hero h1 {
  font-size:36px;
  text-transform:none;
  line-height:1.2;
  padding:32px 0 0 0;
}
div.contact-hero h2 {
  font-size:24px;
  padding:0;
}

div.contact-form-group-1 {
  display:inline-block;
  vertical-align:top;
  columns:2;
  text-align:left;
  border:1px solid #ddd;
  padding:1em;
  margin:0 20px 0 0;
}
div.contact-form-group-2 {
  display:inline-block;
  vertical-align:top;
  text-align:left;
}

div.contact-form-group-2 label {
  display:block; text-align:left;
}

div.contact-panels {
  text-align:center;
  padding-bottom:16px;
}
div.contact-panel {
  display:inline-block;
  vertical-align:top;
  text-align:left;
  width:304px;
  padding:8px;
  border:1px solid #777;
  margin:12px 8px;
  line-height:1.2;
  background-color:#fff;
}
div.panel-head {
  margin:-8px;
  padding-top:60px;
  background-position:center;
  background-size:cover;
}
div.contact-panel h2 {
  color:#fff;
  text-align:center;
  line-height:1.2;
  margin:0;
  padding:0;
  background-color: rgba(0, 0, 0, 0.5);
}
div.contact-panel h3 {
  font-size:smaller;
  font-weight:normal;
}
div.contact-panel a {
  color:#0168b5;
}

/* .checkbox requires ?checklist?M - based on https://codepen.io/Vestride/pen/dABHx */
li.radio { padding-left:8px; }
.checkbox, .radio {
  position:relative;
}
.checkbox input, .radio input {
  position:absolute;
  opacity:0;
}
.checkbox label, .radio label {
  display:inline-block;
  cursor:pointer;
  margin-left:28px;
  line-height:1.2;
  padding:8px 0;
}
.checkbox label:before, .radio label:before {
  display:inline-block;
  position:absolute;
  left:-28px;
  content:'';
  color:#fff;
  width:22px;
  height:22px;
  font-size:22px;
  line-height:1;
  padding-left:2px;
  background:#ddd;
  border-radius:3px;
  border:1px solid #777;
}
.radio label:before { border-radius:11px; }

.checkbox input:focus + label:before, .checkbox input:hover + label:before, .radio input:focus + label:before, .radio input:hover + label:before {
  background-color:#bbb;
  box-shadow: 3px 3px 3px #ccc;
}
.checkbox label:hover, .radiolabel:hover {
  color: #5babe6;
}
.checkbox input:checked + label:before, .radio input:checked + label:before {
  background-color:#5babe6;
  content: '✔︎';
}
.content img { max-width:100%; }
.content iframe { max-width:100%; }

div.location h1 {
  font-size:36px;
  line-height:1.2;
  text-transform:none;
  padding:0.4em 0;
}
div.location div.staff img {
  height:274px;
  width:auto;
  margin:-4px 16px 8px 0;
  float:left;
}
div.location div.staff h3 {
  margin:0 0 0.5em 0;
  font-weight:normal;
  font-size:24px;
}

div.searchresults h2 { font-size:24px; margin:16px 0 0 0; border-top:1px solid #bbb; text-align:left; }
div.searchresults h3 { font-weight:normal;  margin:8px 0 0 0; }
div.searchresults h3 a { color:#0168b5; font-size:18px; }
div.searchresults ul { margin:0; list-style-type:square; }

div.presslist a { display:inline-block; width:20%; text-decoration:underline; vertical-align:top; margin-top:1.2em; text-align:right; padding-right:0.8em; }
div.presslist .name { display:inline-block; width:59%; vertical-align:top; margin-top:1.2em; }

div.press { padding-right:20%; }
div.press h1 { text-align:left; text-transform:none; font-size:32px; line-height:1.2; margin-top:24px; }

div.instructors hr { margin:0; }
div.instructorimage { display:inline-block; vertical-align:top; width:20%; font-size:smaller; color:#777; padding-right:30px; }
div.instructorimage .name { font-weight:bold; line-height:1.2;  }
div.instructorimage img { max-width:100px; height:auto; margin-top:12px; }
div.instructor { display:inline-block; vertical-align:top; width:70%; }
div.instructor p:first-child { margin-top:6px; }
div.instructor img { padding:8px; }

div.live-chat form > div > ul { margin:32px 0; padding:0; }
div.live-chat form > div > ul > li { list-style:none; margin:8px 0; }

div.live-chat form { max-width:670px; margin:0 auto; }
div.live-chat h1 { font-size:36px; line-height:1; margin:0; }
div.framed { border:1px solid #000; }

div.conf-list, div.exam-list { padding-bottom:16px; }
div.conf-list div.more p { margin:0; }
div.conf-list-item { background-color:#fff; padding:16px; margin-bottom:16px; position:relative; }
div.conf-list-item h2 { font-size:24px; margin:0; padding:0; }
div.conf-list-item h3 { font-weight:normal; margin:0; padding:0; }
div.conf-list-item .more { position:static; }

div.hash-nav .blue-bg-hero-2 { min-height:150px; }
div.hash-section-sep { border-top:1px solid #999; }
div.hash-section h2 { font-size:36px; color:#0168b5; }
div.hash-section p img { max-width:250px; float:left; margin-right:20px; margin-bottom:16px; }
div.hash-section h2 img { max-width:36px; max-height:36px; margin:-4px; }
div.hash-section h3 { color:#0168b5; clear:both; }
div.hash-section ul { overflow: hidden; }

div.conf-list-content0 { margin-left:52%; }
div.conf-list-content1 { margin-right:52%; }
div.conf-list-content0.moretext { margin-left:38%; }
div.conf-list-content1.moretext { margin-right:38%; }

div.conf-list-image { position:absolute; top:8px; max-width:48%; }
div.conf-list-image.moretext { max-width:34%; }
div.conf-list-content0 div.conf-list-image { left:16px; }
div.conf-list-content1 div.conf-list-image { right:16px; }

div.grouplist { display:inline-block; width:240px; vertical-align:top; margin-right:16px; }
div.grouplist h2 { margin-top:1.4em; margin-bottom:0; border-top:1px solid #ccc; font-size:32px; }
div.grouplist ul { margin:0; padding:0; }
div.grouplist ul li { list-style:none; }

#trustpilot-block {
  padding: 1em 0;
}

/* ************************************************************************* */
/* hack to make course description grey border responsive smooth */
@media only screen and (max-width:1056px) {
  div.page-bg { padding:16px; }
}

/* ************************************************************************* */
@media only screen and (max-width:1024px) {
  h2 { padding:8px 0 2px 0; }

  div.home-hero {
    height:266px;
    padding-top:42px;
  }
  div.vendor-hero h1, div.group-hero h1 { font-size:36px; line-height:1.6; }

  div.group-hero img, div.group-hero span.icon {
    margin:14px 0 0 0;
  }
  div.search {
    width:75%;
    height:180px;
  }
  #search-form {
    top: -160px;
    width:68%;
  }
  #search-button {
    margin-top:26px;
    padding: 10px 20px;
  }
  div.mission p, div.mission h2, div.mission h3, div.mission h4 {
    font-size:20px;
  }
  ul.snakecols {
    columns:2;
    max-width:820px;
    margin:0 auto;
  }
  div.vendor-text, div.vendor-text p {
    font-size:22px;
  }
  div.more {
    display:inline-block;
    position:static;
  }
  div.mbuttons {
    text-align:center;
    max-width:750px;
  }
  div.mbuttons p {
    margin:0;
  }
  div.mbuttons li {
    width:250px;
    margin: 0 0 16px 0;
  }
  div.top-ai-courses {
    max-width:500px;
  }
  ul.list4up > li {
    padding:0 8px;
  }
  ul.list4up img {
    padding:0;
    width:77.7%;
  }
  div.conf, div.news {
    max-width:600px;
  }
  div.news h3, div.news h4 {
    margin:8px 0;
  }
  div.conf .right {
    text-align:center;
    max-width:580px;
  }
  div.blog .right {
    max-width:350px;
  }
  div.footer-menu a, div.footer-menu h3 {
    padding:0 30px;
  }
  div.footer-stay {
    width:280px; padding:4px;
  }
  div.footer-partners {
    width:400px; padding:4px;
  }
  div.group-list-item {
    text-align:center;
  }
  h2.group-list-head, h3.group-list-head, div.group-list-item h2 {
    max-width:600px;
    margin:10px auto;
    position:static;
    text-align:center;
    padding:0;
  }
  div.group-list-image {
    position:static;
    text-align:center;
  }
  div.group-list-details {
    position:static;
    text-align:center;
    margin:10px 0;
  }
  div.group-list-details div.button {
    position:static;
    margin-top:10px;
  }
  div.group-list-summary, div.embed-master-class div.summary {
    text-align:left;
    max-width:540px;
    margin:0 auto;
    text-align:left;
    padding:0;
  }
  div.category-list, div.manufacturer-list {
    width:46%;
  }
  div.category-list {
    margin-right:20px;
  }
  div.browse-courses h2 {
    font-size:36px;
    line-height:86px;
  }
  div.location div.staff img {
    float:none;
    display:block;
  }
  div.press { padding-right:10%; }
  div.presslist a { width:25%; }
  div.presslist .name { width:70%; }

  div.conf-list-image { max-width:46%; }
}

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

  /* .content img { margin:auto; } - jl 12-26-2018 - make images in content nicer */

  /* div.no-images-mobile img { display:none; } */

  div.button a:hover, div.button a:active, input.submit:hover, input.submit:active {
    font-weight:normal;
    box-shadow: 3px 3px 3px #333;
  }

  p, a, li  { font-size:16px; }

  .content table th, .content table td { font-size:14px; padding:4px; }

  .larger, .sidepad { padding-left:0; padding-right:0; }
  .larger p { font-size:18px; }

  h1, #pre-reg h1 { font-size:32px; margin:0; line-height:1.2; padding:16px 0; }
  h2 { font-size:24px; padding:16px 0; line-height:1.2; }

  div.logo { height:50px; }
  #logo-image { width:96px; height:49.7px; margin:2px 8px; }
  #logo-text { display:none; }

  #nav { display:inline-block; }

  div.menu {
    background-color:#333;
    line-height:53px;
    border-top:1px solid #fff;
  }

  .hide { display:none; }

  div.vendor-hero h1, div.group-hero h1 { font-size:32px; line-height:1; padding:8px; }
  div.vendor-hero img, div.group-hero img { height:80px; margin-top:8px; margin-bottom:-6px; }
  div.group-hero span.icon {
    width:40px;
    height:40px;
    line-height:36px;
    font-size:24px;
    letter-spacing:-1px;
    padding-left:0;
    margin:14px 0 0 0;
    border:2px solid #fff;
  }
  div.vendor-text, div.vendor-text p, div.master-class, div.master-class p {
    font-size:inherit;
  }
  div.vendor-cert h2, div.master-class h2 {
    font-size:30px;
  }
  ul.snakecols {
    columns:2;
    max-width:640px;
    margin:0 auto;
  }
  li.iconitem span.text {
    font-size:20px;
  }
  li.iconitem img {
    height:57px;
  }

  div.menu a { padding:0 0 0 8px; color:#fff; border-bottom:1px solid #fff; margin:0 -16px; }
  div.menu a:hover { background-color:#5babe6; }

  div.menu > div > div > ul > li > a:hover { color:#fff; }
  div.menu > div > div > ul > li { display:block; }
  div.menu > div > div > ul > li:first-child > a { margin:0 -16px; }

  div.menu > div > div > ul > li:last-child { float:none; text-align:center; }
  div.menu > div > div > ul > li:last-child a { display:inline-block; line-height:30px; border:1px solid #fff; border-radius:2px; margin-top:8px; padding-right:8px; }

  div.menu li > ul { position:relative; left:0; background-color:inherit; line-height:inherit; border:inherit; }
  div.menu li:hover > ul { left:0; }

  div.menu ul ul li a { padding:0 0 0 2.5em; color:#5babe6; }
  div.menu ul ul li:nth-child(8), div.menu ul ul li:nth-child(10) { border-bottom:inherit; }

  div.search {
    border-radius:6px;
    width:90%;
  }
  #search-form {
    width:80%;
  }
  #q-list li a {
    font-size:18px;
  }
  #search-button {
    margin-top:30px;
    font-size:20px;
    border-radius: 4px;
  }
  #search-button:hover, #search-button:active, #search-button:focus {
    font-size:18px;
    padding: 12px 23px;
  }
  div.mission p, div.mission h2, div.mission h3, div.mission h4 {
    font-size:18px;
    padding:10px 0;
  }
  div.more {
    padding:8px 0;
  }
  div.mbuttons {
    padding-bottom:0;
  }
  div.mbuttons li {
    width:130px;
    line-height:1;
    margin: 8px 0;
  }
  div.mbuttons li a {
    font-size:16px;
    width:116px;
    padding-top:32px;
    border:2px solid white;
  }
  div.mbuttons.fixedheight li a {
    height:90px;
  }
  div.mbuttons.imagelink li a {
    font-size:16px;
  }
  div.mbuttons li a:hover, div.mbuttons li a:active {
    font-size:16px;
  }
  div.trow {
    display:block;
  }
  div.up3 {
    display:block;
    width:auto;
    max-width:320px;
    margin:20px auto 0 auto;
    position:relative;
    padding:0 12px 100px 12px;
    line-height:1.3;
    border-bottom: 1px solid rgba(255,255,255,0.5);
  }
  div.up3:last-child { border-bottom:none; }

  div.up3 h3 {
    font-size:24px;
    font-weight:400;
    margin-top:16px;
  }
  div.button a {
    font-size:20px;
  }
  div.up3 .button {
    position:absolute;
    display:block;
    width:100%;
    bottom:32px;
    margin-left:-12px;
  }
  div.news h4 {
    font-size:14px;
  }
  div.conf .right {
    margin:0;
  }
  div.footmatter .button.wide a {
    padding-left:2em; padding-right:2em;
  }
  div.footer-menu {
    width:49%;
    max-width:250px;
  }
  div.footer a {
    padding:0 0 0 2%;
  }
  div.footer h3 {
    padding:0 0 0 2%;
    margin:10px 0;
  }
  div.footer-stay {
    width:96%;
    max-width:500px;
    text-align:center;
    margin-top:2em;
    border-top:1px solid rgba(255,255,255,0.5);
  }
  div.footer-stay li {
    margin:0;
    padding:8px;
  }
  div.footer-partners {
    width:90%;
    text-align:center;
  }
  div.footer-partners li {
    margin:0 1em;
  }
  div.footer-partners img {
    padding:0;
  }
  h2.group-list-head, h3.group-list-head, div.group-list-item h2 {
    font-size:20px;
  }
  div.browse-courses h2 {
    font-size:24px;
  }
  div.exams h2 {
    font-size:32px;
  }
  div.browse-courses h3 {
    font-size:20px;
    line-height:1;
    padding:4px 0;
  }
  div.browse-courses li, div.browse-courses li a {
    font-size:18px;
    line-height:1;
    padding:4px 0
  }
  div.course-hero {
    padding:16px;
  }
  div.course-box {
    border: 7px solid #fff;
    border-radius: 5px;
    max-width:400px;
    text-align: center;
  }
  div.course-box h1 {
    margin:10px;
    font-size:24px;
    line-height:1.3;
    -webkit-filter:none;
            filter:none;
  }
  div.course-box .duration {
    font-size:14px;
    color:#fff;
    position:static;
    margin-bottom:8px;
  }
  div.course-box .button {
    position:static;
    margin:8px 0 16px 0;
  }
  div.course-box .button a {
    padding-left:2em; padding-right:2em;
  }

  #course-dates { left:8px; right:8px; top:-32px; }
  #courseSchedule > ul { padding:0 16px;}
  #course-dates h3, #courseSchedule > ul > li > a { font-size:18px; padding-top:10px; }

  div.page-bg { padding:0; }

  div.contact-hero {
    padding-left:0;
    padding-right:0;
  }
  div.contact-hero h1 {
    font-size:21px;
    padding:12px 0;
  }
  div.contact-hero h2 {
    font-size:18px;
    margin:0;
  }
  div.contact-form-group-1 {
    margin:0 0 16px 0;
  }
  div.contact-form-group-2 {
    margin:0 16px;
  }
  div.contact-panel {
    width:282px;
    margin:6px 4px;
  }

  div.reg { padding:0; }
  #register { border:8px solid #fff; }
  #reg-form { max-width:560px; margin:0 auto; }

  #contact-form ul.locations { margin-left:0; margin-top:0; }
  input.x-small, input.small, input.medium, input.large, input.x-large, textarea.large, textarea.medium, #contact-form ul.locations { width:100%; }
  label.x-small, label.small, label.medium, label.large, label.x-large { width:100%; text-align:left; margin:0; line-height:1.5; }
  label.instructions { margin-left:0; }

  div.location h1 {
    font-size:24px;
  }
  div.blue-bg-hero, div.blue-bg-hero-2 {
    padding:0 0 16px 0;
  }
  div.col50, div.col30, div.col60 {
    width:100%;
    padding:0;
  }
  div.location div.staff img {
    display:inline-block;
    vertical-align:top;
    width:30%;
    min-width:120px;
    height:auto;
    margin-top:8px;
  }
  div.location div.staff-text {
    display:inline-block;
    width:60%;
  }
  div.location div.staff h3 {
    margin:0 0 0.5em 0;
    font-weight:normal;
    font-size:24px;
  }
  div.left-right {
    display:block;
    max-width:470px;
    margin:8px auto;
  }
  div.left-right-gap {
    display:none;
    width:0;
  }
  div.left-right.left {
    margin:0 auto 16px;
  }
  div.left-right img {
    float:none; margin:16px 16px 16px 0; display:block;
  }
  div.press { padding-right:16px; }
  div.presslist a { width:28%; padding-top:4px; }
  div.presslist .name { width:65%; }

  div.instructorimage { width:120px; padding-bottom:4px; }

  div.live-chat form { max-width:513px; }
  #loading, .form-error, .form-control { margin-left:0; }

  div.live-chat h1 { font-size:24px; line-height:1; padding:8px; }
  div.framed { border-left:none; border-right:none; margin:8px 0;}

  div.reg h1 { font-size:24px; }
  #pre-reg { padding:0 0 16px 0; }
  #pre-reg .button a:hover { font-weight:normal; }
  #pre-reg-location ul.locations { columns:3; }
  #course-selection li { padding:16px 0; }
  #q-list a.course { font-size:18px; }

  div.conf-list-item h3 { margin-bottom:16px; }
  div.conf-list { padding:16px 0; }
  div.conf-list div.head { padding:0 16px; }
  div.conf-list-content0 { margin-left:0; }
  div.conf-list-content1 { margin-right:0; }
  div.conf-list-content0.moretext { margin-left:0; }
  div.conf-list-content1.moretext { margin-right:0; }
  div.conf-list-image { position:static; max-width:100%; }
  div.conf-list-image.moretext { max-width:300px; }

  div.course-banner span.icon { width:34px; height:34px; line-height:28px; font-size:24px; padding-left:2px; }
  div.course-banner .banner-image img, div.course-banner .banner-icon img { height:34px; }

  div.grouplist h2 { font-size:24px; }
}

/* force 2x2 instead of 3+1 mbuttons, make block-list fit in 2 cols */
@media only screen and (max-width:570px) {
  div.mbuttons { max-width:300px; }
  div.top-ai-courses { max-width:300px; }
  div.methods  { max-width:300px; }
  ul.list4up > li { width:140px; }
  div.block-list li { width:120px; margin:8px; vertical-align:top; text-align:center; }
  div.block-list li img { max-width:120px; display:block; margin:8px auto; }
  div.presslist a { display:block; width:100%; text-align:left; margin-top:1em; }
  div.presslist .name { display:block; width:100%; margin-top:0; }
  div.grouplist { width:100%; }
  div.hash-nav p img { max-width:100%; float:none; margin:8px auto; }
}

@media only screen and (max-width:475px) {
  /* force single-column group list on vendor pages */
  ul.snakecols {
    max-width:320px;
    columns:1;
  }
  /* force single-column browse-courses */
  div.category-list, div.manufacturer-list {
    width:100%;
    margin:1em 0;
  }

  /* force single-column contact form */
  div.contact-form-group-1 {
    columns:1;
    padding:12px;
  }

  .nav-bullets div {
      width: 24px;
      height: 24px;
      border: #fff 4px solid;
      border-radius:12px;
  }
  div.location div.staff img {
    display:block;
    width:200px;
    margin:0;
  }
  div.location div.staff-text {
    display:block;
    width:100%;
    margin-bottom:2em;
  }
  #contact-form ul.locations, #pre-reg-location ul.locations {
    columns: 2;
  }
  select { width:100%; }
}
@media only screen and (max-width:420px) {
  pre { font-size:smaller; }
  div.instructor { width:100%; }
  div.hash-nav h2 { font-size:24px; }
  div.hash-nav h2 img { max-width:36px; max-height:36px; }
}

/* ************************************************************************* */

/* logged-in users */
div.user { position:fixed; top:0; left:0; display:inline-block; padding:0 5px 0 2px; line-height:1.5; z-index:200; opacity:0.5; background-color:#555; color:#fff; border:1px solid #fff; border-bottom-right-radius:10px; cursor:pointer; }

/* composer */
div.composer-button { position:fixed; z-index:200; opacity:0.5; width:auto; font-size:smaller; height:1.3em; text-align:center; line-height:1.2; top:0; right:0; padding:0 4px; background-color:#555; color:#fff; border-bottom-left-radius:8px; cursor:pointer; }
div.composer-button:hover { opacity:1; }

.nopublish { background-color:#edd !important; }
