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

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

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

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

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

[hidden]{ display:none}

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

body{ margin:0}

a:focus{ outline:thin dotted}

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

h1{ font-size:2em}

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

b, 
strong{ font-weight:bold}

dfn{ font-style:italic}

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

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

pre{ white-space:pre;  white-space:pre-wrap;  word-wrap:break-word}

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

small{ font-size:80%}

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

sup{ top:-0.5em}

sub{ bottom:-0.25em}

img{ border:0}

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

figure{ margin:0}

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

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

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

button, 
input{ line-height:normal}

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

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

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

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

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

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

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

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

html, 
button, 
input, 
select, 
textarea{ color:#222}

body{ font-size:1em;  line-height:1.4}


::-moz-selection{ background:#b3d4fc;  text-shadow:none}

::selection{ background:#b3d4fc;  text-shadow:none}

hr{ display:block;  height:1px;  border:0;  border-top:1px solid #ccc;  margin:1em 0;  padding:0}

img{ width:auto\9;  height:auto;  max-width:100%;  vertical-align:middle;  border:0;  -ms-interpolation-mode:bicubic}

fieldset{ border:0;  margin:0;  padding:0}

textarea{ resize:vertical}

.chromeframe{ margin:0.2em 0;  background:#ccc;  color:#000;  padding:0.2em 0}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* Make things just work, even in IE8+ */
* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* icomoon.io's custom css font styles */
@font-face {
  font-family: 'icomoon';
  src:url('/content/dam/aarp/ws/aarp-saves-me-money/fonts/icomoon.eot');
  src:url('/content/dam/aarp/ws/aarp-saves-me-money/fonts/icomoon.eot?#iefix') format('embedded-opentype'),
    url('/content/dam/aarp/ws/aarp-saves-me-money/fonts/icomoon.svg#icomoon') format('svg'),
    url('/content/dam/aarp/ws/aarp-saves-me-money/fonts/icomoon.woff') format('woff'),
    url('/content/dam/aarp/ws/aarp-saves-me-money/fonts/icomoon.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* Use the following CSS code if you want to use data attributes for inserting your icons */
[data-icon]:before {
  font-family: 'icomoon';
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}

/* Use the following CSS code if you want to have a class per icon */
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: 'icomoon';
  font-style: normal;
  speak: none;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}
.icon-plus-alt:before {
  content: "\21";
}
.icon-arrow-right:before {
  content: "\22";
}

body:after { 
  display: none; 
  /* Default */
  content: "Mobile";
}

.lt-ie9 body {
  min-height: 2000px;
}

#container {
  margin: 0 auto;
  max-width: 1100px;
  padding: 0 1em;
}

/* ==========================================================================
   Header
   ========================================================================== */

.logo {
  float: left;
}

header {
  padding: 1em 0;
}

header p {
  float: right;
  margin-top: 0;
  width: 50%;
  line-height: .8;  
  text-align: right;
}

header a {
  font-size: .7em;
  text-decoration: none;
  color: #222;
}

header strong {
  color: #DB0000;
}

/* Twitter Bootstrap's pagination styles */
.pagination {
  height: 40px;
  margin: 20px 0;
  z-index: 11;
}
.pagination ul {
  display: inline-block;
  padding: 0;
  margin-left: 0;
  margin-bottom: 0;
  width: 100%;
}
.pagination ul > li {
  display: inline;
}
.pagination ul > li > a,
.pagination ul > li > span {
  float: left;
  margin-right: 5px;
  padding: 2px 10px 0;
  line-height: 28px;
  text-decoration: none;
  background-color: #ffffff;
  border: 2px solid #dddddd;
  color: #222;
  border-radius: 3px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.pagination ul > li > a:hover,
.pagination ul > .active > a,
.pagination ul > .active > span {
  background-color: #E62519;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#E62519), to(#A31B0E));
  background-image: -webkit-linear-gradient(top, #E62519, #A31B0E);
  background-image:    -moz-linear-gradient(top, #E62519, #A31B0E);
  background-image:      -o-linear-gradient(top, #E62519, #A31B0E);
  background-image:         linear-gradient(to bottom, #E62519, #A31B0E);
  color: white;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
  color: white;
  cursor: default;
}
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover {
  color: red;
  background-color: transparent;
  cursor: default;
}
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
  border-left-width: 1px;
  border-radius: 3px 0 0 3px;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
  border-radius: 0 3px 3px 0;
}
.pagination-centered {
  text-align: center;
}
.pagination-right {
  text-align: right;
}

/* Twitter Bootstrap's carousel styles */
.carousel {
  position: relative;
  line-height: 1;
}
.carousel-inner {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.carousel .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -moz-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel .item > img {
  display: block;
  line-height: 1;
}
.carousel .active,
.carousel .next,
.carousel .prev {
  display: block;
}
.carousel .item.active {
  left: 0;
}
.carousel .next,
.carousel .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel .next {
  left: 100%;
}
.carousel .prev {
  left: -100%;
}
.carousel .next.left,
.carousel .prev.right {
  left: 0;
}
.carousel .active.left {
  left: -100%;
}
.carousel .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  /* adjust top with media queries */
  top: 25%;
  left: 5px;
  width: 43px;
  height: 43px;
  margin-top: -20px;
  font: 100 60px "Helvetica Neue", Helvetica, Arial;
  font-weight: 100;
  line-height: .44;
  color: #ffffff;
  text-align: center;
  background: #222222;
  border: 3px solid #ffffff;
  border-radius: 23px;
  opacity: 0.5;
  filter: alpha(opacity=50);
  z-index: 10;
  text-decoration: none;;
}
.carousel-control.right {
  left: auto;
  right: 5px;
}
.carousel-control:hover {
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background: #333333;
  background: rgba(0, 0, 0, 0.75);
}
.carousel-caption h4,
.carousel-caption p {
  color: #ffffff;
  line-height: 20px;
}
.carousel-caption h4 {
  margin: 0 0 5px;
}
.carousel-caption p {
  margin-bottom: 0;
}

.carousel-nav {
  display: none;
  bottom: 37%;
  left: 3%;
  position: absolute;
  width: 100%;
}

.intro {
  margin: 1em 0 1em;
  line-height: 1.4;
  font-size: .9em;
}


/* ==========================================================================
   Modules
   ========================================================================== */

.module {
  position: relative;
}

.module:last-child {
  border-bottom: 2px solid #ccc;
}

.module-content {
  padding: 1.5em 1em 2.5em;
}

.module h2 {
  float: left;
  margin: 0;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 1.1em;
  color: #DB0000;
}

.module-content > p,
.module-content > img {
  display: none;
  margin: 0;
}

.module article {
  border-top: 1px solid #ccc;
}

.module ul {
  margin: 0;
  padding: 0;
}

.module li {
  position: relative;
  list-style: none;
}

.module li > a,
.module p > a {
  display: block;
  min-height: 38px;
  padding: .5em 5em .5em 1em;
  font-weight: bold;
  text-decoration: none;
  color: #666;
  background: rgb(255,255,255); 
  background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(229,229,229,1) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(229,229,229,1)));
  background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%);
  background: -o-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%);
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(229,229,229,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 );
}

.module a:hover {
  background: #FBFCCF;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FBFCCF', endColorstr='#FBFCCF',GradientType=0 );
}

.module li > a:after,
.module p > a:after {
  position: absolute;
  content: " ▶";
  right: 1em;
  top: 30%;
  font-size: 1.3em;
  color: #999;
}

.module li:hover a:after,
.module p:hover a:after {
  color: #E62519;
}

.module article > p {
  margin: 0;
  position: relative;
}

.module p > a {
  padding: 1em 1em 0;
}

.toggle-btn.icon-plus-alt, .toggle {
  float: right;
  margin-top: -1.7em;
  margin-right: 1em;
  font-size: 1.3rem;
  cursor: pointer;
}

.lt-ie9 .toggle-btn.icon-plus-alt, .lt-ie9 .toggle {
  padding-top: .7em;
  font-size: 20px;
}

.toggle {
  -webkit-transition: all 0.3s ease-out; 
     -moz-transition: all 0.3s ease-out; 
       -o-transition: all 0.3s ease-out; 
          transition: all 0.3s ease-out; 
}  

.toggle.close {
  -webkit-transform: rotate(45deg); 
     -moz-transform: rotate(45deg); 
      -ms-transform: rotate(45deg); 
       -o-transform: rotate(45deg); 
          transform: rotate(45deg); 
}

.module-content, .toggle-btn {
  cursor: pointer;  
}

/* Twitter Bootstrap's buttons/dropdowns styles */
.btn {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 20px;
  vertical-align: middle;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #eee);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#eee));
  background-image: -webkit-linear-gradient(top, #ffffff, #eee);
  background-image: -o-linear-gradient(top, #ffffff, #eee);
  background-image: linear-gradient(to bottom, #ffffff, #eee);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #eee #eee #bfbfbf;
  border-color: rgba(0, 0, 0, 0.05) rgba(0, 0, 0, 0.05) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  border: 1px solid #bbbbbb;
  border-bottom-color: #a2a2a2;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn:hover,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
  color: #333333;
  background-color: #eee;
}
.btn:active,
.btn.active {
  background-color: #cccccc \9;
}
.btn:hover {
  color: #333333;
  text-decoration: none;
  background-color: #eee;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
.btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn.active,
.btn:active {
  background-color: #eee;
  background-color: #d9d9d9 \9;
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn.disabled,
.btn[disabled] {
  cursor: default;
  background-color: #e6e6e6;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-group {
  position: relative;
  font-size: 0;
  vertical-align: middle;
}
.btn-group + .btn-group {
  margin-left: 5px;
}
.btn-toolbar {
  font-size: 0;
  margin-top: 10px;
  margin-bottom: 10px;
}
.btn-toolbar .btn-group {
  display: inline-block;
}
.btn-toolbar .btn + .btn,
.btn-toolbar .btn-group + .btn,
.btn-toolbar .btn + .btn-group {
  margin-left: 5px;
}
.btn-group > .btn {
  position: relative;
  border-radius: 0;
}
.btn-group > .btn + .btn {
  margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu {
  font-size: 13px;
}
.btn-group > .btn-mini {
  font-size: 11px;
}
.btn-group > .btn-small {
  font-size: 12px;
}
.btn-group > .btn-large {
  font-size: 16px;
}
.btn-group > .btn:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.btn-group > .btn.large:first-child {
  margin-left: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
  -webkit-border-top-right-radius: 6px;
  border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
  z-index: 2;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn-group > .btn-mini + .dropdown-toggle {
  padding-left: 5px;
  padding-right: 5px;
}
.btn-group > .btn-large + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  background-image: none;
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.btn-group.open .btn.dropdown-toggle {
  background-color: #e6e6e6;
}
.btn-group.open .btn-primary.dropdown-toggle {
  background-color: #0044cc;
}
.btn-group.open .btn-warning.dropdown-toggle {
  background-color: #f89406;
}
.btn-group.open .btn-danger.dropdown-toggle {
  background-color: #bd362f;
}
.btn-group.open .btn-success.dropdown-toggle {
  background-color: #51a351;
}
.btn-group.open .btn-info.dropdown-toggle {
  background-color: #2f96b4;
}
.btn-group.open .btn-inverse.dropdown-toggle {
  background-color: #222222;
}
.btn .caret {
  margin-top: 8px;
  margin-left: 0;
}
.btn-mini .caret,
.btn-small .caret,
.btn-large .caret {
  margin-top: 6px;
}
.btn-large .caret {
  border-left-width: 5px;
  border-right-width: 5px;
  border-top-width: 5px;
}
.dropup .btn-large .caret {
  border-bottom: 5px solid #000000;
  border-top: 0;
}
.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.btn-group-vertical {
  display: inline-block;
  width: 100%;
}
.btn-group-vertical .btn {
  border-radius: 0;
}
.btn-group-vertical .btn + .btn {
  margin-left: 0;
  margin-top: -1px;
}
.btn-group-vertical .btn:first-child {
  border-radius: 4px 4px 0 0;
}
.btn-group-vertical .btn:last-child {
  border-radius: 0 0 4px 4px;
}
.btn-group-vertical .btn-large:first-child {
  border-radius: 6px 6px 0 0;
}
.btn-group-vertical .btn-large:last-child {
  border-radius: 0 0 6px 6px;
}


/* ==========================================================================
   Footer
   ========================================================================== */

footer {
  font-size: .8em;
  padding-top: 1em;
}

footer h3 {
  font-size: 1em;
}

footer a {
  color: blue;
}

.social {
  margin-bottom: 1em;
}

.icons {
  padding: 0;
}

.icons li {
  float: left;
  list-style: none;
  margin-right: 4%;
}

.icons a {
  font-size: .8em;
  text-decoration: none;
  color: #222;
}

.icons li:last-child a {
  margin-right: 0;
}

.piggy {
  text-align: right;
  position: relative;
  margin-top: -10.5em;
  width: 50%;
  float: right;
}

.piggy img {
  bottom: 0;
  position: absolute;
  right: 0;
}

.piggy span {
  bottom: 0;
  display: inline-block;
  left: 0;
  padding-right: 4.5em;
  position: absolute;
  width: 100%;
  color: #695c53;
  font-weight: bold;
}

#privacy {
  clear: both;
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir{ background-color:transparent;  border:0;  overflow:hidden}

.ir:before{ content:"";  display:block;  width:0;  height:100%}

.hidden{ display:none !important;  visibility:hidden}

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

.visuallyhidden.focusable:active, 
.visuallyhidden.focusable:focus{ clip:auto;  height:auto;  margin:0;  overflow:visible;  position:static;  width:auto}

.invisible{ visibility:hidden}

.clearfix:before, 
.clearfix:after{ content:""; /* 1 */ display:table; /* 2 */}

.clearfix:after{ clear:both}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   Theses examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

/* 37.5em = 600px */
@media only screen and (min-width: 37.5em) {

  .intro {
    font-size: 1.05em;
  }

  header {
    padding: 2em;
  }

  .arrow {
    position: absolute;
    top: 20%;
  }

  .carousel {
    margin-bottom: 20px;
  }

  .carousel-control {
    display: none;
  }

  .carousel-nav {
   bottom: 0%;
  }

  .module h2 {
    font-size: 1.3em;
  }

  .address {
    float: left;
    padding-right: 3em;
    margin-right: 3em;
    border-right: 1px solid #aaa;
  }

  .social {
    float: left;
    min-width: 37%;
  }

  .piggy {
    margin-top: 0;
    min-height: 7.6em;
    width: 24%;
  }
}

/* 37.5625 = 601px to activate slider pagination */
@media only screen and (min-width: 37.5625em) {

  .carousel-nav {
   display: block;
  }
}

/* 40.625em = 650px */
@media only screen and (min-width: 40.625em) {

  .piggy {
    width: 28%;
  }

}

/* 43.75em = 700px */
@media only screen and (min-width: 43.75em) {

  .piggy {
    width: 30%;
  }

}

/* 48em = 768px */
@media only screen and (min-width: 48em) {

  body:after {
    content: "Desktop";
  }

  #container {
    padding: 2em;
  }

  .intro {
    margin: 0 3.5% 1em;
  }

  .btn {
    display: inline-block;
    background-color: #fff;
    background-image: -moz-linear-gradient(top, #fff, #fff);
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#fff));
    background-image: -webkit-linear-gradient(top, #fff, #fff);
    background-image: -o-linear-gradient(top, #fff, #fff);
    background-image: linear-gradient(to bottom, #fff, #fff);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffffffff', GradientType=0);
  }

  .btn:hover,
  .btn:active,
  .btn.active,
  .btn.disabled,
  .btn[disabled] {
    background-color: white;
  }

  .module {
    float: left;
    margin: 2em 3.5% 3.5% 0;
    padding: 0;
    position: relative;
    width: 44%;
  -webkit-box-shadow: 0px 0px 8px 2px rgba(0,0,0,.2);
          box-shadow: 0px 0px 8px 2px rgba(0,0,0,.2);
  }

  .module:nth-child(odd) {
    margin-left: 3.5%;
  }
  /* IE8 hack for :nth() 
   * http://stackoverflow.com/a/8492882 
   */
  .lt-ie9 .module:first-child,
  .lt-ie9 .module:first-child + .module + .module,
  .lt-ie9 .module:first-child + .module + .module + .module + .module {
    margin-left: 1.9em;
  }

  .module h2 {
    position: absolute;
    top: -1.5em;
  }

  .module-content {
    padding: 0;
  }

  .module-content > p {
    display: block;
    padding: 1em 2em 1em 1em;
    text-transform: uppercase;
  }

  .module-content > img {
    display: inline-block;
  }

  .toggle-btn.icon-plus-alt, .toggle {
    margin-right: .5em;
    margin-top: -1.5em;
  }

  .lt-ie9 .toggle-btn.icon-plus-alt, .lt-ie9 .toggle {
    margin-top: -2.5em;
  }

  .module article {
    margin: -5px 0 20px -1px;
    position: absolute;
    width: 100.7%;
    background: white;
    border: 1px solid #bbb;
    border-bottom: 6px solid #bbb;
    border-top: none;
    z-index: 2;
    border-radius: 0 0 4px 4px;
    -webkit-box-shadow: 0 15px 9px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 9px 2px rgba(0, 0, 0, 0.2);
  }

  .module article h4 {
    margin: 0;
    padding: .5em .5em .3em;
    color: white;
    background: grey;
    text-shadow: none;
  }

  [role=main] {
    border-bottom: 1px solid #eee;
    margin-bottom: 2em;
  }

  .icons li {
    margin-right: 8%;
  }

  .piggy {
    float: right;
    text-align: right;
    width: 35%;
  }

  .piggy img {
    bottom: 1em;
  }

  .piggy span {
    bottom: 1em;
    padding-right: 6em;
  }

  footer {
    margin: 0 3.5%;
    padding-top: 0;
  }

  footer h3, footer p {
    font-size: .75em;
  }
}

/* 68.75em = 1100px */
@media only screen and (min-width: 68.75em) {
  
  .module {
    width: 29%;
    margin: 3% 3% 3% 0;
  }

  .lt-ie9 .module {
    width: 28.5%;
  }

  .module:nth-child(odd),
  .module:nth-child(3n+3) {
    margin-left: auto;
  }

  .module:first-child, 
  .module:nth-child(4n+4) {
    margin-left: 3%;
  }

  .lt-ie9 .module:first-child,
  .lt-ie9 .module:first-child + .module + .module,
  .lt-ie9 .module:first-child + .module + .module + .module + .module {
    margin-left: 0;
  }

  .lt-ie9 [role=main] {
    padding-left: 3%;
  }

  .icons li {
    margin-right: 10%;
  }

}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow:none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
