/*! normalize.css v2.1.2 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

[hidden] {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. (html input[type="button"]) Avoid the WebKit bug in Android 4.0.* where
 *    (2) destroys native `audio` and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

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

@font-face {
  font-family: "atl-icons";
  src: url('http://cdn.citylab.com/static/common/icons/fonts/atl-icons_55f489e3253ec17acf5da27a8a7c1ad2.eot?d7d827ce227c');
  src: url('http://cdn.citylab.com/static/common/icons/fonts/atl-icons_55f489e3253ec17acf5da27a8a7c1ad2.eot?&d7d827ce227c#iefix') format("embedded-opentype"), url('http://cdn.citylab.com/static/common/icons/fonts/atl-icons_55f489e3253ec17acf5da27a8a7c1ad2.woff?d7d827ce227c') format("woff"), url('http://cdn.citylab.com/static/common/icons/fonts/atl-icons_55f489e3253ec17acf5da27a8a7c1ad2.ttf?d7d827ce227c') format("truetype"), url('http://cdn.citylab.com/static/common/icons/fonts/atl-icons_55f489e3253ec17acf5da27a8a7c1ad2.svg?d7d827ce227c#atl-icons') format("svg");
  font-weight: normal;
  font-style: normal; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "atl-icons";
    src: url('http://cdn.citylab.com/static/common/icons/fonts/atl-icons_55f489e3253ec17acf5da27a8a7c1ad2.svg?d7d827ce227c#atl-icons') format("svg"); } }

@font-face {
  font-family: 'Bitter';
  src: url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-regular-webfont.eot?d351c30bcffa');
  src: url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-regular-webfont.eot?&d351c30bcffa#iefix') format("embedded-opentype"), url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-regular-webfont.woff?d351c30bcffa') format("woff"), url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-regular-webfont.ttf?d351c30bcffa') format("truetype"), url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-regular-webfont.svg?d351c30bcffa#bitterregular') format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Bitter';
  src: url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-bold-webfont.eot?d351c30bcffa');
  src: url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-bold-webfont.eot?&d351c30bcffa#iefix') format("embedded-opentype"), url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-bold-webfont.woff?d351c30bcffa') format("woff"), url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-bold-webfont.ttf?d351c30bcffa') format("truetype"), url('http://cdn.citylab.com/static/common/fonts/bitter/bitter-bold-webfont.svg?d351c30bcffa#bitterbold') format("svg");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: 'Oxygen';
  src: url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-regular-webfont.eot?d351c30bcffa');
  src: url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-regular-webfont.eot?&d351c30bcffa#iefix') format("embedded-opentype"), url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-regular-webfont.woff?d351c30bcffa') format("woff"), url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-regular-webfont.ttf?d351c30bcffa') format("truetype"), url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-regular-webfont.svg?d351c30bcffa#oxygenregular') format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Oxygen';
  src: url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-bold-webfont.eot?d351c30bcffa');
  src: url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-bold-webfont.eot?&d351c30bcffa#iefix') format("embedded-opentype"), url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-bold-webfont.woff?d351c30bcffa') format("woff"), url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-bold-webfont.ttf?d351c30bcffa') format("truetype"), url('http://cdn.citylab.com/static/common/fonts/oxygen/oxygen-bold-webfont.svg?d351c30bcffa#oxygenbold') format("svg");
  font-weight: bold;
  font-style: normal; }

@charset "UTF-8";
/* Icon variables */
/* Social Icons */
.social-icon {
  color: #fff;
  text-decoration: none; }

.social-icon:before {
  font-family: 'atl-icons'; }

.social-icon::before {
  font-family: 'atl-icons'; }

.social-icon.round:before, .social-icons.round .social-icon:before {
  display: inline-block;
  line-height: 1;
  padding: 10px;
  background: 10px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  border-radius: 50px;
  -webkit-transition: color 0.2s false, background 0.2s false;
  -moz-transition: color 0.2s false false, background 0.2s false false;
  -o-transition: color 0.2s false false, background 0.2s false false;
  transition: color 0.2s, background 0.2s; }

.social-icon.box:before, .social-icons.box .social-icon:before {
  display: inline-block;
  line-height: 1;
  padding: 5px;
  background: #666; }

.social-icon.facebook:before {
  content: ""; }

.social-icon.twitter:before {
  content: ""; }

.social-icon.googleplus:before {
  content: ""; }

.social-icon.linkedin:before {
  content: ""; }

.social-icon.reddit:before {
  content: ""; }

.social-icon.rss:before {
  content: ""; }

.social-icon.email:before {
  content: ""; }

.social-icon.print:before {
  content: ""; }

.social-icon.apple:before {
  content: ""; }

.social-icon.googleplay:before {
  content: ""; }

.social-icon.alerts:before {
  content: ""; }

.social-icon.contact:before {
  content: ""; }

.social-icon.comments:before {
  content: ""; }

.social-icon.tumblr:before {
  content: ""; }

.social-icon.pinterest:before {
  content: ""; }

.social-icon.pocket:before {
  content: ""; }

.social-icon.whatsapp:before {
  content: ""; }

.social-icon.color:before, .social-icons.color .social-icon:before {
  color: #fff;
  background: #666; }

.social-icon.color:hover:before, .social-icons.color .social-icon:hover:before {
  background: #4d4d4d; }

.social-icon.color.comments:before, .social-icons.color .social-icon.comments:before {
  color: #fff;
  background: #000; }

.social-icon.color.comments:hover:before, .social-icons.color .social-icon.comments:hover:before {
  background: black; }

.social-icon.color.facebook:before, .social-icons.color .social-icon.facebook:before {
  color: #fff;
  background: #3d5ba8; }

.social-icon.color.facebook:hover:before, .social-icons.color .social-icon.facebook:hover:before {
  background: #2f4783; }

.social-icon.color.twitter:before, .social-icons.color .social-icon.twitter:before {
  color: #fff;
  background: #24abe2; }

.social-icon.color.twitter:hover:before, .social-icons.color .social-icon.twitter:hover:before {
  background: #198cba; }

.social-icon.color.googleplus:before, .social-icons.color .social-icon.googleplus:before {
  color: #fff;
  background: #e04426; }

.social-icon.color.googleplus:hover:before, .social-icons.color .social-icon.googleplus:hover:before {
  background: #b9341a; }

.social-icon.color.linkedin:before, .social-icons.color .social-icon.linkedin:before {
  color: #fff;
  background: #007bb6; }

.social-icon.color.linkedin:hover:before, .social-icons.color .social-icon.linkedin:hover:before {
  background: #005983; }

.social-icon.color.rss:before, .social-icons.color .social-icon.rss:before {
  color: #fff;
  background: #f7941e; }

.social-icon.color.rss:hover:before, .social-icons.color .social-icon.rss:hover:before {
  background: #da7a08; }

.social-icon.color.reddit:before, .social-icons.color .social-icon.reddit:before {
  color: #fff;
  background: orangered; }

.social-icon.color.reddit:hover:before, .social-icons.color .social-icon.reddit:hover:before {
  background: #cc3700; }

.social-icon.color.tumblr:before, .social-icons.color .social-icon.tumblr:before {
  color: #fff;
  background: #2F4D6B; }

.social-icon.color.tumblr:hover:before, .social-icons.color .social-icon.tumblr:hover:before {
  background: #1f3348; }

.social-icon.color.pinterest:before, .social-icons.color .social-icon.pinterest:before {
  color: #fff;
  background: #BD081C; }

.social-icon.color.pinterest:hover:before, .social-icons.color .social-icon.pinterest:hover:before {
  background: #8c0615; }

.social-icon.color.pocket:before, .social-icons.color .social-icon.pocket:before {
  color: #fff;
  background: #EB5050; }

.social-icon.color.pocket:hover:before, .social-icons.color .social-icon.pocket:hover:before {
  background: #e62222; }

.social-icon.color.whatsapp:before, .social-icons.color .social-icon.whatsapp:before {
  color: #fff;
  background: #29B100; }

.social-icon.color.whatsapp:hover:before, .social-icons.color .social-icon.whatsapp:hover:before {
  background: #1d7e00; }

@charset "UTF-8";
/* Icon variables */
/* Icon variables */
/**
 * This is a function to relativize font sizes. If a font-size isn't directly
 * tied to layout, please use this so it will be easier to resize fonts in
 * smaller viewports.
 */
body {
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  font-size: 17px;
  margin: 0;
  padding: 0; }

a {
  text-decoration: none;
  color: #0ab8eb; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Bitter", Georgia, "Times New Roman", serif; }

audio, canvas, img, svg, video {
  vertical-align: middle; }

.fluid-container {
  margin: 0 auto;
  width: 940px; }
  @media (max-width: 960px) {
    .fluid-container {
      width: 94%;
      max-width: 620px; } }

#main-container {
  padding-top: 30px; }

input[type=text],
input[type=submit],
input[type=email],
textarea {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

input[type=submit],
form button {
  background: #000;
  color: #fff;
  border: 0; }

#logo-container {
  text-align: center;
  color: #999;
  font-size: 0.70588em;
  display: none; }

.content-column {
  width: 100%;
  max-width: 620px;
  float: left; }
  @media (max-width: 960px) {
    .content-column {
      float: none; } }

.rail {
  width: 300px;
  float: right; }
  @media (max-width: 960px) {
    .rail {
      display: block;
      float: none;
      width: 100%; } }

@media (max-width: 960px) {
  .rail.hide {
    display: none; } }

.rail .ad {
  margin-bottom: 30px; }

@media (max-width: 960px) {
  .ad {
    text-align: center; } }

.to-top {
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  font-size: 1.05882em;
  display: block;
  text-align: center;
  text-transform: uppercase;
  color: #000;
  font-weight: bold;
  margin: 40px 0; }
  .to-top:before {
    font-family: "atl-icons";
    content: "";
    display: block; }
  .to-top:before {
    text-align: center;
    font-size: 1.38889em; }

.module-link,
.return-link {
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  font-size: 1.05882em;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1;
  color: #000; }
  .module-link:hover,
  .return-link:hover {
    text-decoration: underline; }

.module-link:after {
  font-family: "atl-icons";
  content: "";
  padding-left: 5px;
  display: inline-block; }

.module-link:after {
  font-size: 1.38889em;
  vertical-align: -0.14em; }

.return-link:before {
  font-family: "atl-icons";
  content: "";
  padding-right: 5px;
  display: inline-block; }

.return-link:before {
  font-size: 1.38889em;
  vertical-align: -0.14em; }

.module-tag {
  line-height: 1;
  background: #000;
  color: #fff;
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  display: inline-block;
  margin: 0;
  padding: 10px 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility; }

.static-title {
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  border-bottom: 1px dashed #999;
  font-weight: normal;
  font-size: 1.70588em;
  margin-top: 0; }

.search-box {
  position: relative; }

.search-box input[type=text] {
  width: 100%;
  height: 34px;
  padding-right: 35px;
  padding-left: 5px; }

.search-box button {
  position: absolute;
  right: 2px;
  top: 2px;
  width: 30px;
  text-align: center;
  height: 30px;
  line-height: 30px; }

.search-box button::after {
  font-family: 'atl-icons';
  content: ""; }

.triple-lift {
  display: none;
  visibility: hidden;
  width: 0;
  height: 0; }

#ad-bottomleader {
  margin: 0 auto 25px auto;
  width: 728px; }

@charset "UTF-8";
/* Icon variables */
/**
 * This is a function to relativize font sizes. If a font-size isn't directly
 * tied to layout, please use this so it will be easier to resize fonts in
 * smaller viewports.
 */
/* Icon variables */
#site-header {
  -webkit-box-shadow: inset 0px -10px 15px -10px #999;
  -moz-box-shadow: inset 0px -10px 15px -10px #999;
  box-shadow: inset 0px -10px 15px -10px #999;
  background: #e4e4e4;
  margin-bottom: 65px; }
  @media (max-width: 960px) {
    #site-header {
      margin-bottom: 65px;
      -webkit-box-shadow: inherit;
      -moz-box-shadow: inherit;
      box-shadow: inherit; } }
  @media (max-width: 720px) {
    #site-header {
      background: inherit;
      margin-bottom: 25px; } }

#site-header .fluid-container {
  position: relative;
  min-height: 30px; }
  @media (max-width: 960px) {
    #site-header .fluid-container {
      max-width: inherit; } }
  @media (max-width: 720px) {
    #site-header .fluid-container {
      min-height: 17px;
      width: 100%; } }

/* Reposition everything for the menu */
@media (max-width: 720px) {
  #main-header-wrapper {
    position: relative;
    min-height: 17px;
    background: #e4e4e4;
    -webkit-box-shadow: inset 0px -10px 15px -10px #999;
    -moz-box-shadow: inset 0px -10px 15px -10px #999;
    box-shadow: inset 0px -10px 15px -10px #999; }
  #main-nav-wrapper {
    position: relative;
    min-height: 35px; } }

@media print {
  #main-header-wrapper {
    padding-top: 40px;
    margin: 0 auto;
    width: 94%;
    max-width: 620px; }
  #main-nav-wrapper {
    display: none; } }

#site-logo {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 230px;
  height: 70px;
  padding: 4px 6px 8px;
  background-color: #000;
  background-image: url('http://cdn.citylab.com/static/citylab/img/logos/logo.svg?4b3f7d913676');
  background-size: 220px;
  background-repeat: no-repeat;
  background-position: 4px 22px;
  position: absolute;
  bottom: -40px;
  display: block;
  font-size: 13px;
  color: #999;
  z-index: 1001;
  overflow: hidden; }
  @media (max-width: 960px) {
    #site-logo {
      height: 52px;
      width: 172px;
      bottom: -22px;
      background-size: 164px;
      font-size: 11px;
      padding: 4px 8px;
      background-position: 4px 16px; } }
  @media (max-width: 720px) {
    #site-logo {
      bottom: -35px;
      left: 2%; } }
  .mdzr-no-svg #site-logo {
    background-image: url('http://cdn.citylab.com/static/citylab/img/logos/logo.png?4b3f7d913676');
    background-position: 8px 28px; }
  #site-logo:after {
    position: absolute;
    top: 0;
    left: -1000px;
    content: url('http://cdn.citylab.com/static/citylab/img/logos/full-logo.png?dd93a2decc6b'); }
  @media print {
    #site-logo {
      width: 230px;
      height: 70px;
      bottom: -40px;
      left: 0;
      padding: 0; }
      #site-logo:after {
        left: 0; } }

#site-logo a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

#site-logo h1 {
  text-indent: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden; }

#site-header .ad-wrapper {
  text-align: center;
  padding-bottom: 20px;
  min-height: 1px;
  width: auto;
  font-size: 0px; }
  @media (max-width: 720px) {
    #site-header .ad-wrapper {
      padding-bottom: 5px;
      background: #e4e4e4; } }
  @media print {
    #site-header .ad-wrapper {
      display: none; } }

#site-header .ad {
  display: inline-block;
  min-height: 1px;
  margin: 0 auto; }

#main-nav-wrapper .toggle-nav {
  -webkit-transition: color 0.2s false;
  -moz-transition: color 0.2s false false;
  -o-transition: color 0.2s false false;
  transition: color 0.2s;
  display: none;
  line-height: 1;
  text-transform: uppercase;
  font-weight: bold;
  color: #000;
  float: right;
  height: 52px;
  line-height: 52px;
  padding: 0 10px;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 17px; }
  @media (max-width: 720px) {
    #main-nav-wrapper .toggle-nav {
      display: inline; } }

#main-nav-wrapper .toggle-nav:hover {
  color: #0ab8eb; }

#main-nav-wrapper.active .toggle-nav {
  background: #333;
  color: #fff; }

#main-nav-wrapper .toggle-nav::after {
  font-family: "atl-icons";
  content: "";
  padding-left: 5px; }

.main-nav {
  line-height: 1;
  text-transform: uppercase; }
  @media (max-width: 720px) {
    .main-nav {
      display: none; } }

@media (max-width: 720px) {
  #main-nav-wrapper .main-nav {
    display: none; }
  #main-nav-wrapper.active .main-nav {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1001;
    padding: 5px 25px 30px;
    width: 320px;
    display: block;
    background: #333;
    overflow: hidden;
    position: absolute;
    top: 52px;
    right: 0; } }

@media (max-width: 720px) and (max-width: 400px) {
  #main-nav-wrapper.active .main-nav {
    width: 100%; } }

@media (max-width: 720px) {
  #main-nav-wrapper .main-nav ul {
    display: block;
    overflow: hidden;
    margin-left: -6%;
    padding-left: 3%; }
  #main-nav-wrapper .main-nav .channel-nav {
    width: 100%; }
  #main-nav-wrapper .channel-nav > li,
  #main-nav-wrapper .secondary-nav > li {
    display: block;
    width: 44%;
    margin-left: 6%;
    float: left;
    text-align: left;
    border-bottom: 1px solid #999; }
  #main-nav-wrapper .channel-nav > li a,
  #main-nav-wrapper .secondary-nav > li a {
    display: block;
    padding: 10px 0;
    line-height: 1; }
  #main-nav-wrapper .channel-nav,
  #main-nav-wrapper .secondary-nav-wrapper {
    position: static; }
  #main-nav-wrapper .channel-nav {
    font-weight: normal; }
  #main-nav-wrapper .channel-nav a {
    color: #fff; }
    #main-nav-wrapper .channel-nav a:hover {
      color: #0ab8eb; }
  #main-nav-wrapper .secondary-nav {
    text-transform: none; }
  #main-nav-wrapper .secondary-nav > li {
    -webkit-box-shadow: inherit;
    -moz-box-shadow: inherit;
    box-shadow: inherit;
    height: inherit;
    line-height: inherit;
    background: inherit; }
  #main-nav-wrapper .secondary-nav a {
    color: #0ab8eb; }
  #main-nav-wrapper .secondary-nav a:hover {
    background: inherit;
    color: #fff; }
  #main-nav-wrapper .secondary-nav .search {
    display: none; }
  #main-nav-wrapper .secondary-nav .social {
    width: 100%;
    background: inherit;
    border-bottom: 0;
    margin-top: 20px; }
  #main-nav-wrapper .secondary-nav .social ul {
    display: table;
    border-spacing: 0; }
  #main-nav-wrapper .secondary-nav .social li {
    float: none; }
  #main-nav-wrapper .secondary-nav .social-icon {
    -webkit-transition: color 0.2s false, background 0.2s false;
    -moz-transition: color 0.2s false false, background 0.2s false false;
    -o-transition: color 0.2s false false, background 0.2s false false;
    transition: color 0.2s, background 0.2s;
    color: #fff; }
  #main-nav-wrapper .secondary-nav .social-icon.facebook {
    background: #3d5ba8; }
    #main-nav-wrapper .secondary-nav .social-icon.facebook:hover {
      background: #2f4783; }
  #main-nav-wrapper .secondary-nav .social-icon.twitter {
    background: #24abe2; }
    #main-nav-wrapper .secondary-nav .social-icon.twitter:hover {
      background: #198cba; }
  #main-nav-wrapper .secondary-nav .social-icon.googleplus {
    background: #e04426; }
    #main-nav-wrapper .secondary-nav .social-icon.googleplus:hover {
      background: #b9341a; }
  #main-nav-wrapper .secondary-nav .social-icon.linkedin {
    background: #007bb6; }
    #main-nav-wrapper .secondary-nav .social-icon.linkedin:hover {
      background: #005983; }
  #main-nav-wrapper .secondary-nav .social-icon.rss {
    background: #f7941e; }
    #main-nav-wrapper .secondary-nav .social-icon.rss:hover {
      background: #da7a08; }
  #main-nav-wrapper .secondary-nav .social a {
    font-size: 1.17647em;
    display: inline-block;
    background: #000;
    padding: 10px;
    border-radius: 50px;
    line-height: 1; }
  #main-nav-wrapper .secondary-nav .social a:hover {
    background: inherit; }
  #main-nav-wrapper .main-nav .search-box {
    margin-top: 20px;
    display: block;
    position: relative; } }

.main-nav ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: table; }

.main-nav ul > li {
  display: table-cell;
  text-align: center; }

/* Positioning nav elements */
.main-nav .channel-nav,
.main-nav .secondary-nav-wrapper {
  position: absolute;
  left: 240px; }
  @media (max-width: 960px) {
    .main-nav .channel-nav,
    .main-nav .secondary-nav-wrapper {
      left: 180px; } }

/* Channel Nav */
.main-nav .channel-nav {
  width: 700px;
  bottom: -40px;
  font-size: 1.05882em;
  font-weight: bold; }
  @media (max-width: 960px) {
    .main-nav .channel-nav {
      bottom: -50px;
      left: 0;
      width: 100%; } }

.main-nav .channel-nav a {
  color: #000; }

.main-nav .channel-nav a:hover {
  color: #0ab8eb; }

/* Secondary Nav */
.main-nav .secondary-nav {
  border-collapse: separate;
  border-spacing: 5px 0;
  width: 100%; }

.main-nav .secondary-nav-wrapper {
  bottom: 0;
  right: 0; }

.main-nav .secondary-nav > li {
  -webkit-box-shadow: inset 0px -10px 15px -10px #999;
  -moz-box-shadow: inset 0px -10px 15px -10px #999;
  box-shadow: inset 0px -10px 15px -10px #999;
  font-size: 0.88235em;
  letter-spacing: 0.02px;
  height: 30px;
  line-height: 30px;
  background: #0ab8eb; }

.main-nav .secondary-nav a {
  display: block;
  color: #fff; }

.main-nav .secondary-nav a:hover {
  color: #fff;
  background: #000; }

.main-nav .secondary-nav .search {
  background: #666; }

.main-nav .secondary-nav .search a:after {
  font-family: "atl-icons";
  content: "";
  padding-left: 5px; }

/* Social tab */
.main-nav .secondary-nav .social {
  background: #000; }
  @media (max-width: 960px) {
    .main-nav .secondary-nav .social {
      display: none; } }

.main-nav .secondary-nav .social ul {
  width: 100%;
  border-spacing: 0;
  display: table; }

.main-nav .secondary-nav .social a {
  color: #fff;
  padding: 0 2px; }

.main-nav .secondary-nav .social a:hover {
  background: #0ab8eb; }

/* Nav Search Box */
.main-nav .search-box {
  display: none;
  position: absolute; }

.main-nav .search-box input[type=text] {
  height: 30px; }

.main-nav .search-box button {
  height: 26px;
  line-height: 26px;
  padding: 0; }

.main-nav .search-box input[type=text] {
  border: 0;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px; }

/* Icon variables */
/**
 * This is a function to relativize font sizes. If a font-size isn't directly
 * tied to layout, please use this so it will be easier to resize fonts in
 * smaller viewports.
 */
#site-footer {
  background: #666;
  color: #fff;
  overflow: hidden;
  padding-top: 30px;
  clear: both; }
  @media print {
    #site-footer {
      display: none; } }

#site-footer a {
  color: #fff; }

#site-footer a:hover {
  color: #0ab8eb; }

#site-footer h1, #site-footer h2, #site-footer h3 {
  font-family: "Oxygen", Helvetica, Arial, sans-serif; }

#site-footer .fluid-container {
  overflow: hidden;
  padding-bottom: 50px; }
  @media (max-width: 960px) {
    #site-footer .fluid-container {
      max-width: inherit; } }
  @media (max-width: 900px) {
    #site-footer .fluid-container {
      width: 100%; } }

@media (max-width: 900px) {
  #site-footer .footer-content,
  #site-footer .follow,
  #site-footer h2 {
    width: 94%;
    max-width: 620px;
    margin: 20px auto; } }

/* Footer section toggling. */
@media (max-width: 900px) {
  #site-footer .fluid-container {
    padding-bottom: 0; }
  #site-footer .footer-content {
    display: none; }
  #site-footer .active .footer-content {
    display: block; }
  #site-footer .footer-heading {
    cursor: pointer;
    margin-top: -1px; }
  #site-footer .footer-heading h2:after {
    padding-left: 5px;
    content: "+"; }
  #site-footer .active .footer-heading h2:after {
    content: "-"; } }

#site-footer .follow,
#site-footer .about,
#site-footer .elsewhere {
  float: left; }
  @media (max-width: 900px) {
    #site-footer .follow,
    #site-footer .about,
    #site-footer .elsewhere {
      float: none; } }

#site-footer .follow {
  width: 28%;
  margin-right: 2%;
  font-size: 0.94118em; }
  @media (max-width: 900px) {
    #site-footer .follow {
      width: 96%;
      margin: 0 auto; } }

#site-footer .follow h3 {
  font-size: 0.94118em;
  margin: 50px 0 10px; }
  @media (max-width: 900px) {
    #site-footer .follow h3 {
      margin: 10px 0; } }

#site-footer .follow p {
  margin-top: 0; }

#site-footer .follow .social-icons {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden; }
  @media (max-width: 900px) {
    #site-footer .follow .social-icons {
      max-width: 320px; } }

#site-footer .follow .social-icons li {
  text-align: center;
  width: 20%;
  float: left; }

#site-footer .follow .social-icon {
  line-height: 1;
  display: inline-block; }

#site-footer .follow .social-icon:hover {
  color: #fff; }

@media (max-width: 900px) {
  #footer-newsletter {
    max-width: 350px; } }

#footer-newsletter input[type=email],
#footer-newsletter input[type=submit] {
  float: left;
  height: 30px; }

#footer-newsletter input[type=email] {
  border: 0;
  width: 80%; }

#footer-newsletter input[type=submit] {
  width: 20%; }

#footer-newsletter p {
  margin: 0; }

#footer-newsletter fieldset {
  border: 0;
  padding: 10px 0 0;
  margin: 0;
  clear: both; }

#footer-newsletter label {
  font-size: 0.82353em; }

/* More About CityLab */
#site-footer .about {
  width: 17%;
  margin: 0 1%; }
  @media (max-width: 900px) {
    #site-footer .about {
      width: 100%;
      margin: 20px 0 0; } }

@media (max-width: 900px) {
  #site-footer .footer-heading {
    color: #fff;
    background: #999;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 5px 0; } }

@media (max-width: 900px) {
  #site-footer h2 {
    font-size: 0.94118em; } }

#site-footer .about h2 {
  background-image: url('http://cdn.citylab.com/static/citylab/img/logos/logo.svg?4b3f7d913676');
  background-size: contain;
  background-repeat: no-repeat;
  width: 140px;
  height: 25px;
  text-indent: -10000px;
  margin: 0 0 20px; }
  @media (max-width: 900px) {
    #site-footer .about h2 {
      background-image: inherit;
      text-indent: 0;
      width: 96%;
      height: inherit;
      margin: 0 auto; } }

#site-footer .about ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  font-size: 0.82353em;
  overflow: hidden; }

#site-footer .about li {
  margin-bottom: 15px; }
  @media (max-width: 900px) {
    #site-footer .about li {
      width: 33%;
      float: left; } }
  @media (max-width: 550px) {
    #site-footer .about li {
      width: 50%; } }

/* Elsewhere at Atlantic Media */
#site-footer .elsewhere {
  width: 47%;
  margin-left: 2%; }
  @media (max-width: 900px) {
    #site-footer .elsewhere {
      margin: 0;
      width: 100%; } }

#site-footer .elsewhere h2 {
  margin: 0 auto 20px;
  font-size: 0.94118em; }
  @media (max-width: 900px) {
    #site-footer .elsewhere h2 {
      margin: 0 auto; } }

#site-footer .partner-row {
  margin: 0 -2%;
  overflow: hidden; }

#site-footer .partner {
  width: 46%;
  margin: 0 2%;
  float: left; }
  @media (max-width: 550px) {
    #site-footer .partner {
      width: 60%;
      margin: 0 auto;
      float: none; } }

#site-footer .partner ul {
  margin-top: 0;
  padding-left: 25px;
  font-size: 0.76471em; }
  @media (max-width: 550px) {
    #site-footer .partner ul {
      margin-bottom: 30px; } }

#site-footer .partner li {
  margin-bottom: 9px;
  line-height: 1.3; }

#site-footer .partner h3 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 0.82353em;
  text-transform: uppercase; }

@media (min-width: 900px) {
  #site-footer .partner h3 {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    margin-bottom: 15px;
    display: inline-block;
    background-color: #fff;
    text-indent: -10000px;
    background-size: 95%;
    background-repeat: no-repeat;
    background-position: center; }
  #site-footer .partner h3 a {
    color: #000; }
  #site-footer .partner.the-atlantic h3 {
    background-image: url('http://cdn.citylab.com/static/citylab/img/logos/partners/theatlantic.svg?4b3f7d913676');
    width: 80px;
    height: 30px; }
  #site-footer .partner.the-atlantic-wire h3 {
    background-image: url('http://cdn.citylab.com/static/citylab/img/logos/partners/thewire.svg?4b3f7d913676');
    width: 70px;
    height: 40px; }
  #site-footer .partner.quartz h3 {
    background-image: url('http://cdn.citylab.com/static/citylab/img/logos/partners/quartz.png?4b3f7d913676');
    width: 110px;
    height: 25px; }
  #site-footer .partner.national-journal h3 {
    background-image: url('http://cdn.citylab.com/static/citylab/img/logos/partners/nationaljournal.png?4b3f7d913676');
    width: 135px;
    height: 25px; } }

/* Copyright */
#copyright {
  background: #333;
  color: #999;
  text-align: center;
  padding: 20px;
  font-size: 0.82353em; }

@charset "UTF-8";
/**
 * This is a function to relativize font sizes. If a font-size isn't directly
 * tied to layout, please use this so it will be easier to resize fonts in
 * smaller viewports.
 */
/* Icon variables */
.grid-wrapper {
  overflow: hidden;
  clear: both; }

.grid {
  overflow: hidden;
  list-style-type: none;
  margin: 0 -10px;
  padding: 0; }
  @media (max-width: 660px) {
    .grid {
      margin: 0; } }

.grid.three-by .three-row {
  clear: left; }
  @media (max-width: 960px) {
    .grid.three-by .three-row {
      clear: none; } }

.grid .two-row {
  clear: left; }

.grid.three-by .two-row {
  clear: none; }
  @media (max-width: 960px) {
    .grid.three-by .two-row {
      clear: left; } }

.grid.three-by .three-row.two-row {
  clear: left; }

.grid .clear-row {
  clear: both; }

.grid-item, .hero {
  margin-bottom: 30px;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  @media (max-width: 660px) {
    .grid-item, .hero {
      margin-bottom: 0; } }

.grid-item {
  width: 300px;
  margin-left: 10px;
  margin-right: 10px;
  float: left;
  border-top: 10px solid #e4e4e4;
  padding-top: 10px;
  font-size: 0.82353em; }
  @media (max-width: 660px) {
    .grid-item {
      width: inherit;
      margin: inherit;
      float: none;
      border-top: 0;
      padding: 20px 0;
      overflow: hidden; } }

@media (max-width: 660px) {
  .grid-item + .grid-item {
    border-top: 1px solid #ccc; } }

@media (max-width: 660px) {
  .grid-item.article {
    padding-left: 130px; } }

.grid-item.article figure,
.hero figure {
  position: relative; }

@media (max-width: 660px) {
  .grid-item.article figure {
    max-width: 120px;
    float: left;
    margin-right: 5px; } }

.grid-item figure img,
.hero figure img {
  display: block;
  outline: 1px solid #ccc;
  outline-offset: -1px; }

.grid-item.article figure img {
  width: 300px;
  height: 185px; }
  @media (max-width: 660px) {
    .grid-item.article figure img {
      width: 120px;
      height: 74px; } }

.hero figure img {
  width: 620px;
  height: 384px;
  outline-offset: 0; }
  @media (max-width: 660px) {
    .hero figure img {
      max-width: 620px;
      width: 100%;
      height: inherit; } }

.grid-item figure figcaption,
.hero figure figcaption {
  display: inline-block;
  position: absolute;
  bottom: 1px;
  right: 1px;
  padding: 3px 5px;
  font-size: 0.70588em;
  color: #ccc;
  background: #000;
  background: rgba(35, 31, 32, 0.6); }
  @media (max-width: 660px) {
    .grid-item figure figcaption,
    .hero figure figcaption {
      display: none; } }

@media (max-width: 660px) {
  .grid-item.article figure {
    margin-left: -130px; } }

.hero {
  padding: 10px;
  width: 100%;
  max-width: 620px;
  text-align: center;
  outline: 1px solid #ccc;
  outline-offset: -1px; }

.grid-item .kicker,
.hero .kicker {
  background: #0ab8eb;
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  padding: 5px;
  line-height: 1;
  position: absolute;
  left: 1px;
  top: 1px;
  z-index: 1000; }

.grid-item .kicker {
  margin-top: 10px; }
  @media (max-width: 660px) {
    .grid-item .kicker {
      display: none; } }

.grid-item .kicker.no-image {
  position: relative;
  margin-top: 0; }

.hero .kicker {
  padding: 6px 8px; }

@media (min-width: 660px) {
  .mdzr-csstransforms .hero .kicker {
    left: 50%;
    top: 355px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%); } }

.hero figure {
  margin: -10px -10px 0; }

.hero .hed,
.grid-item .hed {
  font-family: "Bitter", Georgia, "Times New Roman", serif;
  font-size: 1.57143em;
  line-height: 1.09091;
  margin: 10px 0 7px; }
  @media (max-width: 660px) {
    .hero .hed,
    .grid-item .hed {
      font-size: 1.28571em; } }

@media (max-width: 660px) {
  .grid-item .hed {
    margin: 0 0 1px; } }

.hero a,
.grid-item a {
  color: #000; }
  .hero a:hover,
  .grid-item a:hover {
    text-decoration: underline; }

.hero a:hover .hed,
.grid-item a:hover .hed {
  text-decoration: underline; }

.hero .dek,
.grid-item .dek {
  margin: 0 0 10px;
  line-height: 1.3; }
  @media (max-width: 660px) {
    .hero .dek,
    .grid-item .dek {
      display: none; } }

.hero .metadata,
.grid-item .metadata {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.hero .metadata li,
.grid-item .metadata li {
  display: inline;
  padding-right: 5px; }

.hero .byline {
  font-size: 0.82353em; }

.hero .byline a,
.grid-item .byline a {
  font-weight: bold;
  text-transform: uppercase; }
  @media (max-width: 660px) {
    .hero .byline a,
    .grid-item .byline a {
      font-weight: normal;
      color: #656565; } }

.hero .comments a,
.grid-item .comments a {
  color: #000; }
  @media (max-width: 660px) {
    .hero .comments a,
    .grid-item .comments a {
      display: none; } }

.hero .comments a:before,
.grid-item .comments a:before {
  font-family: "atl-icons";
  content: "";
  display: inline-block;
  padding-right: 5px;
  vertical-align: -0.07143em; }

.hero .metadata .comments,
.hero .metadata .date,
.grid-item .metadata .date {
  display: none; }

/* Styles for promos inserted into the article grid */
.grid-item .promo {
  text-align: center;
  outline: 1px solid #ccc;
  outline-offset: -1px;
  overflow: hidden;
  max-width: 300px;
  padding: 0 20px 20px; }
  @media (max-width: 660px) {
    .grid-item .promo {
      margin: auto; } }

.grid-item .promo .rubric {
  line-height: 1;
  background: black;
  color: white;
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  display: inline-block;
  margin: 0;
  padding: 10px 15px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-weight: bold;
  font-size: 16px; }

.grid-item .promo img {
  width: 260px;
  margin: 15px auto; }

.grid-item .promo .hed {
  padding-left: 20px;
  padding-right: 20px;
  clear: both; }

@charset "UTF-8";
/**
 * This is a function to relativize font sizes. If a font-size isn't directly
 * tied to layout, please use this so it will be easier to resize fonts in
 * smaller viewports.
 */
/* Icon variables */
.promo-grid-wrapper {
  overflow: hidden;
  margin-left: -20px;
  margin-right: -20px; }
  @media (max-width: 660px) {
    .promo-grid-wrapper {
      margin: 0; } }

.promo-grid {
  display: table;
  border-collapse: separate;
  border-spacing: 20px 0; }
  @media (max-width: 660px) {
    .promo-grid {
      margin: 0 auto; } }

.promo-item {
  display: table-cell;
  max-width: 300px;
  padding: 0 20px 20px;
  text-align: center;
  font-size: 1.05882em;
  list-style: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  outline: 1px solid #ccc;
  outline-offset: -1px; }
  @media (max-width: 660px) {
    .promo-item {
      display: block; } }

.promo-item li {
  display: none; }

.promo-item li:first-child {
  display: block; }

.promo-item + .promo-item {
  margin-top: 20px; }

.promo-item a {
  color: #000; }
  .promo-item a:hover {
    text-decoration: underline; }

.promo-item .module-tag {
  font-size: 1.05882em; }

.promo-item img {
  width: 260px;
  max-width: 100%; }
  @media (min-width: 960px), (max-width: 660px) {
    .promo-item img {
      height: 160px; } }

.promo-item .thumb {
  margin-top: 10px; }

.promo-item .hed {
  font-family: "Oxygen", Helvetica, Arial, sans-serif;
  font-size: 1em;
  line-height: 1.11111;
  margin: 10px 0 0; }

.promo-item .go {
  display: inline-block;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 10px; }
  .promo-item .go:after {
    font-family: "atl-icons";
    content: "";
    padding-left: 5px;
    display: inline-block; }

/* Icon variables */
/* Icon variables */
/**
 * This is a function to relativize font sizes. If a font-size isn't directly
 * tied to layout, please use this so it will be easier to resize fonts in
 * smaller viewports.
 */
.module {
  border: 1px solid #ccc;
  padding: 0 40px 40px;
  text-align: center;
  margin-bottom: 30px; }

.module .module-tag {
  margin: 0 0 20px;
  font-size: 1.05882em; }

.module ul {
  margin: 0; }

.module li {
  text-align: left; }

/* Most popular. */
#most-popular {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Bitter", Georgia, "Times New Roman", serif;
  font-size: 0.82353em;
  counter-reset: most-popular; }

#most-popular h2 {
  font-size: 1.28571em; }

#most-popular a {
  color: #000; }
  #most-popular a:hover {
    text-decoration: underline; }

#most-popular ol {
  margin: 0 0 25px;
  padding: 0;
  list-style-type: none; }

#most-popular li {
  border-top: 1px dashed #999;
  padding: 15px 0 15px 25px;
  position: relative;
  min-height: 31px;
  line-height: 1.3; }
  #most-popular li:first-child {
    border-top: 0;
    padding-top: 0; }
  #most-popular li:before {
    counter-increment: most-popular;
    content: counter(most-popular);
    position: absolute;
    left: 0;
    font-size: 2.6em;
    text-align: right;
    width: 50px;
    margin-left: -30px;
    line-height: 1; }

/*
Other welcome screens should @import this file and define background-image,
background-size, width, and height to .welcome-lightbox-logo
*/
.welcome-lightbox {
  z-index: 9900000;
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background: white;
  display: none; }

.welcome-lightbox-bg {
  z-index: 6000000;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #ddd; }

.welcome-lightbox-head {
  z-index: 6000003; }

.welcome-lightbox-body {
  z-index: 6000002; }

.welcome-lightbox-content {
  z-index: 6000004; }

.welcome-lightbox-container {
  z-index: 6000005; }

.welcome-lightbox .welcome-lightbox-logo {
  background-position: top left;
  background-repeat: no-repeat;
  text-indent: -1000px;
  float: left;
  margin: 0.25em 0;
  width: 120px;
  height: 32px; }

.welcome-lightbox-continue {
  display: none;
  border: 0;
  color: #FFF;
  padding: 0.5em 2em;
  margin: 0;
  font-size: 14px;
  text-transform: uppercase;
  float: right;
  position: absolute;
  bottom: 4px;
  right: 0;
  background: transparent;
  cursor: pointer; }
  @media (max-width: 500px) {
    .welcome-lightbox-continue {
      padding: 0.75em 0; } }

.welcome-lightbox-continue a {
  color: white;
  text-decoration: none; }

.welcome-lightbox-head {
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  position: relative;
  width: auto;
  padding: 0 1em;
  margin-bottom: 0.5em;
  background: black; }
  @media (max-width: 500px) {
    .welcome-lightbox-head {
      padding: 0.25em; } }

.welcome-lightbox .welcome-lightbox-ad {
  width: 100%; }

.welcome-lightbox .ad-container {
  position: absolute;
  top: 50%;
  left: 50%; }

.welcome-lightbox.format-300x600 .ad-container {
  width: 300px;
  height: 600px;
  margin: -300px 0 0 -150px; }

.welcome-lightbox.format-300x250 .ad-container {
  width: 300px;
  height: 250px;
  margin: -125px 0 0 -150px; }

.welcome-lightbox.format-640x480 .ad-container {
  width: 640px;
  height: 480px;
  margin: -240px 0 0 -320px; }

.welcome-lightbox.format-1024x768 .ad-container {
  width: 1024px;
  height: 768px;
  margin: -384px 0 0 -512px; }

.welcome-lightbox.format-768x1024 .ad-container {
  width: 768px;
  height: 1024px;
  margin: -512px 0 0 -384px; }

.welcome-lightbox .welcome-lightbox-content {
  width: auto;
  height: 100%;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.welcome-lightbox .welcome-lightbox-body {
  position: absolute;
  width: 100%;
  height: auto;
  top: 36px;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0;
  border: 0; }

.welcome-lightbox.format-300x600 .welcome-lightbox-body {
  min-height: 600px; }

.welcome-lightbox.format-300x250 .welcome-lightbox-body {
  min-height: 250px; }

.welcome-lightbox.format-640x480 .welcome-lightbox-body {
  min-height: 480px; }

.welcome-lightbox.format-1024x768 .welcome-lightbox-body {
  min-height: 768px; }

.welcome-lightbox.format-768x1024 .welcome-lightbox-body {
  min-height: 1024px; }

.welcome-lightbox .welcome-lightbox-copy {
  position: absolute;
  top: 50%;
  width: 100%;
  text-align: center;
  color: #777; }

.welcome-lightbox.format-640x480 .welcome-lightbox-copy {
  margin-top: -270px; }

.welcome-lightbox.format-300x600 .welcome-lightbox-copy {
  margin-top: -330px; }

.welcome-lightbox.format-300x250 .welcome-lightbox-copy {
  margin-top: -155px; }

.welcome-lightbox.format-1024x768 .welcome-lightbox-copy {
  margin-top: -414px; }

.welcome-lightbox.format-768x1024 .welcome-lightbox-copy {
  margin-top: -542px; }

/**
 * Scale some ads to fit within the iPad's browser,
 * compensating for the Safari toolbar and leaving
 * space for our logo+continue button.
 */
@media (max-height: 700px) {
  .welcome-lightbox.format-300x600 .welcome-lightbox-body {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); } }

.welcome-lightbox.format-768x1024 .welcome-lightbox-ad iframe {
  -webkit-transform: scale(0.85);
  -webkit-transform-origin-x: center;
  -webkit-transform-origin-y: 0;
  transform: scale(0.86);
  transform-origin-x: center;
  transform-origin-y: 0;
  margin-top: 12px; }
  @media (orientation: landscape) {
    .welcome-lightbox.format-768x1024 .welcome-lightbox-ad iframe {
      -webkit-transform: scale(0.58);
      -webkit-transform-origin-x: 100%;
      -webkit-transform-origin-y: 0;
      transform: scale(0.58);
      transform-origin-x: 100%;
      transform-origin-y: 0;
      margin-top: 20px; } }

.welcome-lightbox.format-1024x768 .welcome-lightbox-ad iframe {
  -webkit-transform: scale(0.8);
  -webkit-transform-origin-x: center;
  -webkit-transform-origin-y: 0;
  transform: scale(0.8);
  transform-origin-x: center;
  transform-origin-y: 0; }
  @media (orientation: portrait) {
    .welcome-lightbox.format-1024x768 .welcome-lightbox-ad iframe {
      -webkit-transform: scale(0.74);
      -webkit-transform-origin-x: 12px;
      -webkit-transform-origin-y: 0;
      transform: scale(0.74);
      transform-origin-x: 12px;
      transform-origin-y: 0;
      margin-top: 134px; } }

@media (orientation: landscape) {
  .welcome-lightbox.format-768x1024 .ad-container {
    width: 1024px;
    height: 768px;
    margin: -384px 0 0 -512px; }
  .welcome-lightbox.format-768x1024 .welcome-lightbox-body {
    min-height: 768px; } }

@media (orientation: portrait) {
  .welcome-lightbox.format-1024x768 .ad-container {
    width: 768px;
    height: 1024px;
    margin: -512px 0 0 -384px; }
  .welcome-lightbox.format-1024x768 .welcome-lightbox-body {
    min-height: 1024px; } }

.overflow-hidden {
  overflow: hidden; }

.welcome-lightbox .welcome-lightbox-logo {
  background-color: #000;
  background-image: url('http://cdn.citylab.com/static/citylab/img/logos/logo.svg?4b3f7d913676');
  background-position: left 4px bottom 8px;
  background-repeat: no-repeat;
  background-size: auto 28px;
  height: 28px;
  margin-bottom: 0;
  padding: 4px 6px 8px;
  width: 140px; }

.mdzr-no-svg .welcome-lightbox .welcome-lightbox-logo {
  background-image: url('http://cdn.citylab.com/static/citylab/img/logos/logo.png?4b3f7d913676'); }

.cookie-disclaimer {
  font-family: "Helvetica Neue", "Helvetica", "Arial", san-serif;
  position: relative;
  overflow: hidden;
  background: #4E8CD3;
  color: white;
  text-align: center;
  padding: 10px;
  font-size: 14px;
  z-index: 50000000; }

.cookie-disclaimer .wrapper {
  max-width: 925px;
  margin: 0 auto;
  position: relative; }

.cookie-disclaimer p {
  margin: 10px 0;
  margin-right: 160px;
  line-height: 1.5; }
  @media (max-width: 640px) {
    .cookie-disclaimer p {
      margin-right: 0; } }

.cookie-disclaimer button {
  background: white;
  color: #4E8CD3;
  border-radius: 5px;
  border: 0;
  width: 140px;
  padding: 10px;
  box-sizing: border-box;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 0; }
  @media (max-width: 640px) {
    .cookie-disclaimer button {
      position: relative;
      margin: 10px auto; } }

.cookie-disclaimer a {
  color: white;
  white-space: nowrap; }


@charset "UTF-8";
/**
 * Font name: bitter-bold;
 * accentColor: #40b9ea;
 */
#newsletter-slider {
  width: 250px;
  height: 200px;
  background-image: url('http://cdn.citylab.com/static/citylab/newsletter-slider/citylabnewsbackground.png?66c0afbcd8d5');
  border: 0px solid #ccc;
  box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25);
  position: fixed;
  bottom: 0;
  right: -300px;
  z-index: 100000;
  transition: 0.5s linear right;
  font-family: "Bitter",Georgia,"Times New Roman",serif;
  font-weight: bold; }

#newsletter-slider.active {
  right: 5px; }

#newsletter-slider header {
  color: white;
  text-align: right;
  text-transform: lowercase;
  background-color: rgba(0, 0, 0, 0.5);
  height: 20px;
  padding: 2px 5px 5px 5px; }

#newsletter-slider .close {
  cursor: pointer;
  float: right;
  font-weight: normal; }

#newsletter-slider .close:after {
  content: "×";
  text-align: center;
  height: 8px;
  width: 10px;
  margin-left: 5px;
  clear: both; }

#newsletter-slider .slider-icon {
  content: url('http://cdn.citylab.com/static/citylab/newsletter-slider/citylabnewsicon1.png?66c0afbcd8d5');
  width: 22px;
  height: 24px;
  float: left; }

#newsletter-slider .slider-body .slider-logo-container,
#newsletter-slider .slider-body .slider-message-box,
#newsletter-slider .slider-body .slider-signup {
  margin: 7px 5px 0px 9px; }

#newsletter-slider .slider-logo-container {
  margin-top: 3px;
  height: 12px; }

#newsletter-slider .slider-logo {
  content: url('http://cdn.citylab.com/static/citylab/img/logos/logo.svg?4b3f7d913676');
  width: 76px;
  height: 12px;
  margin-left: 65%; }

#newsletter-slider .slider-message-box {
  margin: 0px 0px 0px 15px;
  height: 86px; }

#newsletter-slider .slider-message-box > h2,
#newsletter-slider .slider-message-box > h3,
#newsletter-slider .slider-message-box > p {
  margin: 10px 0px 0px 0px; }

#newsletter-slider .slider-headline {
  font-size: 26px;
  color: #40b9ea; }

#newsletter-slider .slider-subline {
  font-size: 14px;
  color: white; }

#newsletter-slider .slider-results-message {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  color: #40b9ea;
  font-size: 13px;
  margin-right: 15px;
  text-align: center;
  line-height: 18px; }

#newsletter-slider .slider-signup {
  margin-left: 10px; }

#newsletter-slider .slider-signup input,
#newsletter-slider .slider-signup button {
  padding: 4px 4px 4px 4px;
  font-weight: normal; }

#newsletter-slider .slider-signup input[type=email] {
  width: 65%;
  font-size: 13px;
  border-radius: 5px 0px 0px 5px; }

#newsletter-slider .slider-signup input[type=submit] {
  width: 33%;
  background-color: #40b9ea;
  border: 2px solid #40b9ea;
  font-size: 13px;
  border-radius: 0px 5px 5px 0px; }

#newsletter-slider .slider-opt-out {
  margin-top: 10px;
  text-align: center;
  font-size: 11px;
  color: #DDDDDD;
  font-weight: normal;
  cursor: pointer; }

#newsletter-slider .slider-opt-out input {
  padding-left: 40px; }

#newsletter-slider .slider-opt-out span {
  margin-left: 5px; }
