/* Required */
/*  ------------------------------------------------------------------

@library :      CNN Grid System - SASS
@version :      0.0.0.1
@description :  System for managing breakpoints and
	            responsive grid columns.

@author :       Kenneth Uzquiano (kenneth.uzquiano@gmail.com)

------------------------------------------------------------------ */
    /*  BASE VALUES
		-----------
		All default values for generating the grid can be found in the
		'lib/vars' file. They can also be overidden by the project's vars file.
		Here is a brief description of what each variable within this file does.
		These variables are global, as they need to be used from mixin to mixin,
		but are calculated at each grid change, thus, do not need to be initialized.

		    $grid-id :              Active grid id
		    $grid-active :          Active grid
		    $grid-columns :         Number of columns in active grid
		    $grid-column-width :    Width of a column based on units below
		    $grid-query :           Media query for active grid
		    $grid-full-width :      Full width of active grid
    */
    /*  -------------------------------
	                MIXINS
		-------------------------------

		@mixin :                @mixin breakpoint( $breakpointId: mobile )
		@description :          Define active grid by id
		@param $breakpointId :  Id of grid to activate (default : mobile)
		@param $retina :        Include media queries for retina displays (default : false)
    */
/* 20px */
    /*
    	@mixin :                @mixin grid-col( $col: 1 )
		@description :          Calculate widths of grid columns based on px, ems, or %
		@param $col :           Number of columns to calculate width (default : 1)
		@param $fluid :         Calculate using percentages vs em / px (default : true)
	*/
/*
	@mixin :                @mixin grid-row( $fluid: true )
	@description :          Define a row to house columned elements
	@param $fluid :         Calculate using percentages vs em / px (default : true)
*/
/*
	---------------------------------
	           FUNCTIONS
	---------------------------------
*/
/*
	@function :         -fn-findGridById( $gridID: mobile )
	@description :      Define active grid by id
	@param $gridId :    Id of grid to activate
*/
/*
	@function :         -fn-setGridProperties($p_grid)
	@description :      Set properties based on active grid
	@param $p_grid :    Grid to use to set properties
*/
/*
	@function :         -fn-getStaticWidth($col: 1)
	@description :      Calculate and return the static width of columns.
	@param $col :       Number of columns to use to calculate static width.
*/
/*
	@function :         -fn-getFluidWidth($col: 1)
	@description :      Calculate and return the fluid width of columns.
	@param $col :       Number of columns to use to calculate fluid width.
*/
/*
	@function :         -fn-getStaticMargin()
	@description :      Calculate and return the static margin
	@param :            null
*/
/*
	@function :         -fn-getFluidMargin()
	@description :      Calculate and return the fluid margin
	@param :            null
*/
body {
  font-size: 16px;
  font-family: CNN,"Helvetica Neue",Helvetica,Arial,Utkal,sans-serif; }
  body * {
    box-sizing: border-box; }

/* Set up flexible containers */
.interactive-container,
.cnn-outbrain,
#comments,
#disqus_thread {
  margin: 0 auto;
  width: 95%;
  max-width: 980px; }

/* ------------ MOBILE / DEFAULT STYLES ------------ */
h1 {
  font-size: 1.75rem;
  line-height: 1.21429;
  padding: 10px 0 0;
  font-weight: 300;
  margin: 10px 0; }

.metadata {
  color: #737373;
  font-weight: 400;
  font-size: .75rem;
  line-height: 1.5; }
  .metadata p {
    margin-bottom: 0;
    color: #0c0c0c;
    padding-top: 5px; }
  .metadata__byline {
    font-weight: 700;
    padding-bottom: 0; }
    .metadata__byline a {
      color: #006598; }
  .metadata:after {
    clear: both;
    content: '';
    display: table; }

p {
  padding: 0 10px 18px 0; }

/* ------------ TABLET STYLES ------------ */
/* md 10 screen and (min-width: 30em) */
@media screen and (min-width: 30em) {
  h1 {
    font-size: 3.25rem;
    line-height: 1.07692;
    padding: 10px 0 0;
    font-weight: 300;
    margin: 10px 0; }

  .metadata {
    color: #737373;
    font-weight: 400;
    font-size: .875rem;
    line-height: 1.57143; }
    .metadata p {
      margin-bottom: 0;
      color: #0c0c0c;
      padding-top: 5px; }
    .metadata__byline {
      font-weight: 700;
      padding-bottom: 0; }
      .metadata__byline a {
        color: #006598; }
    .metadata:after {
      clear: both;
      content: '';
      display: table; } }
/* ------------ DESKTOP STYLES ------------ */
/* lg 12 screen and (min-width: 48em) */
@media screen and (min-width: 48em) {
  h1 {
    font-size: 3.875rem;
    line-height: 1.06452;
    padding: 10px 0 0;
    font-weight: 300;
    margin: 10px 0; }

  .metadata {
    color: #737373;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5; }
    .metadata p {
      margin-bottom: 0;
      width: 82%;
      padding-top: 5px;
      color: #0c0c0c; }
    .metadata__byline {
      font-weight: 700;
      padding-bottom: 0; }
      .metadata__byline a {
        color: #006598; }
    .metadata:after {
      clear: both;
      content: '';
      display: table; } }
/*
    HEADER
*/
.cnn-skinny-header {
  background-color: #ca0002;
  color: #fff;
  margin: 0;
  padding: 0;
  height: 35px; }

.header-container {
  width: 95%;
  max-width: 980px;
  position: relative;
  text-align: center;
  margin: 0 auto;
  padding: 0;
  line-height: 100%; }

a.header-link {
  position: absolute;
  left: 0;
  top: 10px;
  color: #fff;
  font-size: 11px;
  font-weight: bold; }
  a.header-link:hover, a.header-link:active, a.header-link:visited {
    color: #fff; }

.logo-link img {
  width: 51px;
  height: 35px; }

/*
    FOOTER
*/
.footer {
  clear: both;
  margin: 20px 0 0 0;
  width: 100%;
  padding: 0;
  text-align: center; }

.footer-container {
  width: 95%;
  max-width: 980px;
  border-top: 10px solid #ca0002;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 20px;
  margin-bottom: 0;
  text-align: left; }
  .footer-container p {
    display: inline-block;
    color: #666666;
    font-size: 10px;
    padding: 0;
    margin: 0; }
  .footer-container p.footer-links {
    float: right;
    display: block; }
  @media screen and (max-width: 640px) {
    .footer-container {
      width: 100%;
      border: 0;
      background-color: #e6e1df;
      padding-top: 20px;
      margin-bottom: 0; }
      .footer-container p, .footer-container p.footer-links {
        display: block;
        font-size: 12px;
        float: none;
        text-align: center;
        padding: 0;
        margin: 0; } }

/* CNN Sharebar */
.share-container {
  width: 300px;
  position: relative;
  margin-left: -15px;
  margin-bottom: 10px; }
  .share-container .share-bar {
    width: auto;
    display: inline-block;
    float: none; }
    .share-container .share-bar li.share-button {
      width: 35px;
      height: 35px;
      float: right;
      margin-left: 15px;
      cursor: pointer;
      list-style-type: none;
      -webkit-transition: transform 0.5s ease 0s;
      transition: transform 0.5s ease 0s; }
      .share-container .share-bar li.share-button.email {
        background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/email.png");
        background-size: 35px 35px; }
      .share-container .share-bar li.share-button.facebook {
        background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/facebook.png");
        background-size: 35px 35px; }
      .share-container .share-bar li.share-button.twitter {
        background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/twitter.png");
        background-size: 35px 35px; }
      .share-container .share-bar li.share-button:hover {
        transform: scale(1.2, 1.2);
        -webkit-transform: scale(1.2, 1.2); }

/*---------------
TABLET
---------------*/
/* md 10 screen and (min-width: 30em) */
@media screen and (min-width: 30em) {
  .share-container {
    width: 300px;
    position: relative;
    margin-left: -15px;
    clear: both;
    margin-top: 0px; }
    .share-container .share-bar {
      width: auto;
      display: inline-block;
      float: left;
      padding-bottom: 15px; }
      .share-container .share-bar li.share-button {
        width: 35px;
        height: 35px;
        float: right;
        margin-left: 15px;
        cursor: pointer;
        list-style-type: none;
        -webkit-transition: transform 0.5s ease 0s;
        transition: transform 0.5s ease 0s; }
        .share-container .share-bar li.share-button.email {
          background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/email.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.facebook {
          background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/facebook.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.twitter {
          background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/twitter.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button:hover {
          transform: scale(1.2, 1.2);
          -webkit-transform: scale(1.2, 1.2); } }
/*---------------
DESKTOP
---------------*/
/* lg 12 screen and (min-width: 48em) */
@media screen and (min-width: 48em) {
  .share-container {
    width: 300px;
    float: right;
    margin-left: 0;
    margin-bottom: 10px;
    margin-top: -60px; }
    .share-container .share-bar {
      width: auto;
      display: inline-block;
      float: right; }
      .share-container .share-bar li.share-button {
        width: 35px;
        height: 35px;
        float: right;
        margin-left: 15px;
        cursor: pointer;
        list-style-type: none;
        -webkit-transition: transform 0.5s ease 0s;
        transition: transform 0.5s ease 0s; }
        .share-container .share-bar li.share-button.email {
          background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/email.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.facebook {
          background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/facebook.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.twitter {
          background: url("https://cdn.cnn.com/cnn/.e/img/4.0/interactive/sharebar/twitter.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button:hover {
          transform: scale(1.2, 1.2);
          -webkit-transform: scale(1.2, 1.2); } }
/*
CNN Expansion 2.0 Colors
*/
/* Optional (uncomment if needed) */
/* @import "buttons"; */
body {
  background-image: url("../media/bg-sotu-bingo.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }

.source {
  font-size: .75rem;
  color: #595959;
  text-align: right; }

.cnnint-section {
  padding: 0 0 20px;
  margin: 0 0 20px;
  border-bottom: 1px solid #bfbfbf; }
  .cnnint-section img {
    padding: 0; }
    .cnnint-section img.full-width {
      max-width: 980px;
      width: 100%; }
    .cnnint-section img.left {
      max-width: 640px;
      width: 60%;
      float: left;
      padding-right: 20px; }
    .cnnint-section img.right {
      max-width: 640px;
      width: 60%;
      float: right;
      padding-left: 20px; }
  .cnnint-section .cvp-video {
    height: 0;
    position: relative;
    padding-bottom: 56.25%;
    margin-bottom: 20px; }
    .cnnint-section .cvp-video div {
      height: auto;
      max-width: 100%;
      width: 100%; }
    .cnnint-section .cvp-video video, .cnnint-section .cvp-video iframe, .cnnint-section .cvp-video object {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }

@media screen and (max-width: 480px) {
  .cnnint-section img {
    padding: 10px 0; }
    .cnnint-section img.full-width {
      max-width: 480px;
      width: 100%; }
    .cnnint-section img.left, .cnnint-section img.right {
      max-width: 480px;
      width: 100%;
      float: none;
      padding-right: 0px;
      padding-left: 0px; } }
/* --------------- BINGO CARD ----------------- */
@media screen and (min-width: 768px) {
  .sotu-bingo {
    width: 749px;
    height: 1008px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 40px; }
    .sotu-bingo img {
      width: 100%;
      height: auto; }
    .sotu-bingo-card {
      top: 321px;
      left: 68px;
      position: absolute;
      width: 616px;
      overflow: hidden;
      height: 612px; }
      .sotu-bingo-card #space-free {
        background: url("../media/free-star.png") top center no-repeat; }
      .sotu-bingo-card #winner {
        position: absolute;
        top: 616px;
        left: 0; }
        .sotu-bingo-card #winner .banner {
          width: 100%;
          position: absolute;
          bottom: 0;
          left: 0;
          padding: 10px;
          background-color: #000;
          text-align: center; }
          .sotu-bingo-card #winner .banner p {
            color: #fff;
            font-size: 1em; }
            .sotu-bingo-card #winner .banner p span {
              font-weight: 700;
              display: block; }
      .sotu-bingo-card-space {
        width: 118px;
        height: 118px;
        float: left;
        margin: 0 5px 5px 0;
        text-align: center;
        display: table;
        cursor: pointer;
        padding: 4px;
        overflow: hidden; }
        .sotu-bingo-card-space img {
          display: inline; }
        .sotu-bingo-card-space.selected {
          background: url("../media/space-marker.png") top center no-repeat; }
        .sotu-bingo-card-space span {
          display: table-cell;
          vertical-align: middle;
          font-size: 0.9em; } }
@media screen and (min-width: 475px) and (max-width: 767px) {
  .sotu-bingo {
    width: 475px;
    height: 639px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 40px; }
    .sotu-bingo img {
      width: 100%;
      height: auto; }
    .sotu-bingo-card {
      top: 204px;
      left: 43px;
      position: absolute;
      width: 390px;
      height: 389px;
      overflow: hidden; }
      .sotu-bingo-card #space-free {
        background: url("../media/free-star.png") top center no-repeat;
        background-size: 75px 75px; }
      .sotu-bingo-card #winner {
        position: absolute;
        top: 396px;
        left: 0; }
        .sotu-bingo-card #winner .banner {
          width: 100%;
          position: absolute;
          bottom: 0;
          left: 0;
          padding: 10px;
          background-color: #000;
          text-align: center; }
          .sotu-bingo-card #winner .banner p {
            color: #fff;
            font-size: 0.8em; }
            .sotu-bingo-card #winner .banner p span {
              font-weight: 700;
              display: block; }
      .sotu-bingo-card-space {
        width: 75px;
        height: 75px;
        float: left;
        margin: 0 3px 3px 0;
        text-align: center;
        display: table;
        cursor: pointer;
        padding: 3px; }
        .sotu-bingo-card-space.selected {
          background-image: url("../media/space-marker.png");
          background-position: top center;
          background-repeat: no-repeat;
          background-size: 75px 75px; }
        .sotu-bingo-card-space span {
          display: table-cell;
          vertical-align: middle;
          font-size: .6em; } }
@media screen and (min-width: 321px) and (max-width: 474px) {
  .sotu-bingo {
    width: 320px;
    height: 430px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 40px; }
    .sotu-bingo img {
      width: 100%;
      height: auto; }
    .sotu-bingo-card {
      top: 137px;
      left: 29px;
      position: absolute;
      width: 266px;
      height: 262px;
      overflow: hidden; }
      .sotu-bingo-card #space-free {
        background: url("../media/free-star.png") top center no-repeat;
        background-size: 50px 50px; }
      .sotu-bingo-card #winner {
        position: absolute;
        top: 268px;
        left: 0; }
        .sotu-bingo-card #winner .banner {
          width: 100%;
          position: absolute;
          bottom: 0;
          left: 0;
          padding: 7px;
          background-color: #000;
          text-align: center; }
          .sotu-bingo-card #winner .banner p {
            color: #fff;
            font-size: 0.7em;
            line-height: 0.9em; }
            .sotu-bingo-card #winner .banner p span {
              font-weight: 700;
              display: inline; }
      .sotu-bingo-card-space {
        width: 50px;
        height: 50px;
        float: left;
        margin: 0 3px 3px 0;
        text-align: center;
        display: table;
        cursor: pointer;
        padding: 3px; }
        .sotu-bingo-card-space.selected {
          background-image: url("../media/space-marker.png");
          background-position: top center;
          background-repeat: no-repeat;
          background-size: 50px 50px; }
        .sotu-bingo-card-space span {
          display: table-cell;
          vertical-align: middle;
          font-size: 6px; } }
@media screen and (max-width: 320px) {
  .sotu-bingo {
    width: 320px;
    height: 430px;
    margin: 0 0 0 -8px;
    position: relative;
    margin-bottom: 40px; }
    .sotu-bingo img {
      width: 100%;
      height: auto; }
    .sotu-bingo-card {
      top: 137px;
      left: 29px;
      position: absolute;
      width: 266px;
      height: 262px;
      overflow: hidden; }
      .sotu-bingo-card #space-free {
        background: url("../media/free-star.png") top center no-repeat;
        background-size: 50px 50px; }
      .sotu-bingo-card #winner {
        position: absolute;
        top: 268px;
        left: 0; }
        .sotu-bingo-card #winner .banner {
          width: 100%;
          position: absolute;
          bottom: 0;
          left: 0;
          padding: 7px;
          background-color: #000;
          text-align: center; }
          .sotu-bingo-card #winner .banner p {
            color: #fff;
            font-size: 0.7em;
            line-height: 0.9em; }
            .sotu-bingo-card #winner .banner p span {
              font-weight: 700;
              display: inline; }
      .sotu-bingo-card-space {
        width: 50px;
        height: 50px;
        float: left;
        margin: 0 3px 3px 0;
        text-align: center;
        display: table;
        cursor: pointer;
        padding: 3px; }
        .sotu-bingo-card-space.selected {
          background-image: url("../media/space-marker.png");
          background-position: top center;
          background-repeat: no-repeat;
          background-size: 50px 50px; }
        .sotu-bingo-card-space span {
          display: table-cell;
          vertical-align: middle;
          font-size: 6px; } }

/*# sourceMappingURL=sotu-bingo.css.map */
