SOURCE

console 命令行工具 X clear

                    
>
console
console.clear();
var log = console.log.bind(console);


//
// Code by Gabi
// ===========================================================================
function changeFlex(e, t) {
  for (var n = document.querySelectorAll("." + e), l = document.querySelector("#" + t), r = 0; r < n.length; r++) n[r].addEventListener("change", function() {
    var e = this.value;
    l.setAttribute("class", "flex-container " + e)
  }, !1)
}

function changeItemFlex(e, t) {
  for (var n = document.querySelectorAll("." + e), l = document.querySelector("#" + t), r = 0; r < n.length; r++) n[r].addEventListener("change", function() {
    var e = this.value;
    l.setAttribute("class", "item " + e)
  }, !1)
}

function changeFlexBasis(e, t) {
  var n = isNaN(e.value) ? 0 : e.value;
  document.querySelector("#" + t).style.WebkitFlexBasis = n + "%", document.querySelector("#" + t).style.flexBasis = n + "%"
}

function changeFlexGrow(e, t) {
  var n = isNaN(e.value) ? 0 : e.value;
  document.querySelector("#" + t).style.WebkitFlexGrow = n, document.querySelector("#" + t).style.flexGrow = n
}

function changeFlexShrink(e, t) {
  var n = isNaN(e.value) ? 0 : e.value;
  document.querySelector("#" + t).style.WebkitFlexShrink = n, document.querySelector("#" + t).style.flexShrink = n
}

function changeFlexOrder(e, t) {
  var n = isNaN(e.value) ? 0 : e.value;
  document.querySelector("#" + t).style.WebkitOrder = n, document.querySelector("#" + t).style.order = n
}

function changeAll(e, t, n, l) {
  changeFlexBasis(e, l), changeFlexGrow(t, l), changeFlexShrink(n, l)
}
for (var items = document.querySelectorAll(".item"), i = 0; i < items.length; i++)
  if (items[i].hasAttribute("data-color")) {
    var color = items[i].getAttribute("data-color");
    items[i].style.backgroundColor = "#" + color
  }
for (var flexO = document.querySelectorAll(".flex-order"), o = 0; o < flexO.length; o++) flexO[o].addEventListener("change", function() {
  changeFlexOrder(this, "order" + this.id)
}, !1);
changeFlex("flex-direction", "direction"), changeFlex("flex-wrap", "wrap"), changeFlex("flex-align-items", "align"), changeFlex("justify-content", "justify"), changeFlex("align-content", "alignContent"), changeItemFlex("align-self", "alignSelf");
for (var flexGrow = document.querySelectorAll(".flex-grow"), i = 0; i < flexGrow.length; i++) flexGrow[i].addEventListener("change", function() {
  var e = "item" + this.id;
  changeFlexGrow(this, e)
});
for (var flexShrink = document.querySelectorAll(".flex-shrink"), j = 0; j < flexShrink.length; j++) flexShrink[j].addEventListener("change", function() {
  var e = "item" + this.id;
  changeFlexShrink(this, e)
});
var B1 = document.querySelector("#B1"),
  G1 = document.querySelector("#G1"),
  S1 = document.querySelector("#S1"),
  B2 = document.querySelector("#B2"),
  G2 = document.querySelector("#G2"),
  S2 = document.querySelector("#S2");
B1.addEventListener("change", function() {
  changeAll(B1, G1, S1, "item1")
}), G1.addEventListener("change", function() {
  changeAll(B1, G1, S1, "item1")
}), S1.addEventListener("change", function() {
  changeAll(B1, G1, S1, "item1")
}), B2.addEventListener("change", function() {
  changeAll(B2, G2, S2, "item2")
}), G2.addEventListener("change", function() {
  changeAll(B2, G2, S2, "item2")
}), S2.addEventListener("change", function() {
  changeAll(B2, G2, S2, "item2")
});


//
// ANIMATIONS
// ===========================================================================
var inputs = document.querySelectorAll("input");
var nodes  = document.querySelectorAll(".item");
var total  = nodes.length;
var dirty  = true;
var time   = 0.9;
var omega  = 12;
var zeta   = 0.9;
var boxes  = [];

for (var i = 0; i < total; i++) {
    
  var node   = nodes[i];  
  var width  = node.offsetWidth;
  var height = node.offsetHeight;    
  var color  = "transparent";    
    
  // Need another element to animate width & height... use clone instead of editing HTML
  var content = node.cloneNode(true);
  content.classList.add("item-content");
  
  TweenLite.set(node, { x: "+=0" });
  TweenLite.set(content, { width, height });  
  TweenLite.set([node, node.children], { backgroundColor: color, color });
  
  node.appendChild(content);
    
  var transform = node._gsTransform;
  var x = node.offsetLeft;
  var y = node.offsetTop;
  
  boxes[i] = { content, height, node, transform, width, x, y };
} 

for (var i = 0; i < inputs.length; i++) {
  inputs[i].addEventListener("change", layout);
}

window.addEventListener("resize", () => { dirty = true; });

TweenLite.ticker.addEventListener("tick", () => dirty && layout());

layout();

function layout() {
  
  dirty = false;
  
  for (var i = 0; i < total; i++) {
    
    var box = boxes[i];
        
    var lastX = box.x;
    var lastY = box.y;   
       
    var lastW = box.width;
    var lastH = box.height;     
    
    var width  = box.width  = box.node.offsetWidth;
    var height = box.height = box.node.offsetHeight;
    
    box.x = box.node.offsetLeft;
    box.y = box.node.offsetTop;      
        
    if (lastX !== box.x || lastY !== box.y) {
      
      var x = box.transform.x + lastX - box.x;
      var y = box.transform.y + lastY - box.y;  
      
      // Tween to 0 to remove the transforms
      TweenLite.set(box.node, { x, y });
      TweenLite.to(box.node, time, { x: 0, y: 0, ease });
    }
        
    if (lastW !== box.width || lastH !== box.height) {      
      
      TweenLite.to(box.content, time, { autoRound: false, width, height, ease });      
    }
  }  
}

function ease(progress) {
  var beta  = Math.sqrt(1.0 - zeta * zeta);
  progress = 1 - Math.cos(progress * Math.PI / 2);   
  progress = 1 / beta * 
    Math.exp(-zeta * omega * progress) * 
    Math.sin( beta * omega * progress + Math.atan(beta / zeta));

  return 1 - progress;
}



<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.4/TweenMax.min.js"></script>
<div class="principal">
  <h2>Properties for the flex container</h2>
  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-direction.php">flex-direction</a> <small>( property of the flex container  )</small></h4>
    <!--flex-direction: row | row-reverse | column | column-reverse;-->
    <div class="radio">
      <input name="flex-direction" type="radio" class="flex-direction" id="R11" value="row" checked><label for="R11">row:</label>
      <input name="flex-direction" type="radio" class="flex-direction" id="R12" value="row-reverse"><label for="R12">row-reverse:</label>
      <input name="flex-direction" type="radio" class="flex-direction" id="R13" value="column"><label for="R13">column:</label>
      <input name="flex-direction" type="radio" class="flex-direction" id="R14" value="column-reverse"><label for="R14">column-reverse:</label>
    </div>
  </div>
  <div class="flex-container" id="direction">
    <div class="item" data-color="2a80b9">
      <p>1</p>
    </div>
    <div class="item" data-color="8f44ad">
      <p>2</p>
    </div>
    <div class="item" data-color="16a086">
      <p>3</p>
    </div>
    <div class="item" data-color="f1c40f">
      <p>4</p>
    </div>
    <div class="item" data-color="e77e23">
      <p>5</p>
    </div>
  </div>

  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-wrap.php">flex-wrap</a> <small>( property of the flex container  )</small></h4>
    <!--nowrap | wrap | wrap-reverse;-->
    <div class="radio">
      <input name="flex-wrap" type="radio" class="flex-wrap" id="R21" value="nowrap" checked><label for="R21">nowrap:</label>
      <input name="flex-wrap" type="radio" class="flex-wrap" id="R22" value="wrap"><label for="R22">wrap:</label>
      <input name="flex-wrap" type="radio" class="flex-wrap" id="R23" value="wrap-reverse"><label for="R23">wrap-reverse:</label>
    </div>
  </div>
  <div class="flex-container" id="wrap">
    <div class="item" data-color="2a80b9">
      <p>1</p>
    </div>
    <div class="item" data-color="8f44ad">
      <p>2</p>
    </div>
    <div class="item" data-color="16a086">
      <p>3</p>
    </div>
    <div class="item" data-color="f1c40f">
      <p>4</p>
    </div>
    <div class="item" data-color="e77e23">
      <p>5</p>
    </div>
  </div>

  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-align-items.php">align-items</a> <small>( property of the flex container  )</small></h4>
    <!-- flex-start | flex-end | center | baseline | stretch;-->
    <div class="radio">
      <input name="flex-align-items" type="radio" class="flex-align-items" id="R31" value="align-items-start"><label for="R31">flex-start:</label>
      <input name="flex-align-items" type="radio" class="flex-align-items" id="R32" value="align-items-end"><label for="R32">flex-end:</label>
      <input name="flex-align-items" type="radio" class="flex-align-items" id="R33" value="align-items-center"><label for="R33">center:</label>
      <input name="flex-align-items" type="radio" class="flex-align-items" id="R34" value="align-items-baseline"><label for="R34">baseline:</label>
      <input name="flex-align-items" type="radio" class="flex-align-items" id="R35" value="align-items-stretch" checked><label for="R35">stretch:</label>
    </div>
  </div>
  <div class="flex-container" id="align">
    <div class="item" data-color="2a80b9">
      <p>1</p>
    </div>
    <div class="item" data-color="8f44ad">
      <p>2</p>
    </div>
    <div class="item" data-color="16a086">
      <p style="font-size:50px;">3</p>
    </div>
    <div class="item" data-color="f1c40f">
      <p>4</p>
    </div>
    <div class="item" data-color="e77e23">
      <p>5</p>
    </div>
  </div>


  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-justify-content.php">justify-content</a> <small>( property of the flex container )</small></h4>
    <!--justify-content: flex-start | flex-end | center | space-between | space-around; -->
    <div class="radio">
      <input name="justify-content" type="radio" class="justify-content" id="R41" value="justify-start" checked><label for="R41">flex-start:</label>
      <input name="justify-content" type="radio" class="justify-content" id="R42" value="justify-end"><label for="R42">flex-end:</label>
      <input name="justify-content" type="radio" class="justify-content" id="R43" value="justify-space-between"><label for="R43">space-between:</label>
      <input name="justify-content" type="radio" class="justify-content" id="R44" value="justify-center"><label for="R44">center:</label>
      <input name="justify-content" type="radio" class="justify-content" id="R45" value="justify-space-around"><label for="R45">space-around:</label>
    </div>
  </div>
  <div class="flex-container" id="justify">
    <div class="item" data-color="2a80b9">
      <p>1</p>
    </div>
    <div class="item" data-color="8f44ad">
      <p>2</p>
    </div>
    <div class="item" data-color="16a086">
      <p>3</p>
    </div>
    <div class="item" data-color="f1c40f">
      <p>4</p>
    </div>
    <div class="item" data-color="e77e23">
      <p>5</p>
    </div>

  </div>

  <!--<p>En <strong>Google Chrome</strong> y <strong>Opera</strong>: problemas al cambiar dinamicamente entre <code>justify-content:space-between</code> y <code>justify-content:space-around</code> </p>-->


  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-align-content.php">align-content</a> <small>( property of the flex container  )</small></h4>
    <!--justify-content: flex-start | flex-end | center | space-between | space-around; -->
    <div class="radio">
      <input name="align-content" type="radio" class="align-content" id="R51" value="align-content-start"><label for="R51">flex-start:</label>
      <input name="align-content" type="radio" class="align-content" id="R52" value="align-content-end"><label for="R52">flex-end:</label>
      <input name="align-content" type="radio" class="align-content" id="R53" value="align-content-center"><label for="R53">center:</label>
      <input name="align-content" type="radio" class="align-content" id="R54" value="align-content-space-between"><label for="R54">space-between:</label>
      <input name="align-content" type="radio" class="align-content" id="R55" value="align-content-space-around"><label for="R55">space-around:</label>
      <input name="align-content" type="radio" class="align-content" id="R56" value="align-content-stretch" checked><label for="R56">stretch:</label>
    </div>
  </div>
  <div class="flex-container" id="alignContent">

    <div class="item" data-color="1bbc9d">
      <p>1</p>
    </div>
    <div class="item" data-color="2fcc71">
      <p>2</p>
    </div>
    <div class="item" data-color="3598dc">
      <p>3</p>
    </div>
    <div class="item" data-color="9c59b8">
      <p>4</p>
    </div>
    <div class="item" data-color="34495e">
      <p>5</p>
    </div>
    <div class="item" data-color="16a086">
      <p>6</p>
    </div>
    <div class="item" data-color="27ae61">
      <p>7</p>
    </div>
    <div class="item" data-color="2a80b9">
      <p>8</p>
    </div>
    <div class="item" data-color="8f44ad">
      <p>9</p>
    </div>
    <div class="item" data-color="2d3e50">
      <p>10</p>
    </div>
    <div class="item" data-color="f1c40f">
      <p>11</p>
    </div>
    <div class="item" data-color="e77e23">
      <p>12</p>
    </div>
    <div class="item" data-color="e84c3d">
      <p>13</p>
    </div>
    <div class="item" data-color="ecf0f1">
      <p>14</p>
    </div>
    <div class="item" data-color="96a6a6">
      <p>15</p>
    </div>
    <div class="item" data-color="f49c14">
      <p>16</p>
    </div>
    <div class="item" data-color="d55401">
      <p>17</p>
    </div>
    <div class="item" data-color="c1392b">
      <p>18</p>
    </div>
    <div class="item" data-color="bec3c7">
      <p>19</p>
    </div>
    <div class="item" data-color="808b8d">
      <p>20</p>
    </div>

  </div>


</div>

<!-- propiedades de los items -->

<div class="principal">
  <h2>Properties for the flex items </h2>
  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-align-self.php">align-self</a> <small>( property for flex items  )</small></h4>
    <!--auto | flex-start | flex-end | center | baseline | stretch -->
    <div class="radio">
      <input name="align-self" type="radio" class="align-self" id="R61" value="align-self-auto" checked><label for="R61">auto:</label>
      <input name="align-self" type="radio" class="align-self" id="R62" value="align-self-start"><label for="R62">flex-start:</label>
      <input name="align-self" type="radio" class="align-self" id="R63" value="align-self-end"><label for="R63">flex-end:</label>
      <input name="align-self" type="radio" class="align-self" id="R64" value="align-self-center"><label for="R64">center:</label>
      <input name="align-self" type="radio" class="align-self" id="R65" value="align-self-baseline"><label for="R65">baseline:</label>
      <input name="align-self" type="radio" class="align-self" id="R66" value="align-self-stretch"><label for="R66">stretch:</label>
    </div>

  </div>
  <div class="flex-container align-items-center" id="FCI1">

    <div class="item" data-color="f49c14">
      <p>1</p>
    </div>
    <div class="item" data-color="d55401">
      <p>2</p>
    </div>
    <div class="item" data-color="c1392b" id="alignSelf">
      <p style="font-size:50px;">3</p>
    </div>
    <div class="item" data-color="bec3c7">
      <p>4</p>
    </div>
    <div class="item" data-color="808b8d">
      <p>5</p>
    </div>

  </div>

  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-abreviado.php#flexGrow">flex-grow</a> <small>( property for flex items )</small></h4>
    <!--auto | flex-start | flex-end | center | baseline | stretch -->
    <div class="radio">
      <span class="nbsp"><label for="R71">elemento 1: </label><input type="number"  class="flex-grow" id="R71" min="0" ></span>
      <span class="nbsp"><label for="R72">elemento 2: </label><input type="number"  class="flex-grow" id="R72" min="0" ></span>
      <span class="nbsp"><label for="R73">elemento 3: </label><input type="number"  class="flex-grow" id="R73" min="0" ></span>
      <span class="nbsp"><label for="R74">elemento 4: </label><input type="number"  class="flex-grow" id="R74" min="0" ></span>
      <span class="nbsp"><label for="R75">elemento 5: </label><input type="number"  class="flex-grow" id="R75" min="0" ></span>
    </div>

  </div>
  <div class="flex-container align-items-center" id="FCI2">

    <div class="item" id="itemR71" data-color="f49c14">
      <p>1</p>
    </div>
    <div class="item" id="itemR72" data-color="d55401">
      <p>2</p>
    </div>
    <div class="item" id="itemR73" data-color="c1392b">
      <p>3</p>
    </div>
    <div class="item" id="itemR74" data-color="bec3c7">
      <p>4</p>
    </div>
    <div class="item" id="itemR75" data-color="808b8d">
      <p>5</p>
    </div>

  </div>


  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-abreviado.php#flexShrink">flex-shrink</a> <small>( property for flex items )</small></h4>
    <!--auto | flex-start | flex-end | center | baseline | stretch -->
    <div class="radio">
      <span class="nbsp"><label for="R81">elemento 1: </label><input type="number"  class="flex-shrink" id="R81" min="0" ></span>
      <span class="nbsp"><label for="R82">elemento 2: </label><input type="number"  class="flex-shrink" id="R82" min="0" ></span>
      <span class="nbsp"><label for="R83">elemento 3: </label><input type="number"  class="flex-shrink" id="R83" min="0" ></span>
      <span class="nbsp"><label for="R84">elemento 4: </label><input type="number"  class="flex-shrink" id="R84" min="0" ></span>
      <span class="nbsp"><label for="R85">elemento 5: </label><input type="number"  class="flex-shrink" id="R85" min="0" ></span>
    </div>

  </div>
  <div class="flex-container align-items-center" id="FCI3">

    <div class="item" id="itemR81" data-color="f49c14">
      <p>1</p>
    </div>
    <div class="item" id="itemR82" data-color="d55401">
      <p>2</p>
    </div>
    <div class="item" id="itemR83" data-color="c1392b">
      <p>3</p>
    </div>
    <div class="item" id="itemR84" data-color="bec3c7">
      <p>4</p>
    </div>
    <div class="item" id="itemR85" data-color="808b8d">
      <p>5</p>
    </div>

  </div>


  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-abreviado.php">flex</a> <small>( property for flex items )</small></h4>
    <!--auto | flex-start | flex-end | center | baseline | stretch -->
    <p>.item { flex: flex-grow [flex-shrink] [flex-basis]; } </p>
    <table id="flexBasis">
      <tr>
        <td>elemento 1</td>
        <td>elemento 2</td>
      </tr>
      <tr>
        <td><input type="number" class="flex-basis" id="B1" min="0" value="50"><label for="B1">flex-basis %</label></td>
        <td><input type="number" class="flex-basis" id="B2" min="0" value="50"><label for="B2">flex-basis %</label></td>
      </tr>
      <tr>
        <td><input type="number" class="flex-basis-grow" id="G1" min="0" value="0"><label for="G1">flex-grow</label></td>
        <td><input type="number" class="flex-basis-grow" id="G2" min="0" value="0"><label for="G2">flex-grow</label></td>
      </tr>
      <tr>
        <td><input type="number" class="flex-basis-shrink" id="S1" min="0" value="0"><label for="S1">flex-shrink</label></td>
        <td><input type="number" class="flex-basis-shrink" id="S2" min="0" value="0"><label for="S2">flex-shrink</label></td>
      </tr>
    </table>
  </div>


  <div class="flex-container align-items-center" id="FCI4">

    <div class="item" id="item1" data-color="f49c14">
      <p>1</p>
    </div>
    <div class="item" id="item2" data-color="d55401">
      <p>2</p>
    </div>

  </div>


  <div class="control">
    <h4><a href="http://w3.unpocodetodo.info/css3/flex-order.php">order</a> <small>( property for flex items )</small></h4>
    <!--auto | flex-start | flex-end | center | baseline | stretch -->
    <div class="radio">
      <span class="nbsp"><label for="R91">elemento 1: </label><input type="number"  class="flex-order" id="R91" min="0" ></span>
      <span class="nbsp"><label for="R92">elemento 2: </label><input type="number"  class="flex-order" id="R92" min="0" ></span>
      <span class="nbsp"><label for="R93">elemento 3: </label><input type="number"  class="flex-order" id="R93" min="0" ></span>
      <span class="nbsp"><label for="R94">elemento 4: </label><input type="number"  class="flex-order" id="R94" min="0" ></span>
      <span class="nbsp"><label for="R95">elemento 5: </label><input type="number"  class="flex-order" id="R95" min="0" ></span>
    </div>

  </div>
  <div class="flex-container align-items-center" id="FCI5">


    <div class="item" id="orderR91" data-color="f49c14">
      <p>1</p>
    </div>
    <div class="item" id="orderR92" data-color="d55401">
      <p>2</p>
    </div>
    <div class="item" id="orderR93" data-color="c1392b">
      <p>3</p>
    </div>
    <div class="item" id="orderR94" data-color="bec3c7">
      <p>4</p>
    </div>
    <div class="item" id="orderR95" data-color="808b8d">
      <p>5</p>
    </div>

  </div>


</div>
/*flex-direction: row | row-reverse | column | column-reverse;*/
.flex-container.row {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

.flex-container.row-reverse {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.flex-container.column {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flex-container.column-reverse {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column-reverse;
}

/*flex-wrap: nowrap | wrap | wrap-reverse;*/
.flex-container.nowrap {
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex-container.wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-container.wrap-reverse {
  -webkit-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

/*align-items: flex-start | flex-end | center | baseline | stretch;*/
.flex-container.align-items-start {
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.flex-container.align-items-end {
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.flex-container.align-items-center {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-container.align-items-baseline {
  webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.flex-container.align-items-stretch {
  webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

/*justify-content: flex-start | flex-end | center | space-between | space-around;*/
.flex-container.justify-start {
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.flex-container.justify-end {
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.flex-container.justify-center {
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flex-container.justify-space-between {
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flex-container.justify-space-around {
  -webkit-justify-content: space-around;
  -ms-flex-pack: justify;
  justify-content: space-around;
}

/*align-content: flex-start | flex-end | center | space-between | space-around | stretch;*/
.flex-container.align-content-start {
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

.flex-container.align-content-end {
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
  align-content: flex-end;
}

.flex-container.align-content-center {
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
}

.flex-container.align-content-space-between {
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
}

.flex-container.align-content-space-around {
  -webkit-align-content: space-around;
  -ms-flex-line-pack: justify;
  /*distribute;*/
  align-content: space-around;
}

.flex-container.align-content-stretch {
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

/*align-self: auto | flex-start | flex-end | center | baseline | stretch;*/
.item.align-self-auto {
  -webkit-align-self: auto;
  -ms-flex-item-align: auto;
  align-self: auto;
}

.item.align-self-start {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.item.align-self-end {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.item.align-self-center {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.item.align-self-baseline {
  -webkit-align-self: baseline;
  -ms-flex-item-align: baseline;
  align-self: baseline;
}

.item.align-self-stretch {
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.item.flex-grow1 {
  flex-grow: 1;
}

.item.flex-grow2 {
  flex-grow: 2;
}

.item.flex-grow3 {
  flex-grow: 3;
}

.item.flex-grow4 {
  flex-grow: 4;
}

html, body {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  color: #ddd;
  font-size: 14px;
  font-family: Verdana, Geneva, sans-serif;
  background-color: #333;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.principal {
  width: calc(50% - 40px);
  min-width: 525px;
  margin: 0 20px 20px 20px;
  float: left;
}

.radio {
  margin-bottom: 20px;
}

label {
  line-height: 200%;
}

input[type=radio] {
  color: white;
}

input[type=radio]:checked + label {
  color: orange;
}

input[type=number] {
  width: 40px;
  margin-right: 0.5em;
}

h1 {
  font-size: 200%;
  margin: 20px;
}

h2 {
  font-size: 180%;
  margin: 0px;
}

h4 a {
  font-variant: small-caps;
  font-size: 120%;
  color: #ddd;
  text-decoration: none;
}

h4 small {
  font-variant: normal;
  font-size: 80%;
  font-weight: normal;
  color: #57bcdb;
}

table {
  width: 100%;
  margin-bottom: 1em;
}

table td {
  width: 50%;
  padding: 3px;
}

.principal:last-of-type h4 small {
  color: #ff8080;
}

.flex-container {
  border: 1px solid #555;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
  width: 100%;
}

.item {
  margin: 0;
  display: inherit;
  padding: 10px;
  width: 100px;
  height: 100px;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.item p {
  width: 100%;
  text-align: center;
  color: #fff;
}

#direction .item {
  flex-wrap: wrap;
}

/*#wrap .item{ height:auto;}*/
#wrap {
  width: 400px;
}

#align .item {
  height: auto;
  height: auto;
  flex-wrap: wrap;
}

#align {
  height: 300px;
}

#justify {
  margin: 20px 0;
  padding: 20px 0;
}

#alignContent {
  flex-wrap: wrap;
  height: 600px;
}

#alignContent .item {
  height: auto;
}

#FCI1 {
  height: 300px;
}

#FCI1 .item {
  height: auto;
}

#FCI3 .item {
  width: 25%;
}

#FCI4 .item {
  width: 50%;
}

#FCI5 .item {
  width: 20%;
}

.nbsp {
  white-space: nowrap;
}

/* @media only screen and (max-width:1100px){.principal{ width:calc(100% - 40px);}} */
@media only screen and (max-width: 1200px) {
  .principal {
    width: calc(100% - 40px);
  }
}
@media only screen and (max-width: 580px) {
  .item {
    width: 50px;
    height: 50px;
  }

  .principal {
    width: calc(100% - 40px);
    min-width: initial;
  }

  .flex-container {
    width: 100%;
    min-width: initial;
  }

  #wrap {
    width: 200px;
  }
}
.item-content {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  border: 1px solid #333;
}

body {
  padding-top: 35px;
}