/* 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; }
  .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; }
    .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.5rem;
    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; }
    .metadata__byline {
      font-weight: 700;
      padding-bottom: 0; }
      .metadata__byline a {
        color: #006598; }
    .metadata:after {
      clear: both;
      content: '';
      display: table; } }
/* CNN Sharebar */
.share-container {
  width: 300px;
  position: relative;
  margin-left: -15px; }
  .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("http://i.cdn.turner.com/cnn/.e/img/4.0/interactive/sharebar/email.png");
        background-size: 35px 35px; }
      .share-container .share-bar li.share-button.facebook {
        background: url("http://i.cdn.turner.com/cnn/.e/img/4.0/interactive/sharebar/facebook.png");
        background-size: 35px 35px; }
      .share-container .share-bar li.share-button.twitter {
        background: url("http://i.cdn.turner.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("http://i.cdn.turner.com/cnn/.e/img/4.0/interactive/sharebar/email.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.facebook {
          background: url("http://i.cdn.turner.com/cnn/.e/img/4.0/interactive/sharebar/facebook.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.twitter {
          background: url("http://i.cdn.turner.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("http://i.cdn.turner.com/cnn/.e/img/4.0/interactive/sharebar/email.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.facebook {
          background: url("http://i.cdn.turner.com/cnn/.e/img/4.0/interactive/sharebar/facebook.png");
          background-size: 35px 35px; }
        .share-container .share-bar li.share-button.twitter {
          background: url("http://i.cdn.turner.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); } }
/* Project-level vars */
/* 
    CNN Colors
    based on swatches from Data vis style guide
    (http://docs.turner.com/display/cnndxg/Data+Visualisation+style+guide)
*/
.interactive-container {
  margin-bottom: 40px; }

a {
  text-decoration: none; }

.machine-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  background-image: url("../media/pink-bg.png");
  background-repeat: no-repeat;
  background-position: center 20px;
  background-size: contain; }

.machine-foreground {
  z-index: 0;
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 500px; }

.push-button-container {
  position: absolute;
  width: 80px;
  height: 80px;
  top: 6.5%;
  left: 82%;
  transform: translate(-50%, -50%);
  z-index: 15; }

.push-button {
  font-weight: bold;
  background-color: #e5678b;
  font-size: 1.3em;
  line-height: 80px;
  width: 90%;
  height: 90%;
  color: #FEFEFE;
  border-radius: 50%;
  text-transform: uppercase;
  margin: 0 auto; }
  .push-button:hover {
    cursor: pointer; }
  .push-button.is-active {
    cursor: default;
    transform: scale(0.9) translateY(2px); }

@media screen and (max-width: 480px) {
  .push-button-container {
    width: 60px;
    height: 60px; }

  .push-button {
    font-size: 1em;
    line-height: 60px; } }
.pipes {
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto; }

.ball {
  margin-left: -4%;
  margin-top: -4%;
  width: 8%;
  position: absolute;
  height: auto;
  z-index: 5; }

.ball-1 {
  top: 20.5%;
  left: 81%; }

.ball-2 {
  top: 42%;
  left: 54%; }

.bubble {
  position: absolute;
  height: auto;
  z-index: 20; }

.trump {
  top: 47%;
  left: 9%;
  width: 25%; }
  .trump.is-active {
    animation: .5s ease-in-out 0s infinite alternate trumpNod; }

.heart {
  top: 65.5%;
  left: 59%;
  width: 35%; }
  .heart.is-active {
    animation: .3s ease-in-out 0s infinite alternate pumpHeart; }

.hearts {
  top: 33%;
  left: 79%;
  width: 14%; }
  .hearts.is-active {
    animation: .1s linear 0s infinite forwards flutterHearts; }

.machine-output-wrapper {
  box-sizing: border-box;
  position: relative;
  top: -6px;
  border-radius: 20px;
  border: 15px solid #e5678b;
  background-color: #FEFEFE;
  color: #e5678b;
  font-weight: bold;
  font-size: 1.3em;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  height: 7.5em; }

.machine-output-area {
  position: absolute;
  top: -7px;
  bottom: -7px;
  left: -7px;
  right: -7px;
  border: 2px dotted #FEFEFE;
  border-radius: 8px;
  padding: 20px 15px; }

.joke-text {
  display: block;
  width: 100%;
  padding: 0 15px;
  margin-left: -14px;
  position: absolute;
  text-align: center;
  animation: .3s linear 0s 1 forwards jokeAppear; }

@keyframes jokeAppear {
  0% {
    top: 0;
    opacity: 0; }
  100% {
    top: 50%;
    transform: translateY(-50%);
    opacity: 1; } }
@keyframes pumpHeart {
  0% {
    transform: scale(1, 1); }
  100% {
    transform: scale(1.1, 1.1); } }
@keyframes trumpNod {
  0% {
    transform: rotate(0deg) translateY(0); }
  100% {
    transform: rotate(-5deg) translateY(2%); } }
@keyframes flutterHearts {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(-5deg); }
  75% {
    transform: rotate(5deg); }
  100% {
    transform: rotate(0deg); } }
@keyframes swimmingWhale {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-5px); } }
.another-wrapper {
  text-align: center;
  margin: 15px auto; }

.show-me-another {
  display: none;
  border: 1px solid #9083a5;
  color: #9083a5;
  background-color: #fff1ff;
  padding: .3em .6em; }
  .show-me-another.is-active {
    display: inline; }
  .show-me-another:hover {
    cursor: pointer;
    background-color: #e5678b;
    color: #FEFEFE; }

.byline {
  margin-top: 2em;
  text-align: center;
  font-style: italic;
  color: #A6A6A6; }

.share-container {
  margin-top: 0; }

@media screen and (max-width: 768px) {
  .share-container .share-bar {
    padding-left: 0;
    padding-right: 40px; }

  .share-container .share-bar li.share-button {
    float: left; } }
@media screen and (max-width: 500px) {
  .intro {
    clear: both; } }

/*# sourceMappingURL=valentine-generator.css.map */
