*,
:after,
:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
* {
  -webkit-transition: 100ms all linear;
  transition: 100ms all linear;
  backface-visibility: hidden;
}
body {
  position: relative;
  margin: 0 auto;
  padding: 1%;
  text-align: center;
  background: #f2f2f2;
  overflow-x: hidden;
}
p { color: #CCC; }
article p { color: #000; }
article { text-align: left; padding: 5%; border: 1px solid #333; }
.section { clear: both; padding: 0px; margin: 0px; }
/*  COLUMN SETUP  */
.col { display: block; float:left; margin: 1% 0 1% 2.3%; }
.col:first-child { margin-left: 0; }
/*  GROUPING  */
.group:before,
.group:after { content:""; display:table; }
.group:after { clear:both;}
.group { zoom:1; /* For IE 6/7 */ }
/*  GRID OF TWELVE  */
.span_12_of_12 { width: 100%; }
.span_11_of_12 { width: 91.47%; }
.span_10_of_12 { width: 82.95%; }
.span_9_of_12 { width: 74.42%; }
.span_8_of_12 { width: 65.9%; }
.span_7_of_12 { width: 57.37%; }
.span_6_of_12 { width: 48.85%; }
.span_5_of_12 { width: 40.32%; }
.span_4_of_12 { width: 31.8%; }
.span_3_of_12 { width: 23.27%; }
.span_2_of_12 { width: 14.75%; }
.span_1_of_12 { width: 6.225%; }

@media only screen and (max-width: 1024px) { }

@media only screen and (max-width: 768px) {
  .col {
    margin: 1% 0 1% 0%;
  }
  .span_1_of_12,
  .span_2_of_12,
  .span_3_of_12,
  .span_4_of_12,
  .span_5_of_12,
  .span_6_of_12,
  .span_7_of_12,
  .span_8_of_12,
  .span_9_of_12,
  .span_10_of_12,
  .span_11_of_12,
  .span_12_of_12 { width: 100%; }
}
section {
  position: relative;
  max-width: 1180px;
  margin: 5% auto; 
  padding: 50px;
  text-align: center;
  background: #CCC;
  border: 1px solid blue;
}
aside { 
  padding: 30px;
  background: #FFF;
  box-shadow: 0 0 5px;
}
aside, aside.blank { float: right; }
aside.blank { background: transparent; }
.sticky_modal {
  position: fixed;
  top: 50px;
  right: -50%;
  -webkit-animation: slide 0.5s forwards;
  -webkit-animation-delay: 1s;
  animation: slide 0.5s forwards;
  animation-delay: 1s;
}

@-webkit-keyframes slide {
    100% { right: 14.75%; }
}

@keyframes slide {
    100% { right: 14.75%; }
}

@media only screen and (max-width: 768px) {
  body {padding: 10px;}
  section {overflow-x: visible;}
  aside.span_4_of_12 { 
    display: block;
    padding: 20px;
    background: #FFF;
    border: 1px solid #000; 
  }
  aside.blank { display: none; }
  .sticky_modal {
    position: fixed;
    margin: 0;
    top: unset;
    float: none;
    right: 10px;
    width: calc(100% - 20px);
    bottom: -200px;
    -webkit-animation: slideup 0.5s forwards;
    -webkit-animation-delay: 1s;
    animation: slideup 0.5s forwards;
    animation-delay: 1s;
  }

  @-webkit-keyframes slideup {
      100% { bottom: 10px; }
  }

  @keyframes slideup {
      100% { bottom: 10px; }
  }
}