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

@import url("?family=Raleway:400,400i,700");
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
}
body {
    background-color: #e4e9ed;
    font-family: Raleway, sans-serif;
}

br {
    margin-bottom: 2%;
}

.header {
    width: 100%;
    height: 35vh;
    position: relative;
    display: grid;
    grid-template-rows: max-content 1fr;
    grid-template-columns: 1fr max-content;
}
.header__logo {
    fill: white;
    width: 3rem;
    padding: 1rem;
    cursor: pointer;
    position: absolute;
    top: 0px;
    right: 0px;
}
.h_logo {
    padding: 1rem;
    position: absolute;
    top: 0px;
    left: 0px;
}
.header__bg {
    width: 100%;
    height: 100%;
    /*background-image: url("/revfa/javax.faces.resource/plugins/home/img/image-header.jpg.xhtml") ;
    background-size: cover;
    background-position: center;*/
    filter: brightness(90%);
    clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden;
}
.header__title {
    grid-area: 2 / 1 / 2 / 3;
    align-self: center;
    justify-self: center;
    color: white;
    text-transform: uppercase;
    font-size: 4rem;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
    margin-top: -5rem;
    margin-left: 120px;
    float: left;
}
@media screen and (max-width:1000px){
    .header__title {
        font-size: 45pt;
    }
}
@media screen and (max-width:900px){
    .header__title {
        font-size: 40pt;
    }
}
@media screen and (max-width:700px){
    .header__title {
        font-size: 30pt;
    }
}
@media screen and (max-width:500px){
    .header__title {
        font-size: 25pt;
    }
}
@media screen and (max-width:400px){
    .header__title {
        font-size: 20pt;
    }
}
@media screen and (max-width:320px){
    .header__title {
        font-size: 15pt;
    }
}
@media screen and (max-width:270px){
    .header__title {
        font-size: 10pt;
    }
}
@media screen and (max-width:230px){
    .header__title {

    }
}
.header__log {
    display: flex;
    align-items: center;
    grid-area: 1 / 2 / 1 / 3;
    padding: 1rem 2rem;
    color: white;
    cursor: pointer;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
}
.header__log--icon {
    fill: currentColor;
    margin-right: .5rem;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
}
.header__log--text {
    text-transform: capitalize;
}

.content {
    margin-top: 2.4rem;
    position: relative;
    display: block;
    padding-bottom: 80px;
}
@media screen and (max-width:550px){
    .content {
        padding-bottom: 100px;
    }
}
@media screen and (max-width:510px){
    .content {
        padding-bottom: 160px;
    }
}
@media screen and (max-width:490px){
    .content {
        padding-bottom: 180px;
    }
}
@media screen and (max-width:320px){
    .content {
        padding-bottom: 230px;
    }
}
@media screen and (max-width:270px){
    .content {
        padding-bottom: 290px;
    }
}
@media screen and (max-width:230px){
    .content {
        padding-bottom: 330px;
    }
}
.main-wrapper{
    position: relative;
    min-height: 100vh;
}
.about__title {
    text-align: center;
    text-transform: uppercase;
}

.about__title--text {
    color: #232323;
}
.about__text {
    width: 80%;
    margin: 5% auto;
}
.about__text--content {
    text-align: justify;
}
/* ================================================================== Fin Header ================================================================== */

/* ================================================================== Content ================================================================== */

/* -------------------------------------------- Grid -------------------------------------------- */
.grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-gap: 10px;
}
.span-col-4{grid-column: span 4 / auto;}

.span-col-2{grid-column: span 2 / auto;}
/* -------------------------------------------- Fin Grid -------------------------------------------- */

/* -------------------------------------------- Caja 1 -------------------------------------------- */
.div-caja1{
    padding: 0px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
   /* background-image: url("/revfa/javax.faces.resource/plugins/home/img/familia-extendida.jpg.xhtml");*/
    background-repeat: no-repeat;
    background-size: 95% 100%;

}
.div-caja2{
    padding: 0px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
}
.div-caja{
    padding: 0px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
    /*background-image: url("/revfa/javax.faces.resource/plugins/home/img/money.jpeg.xhtml");*/
    background-repeat: no-repeat;
    background-size: 95% 100%;
}
.caja {
    font-size: 22px; 
    font-weight: 400; 
    text-align: center;

    -webkit-box-shadow: -5px 9px 20px 5px rgba(194,188,194,1);
    -moz-box-shadow: -5px 9px 20px 5px rgba(194,188,194,1);
    box-shadow: -5px 9px 20px 5px rgba(194,188,194,1);

    cursor: pointer;
    height: 300px;

    border-radius: 5px; 
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px; 
    border: 2px none #A5A3A3;
}

/* -------------------------------------------- Fin Caja 2 -------------------------------------------- */

/* -------------------------------------------- Flip box -------------------------------------------- */
.flip-card {
    position: relative;
    left:14%;
    top:86.8%;
    background-color: transparent;
    width: 75%;
    height: 20%;
    perspective: 1000px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

.flip-card-front {
    /*background-color: #bbb;*/
    background-color: #313945;
    color: white;
}

.flip-card-front h3{
    text-align: center;
}

.flip-card-back {
    /*background-color: #2980b9;*/
    background-color: #bbb;
    color: white;
    transform: rotateY(180deg);
}
.flip-card h3, .flip-card {
    font-size: 13pt;
}
@media screen and (max-width:1000px){
    .flip-card h3, .flip-card {
        font-size: 12pt;
    }
}
@media screen and (max-width:900px){
    .flip-card h3, .flip-card {
        font-size: 11pt;
    }
}
@media screen and (max-width:840px){
    .flip-card h3, .flip-card {
        font-size: 10pt;
    }
}
@media screen and (max-width:800px){
    .flip-card h3, .flip-card {
        font-size: 9pt;
    }
}
@media screen and (max-width:590px){
    .flip-card h3, .flip-card {
        font-size: 13pt;
    }
}
@media screen and (max-width:490px){
    .flip-card h3, .flip-card {
        font-size: 12pt;
    }
}
@media screen and (max-width:450px){
    .flip-card h3, .flip-card {
        font-size: 11pt;
    }
}
@media screen and (max-width:400px){
    .flip-card h3, .flip-card {
        font-size: 14pt;
    }
}
@media screen and (max-width:330px){
    .flip-card h3, .flip-card {
        font-size: 12pt;
    }
}
@media screen and (max-width:270px){
    .flip-card h3, .flip-card {
        font-size: 10pt;
    }
}
/* -------------------------------------------- Fin Flip box -------------------------------------------- */

/* -------------------------------------------- Nuevo Flip box -------------------------------------------- */
/* entire container, keeps perspective */
.flip-container {
    perspective: 1000px;
    background-color: blue;
}
/* flip the pane when hovered */
.flip-container:hover .flipper, .flip-container.hover .flipper {
    transform: rotateY(180deg);
}

.flip-container, .front {
    width: 320px;
    height: 480px;
    background-color: white;
}

.flip-container, .back {
    width: 320px;
    height: 480px;
    background-color: gray;
}

/* flip speed goes here */
.flipper {
    transition: 0.6s;
    transform-style: preserve-3d;

    position: relative;
}

/* hide back of pane during swap */
.front, .back {
    backface-visibility: hidden;

    position: absolute;
    top: 0;
    left: 0;
}

/* front pane, placed above back */
.front {
    z-index: 2;
    /* for firefox 31 */
    transform: rotateY(0deg);
}

/* back, initially hidden pane */
.back {
    transform: rotateY(180deg);
}

.flip-container:hover .flipper, .flip-container.hover .flipper, .flip-container.flip .flipper {
    transform: rotateY(180deg);
}
/* -------------------------------------------- Fin Nuevo Flip box -------------------------------------------- */

/* -------------------------------------------- Boton -------------------------------------------- */

.div-button a:link, a:visited, a:active {
    text-decoration:none;
}

/* -------------------------------------------- Fin Boton -------------------------------------------- */

/* -------------------------------------------- Div Dinamico -------------------------------------------- */
.element-animation{
    animation: animationFrames linear 0.8s;
    animation-iteration-count: 1;
    transform-origin: 50% 50%;
    -webkit-animation: animationFrames linear 0.8s;
    -webkit-animation-iteration-count: 1;
    -webkit-transform-origin: 50% 50%;
    -moz-animation: animationFrames linear 0.8s;
    -moz-animation-iteration-count: 1;
    -moz-transform-origin: 50% 50%;
    -o-animation: animationFrames linear 0.8s;
    -o-animation-iteration-count: 1;
    -o-transform-origin: 50% 50%;
    -ms-animation: animationFrames linear 0.8s;
    -ms-animation-iteration-count: 1;
    -ms-transform-origin: 50% 50%;
}

@keyframes animationFrames{
    0% {
        transform:  translate(0px,0px)  ;
    }
    15% {
        transform:  translate(0px,-25px)  ;
    }
    30% {
        transform:  translate(0px,0px)  ;
    }
    45% {
        transform:  translate(0px,-15px)  ;
    }
    60% {
        transform:  translate(0px,0px)  ;
    }
    75% {
        transform:  translate(0px,-5px)  ;
    }
    100% {
        transform:  translate(0px,0px)  ;
    }
}

@-moz-keyframes animationFrames{
    0% {
        -moz-transform:  translate(0px,0px)  ;
    }
    15% {
        -moz-transform:  translate(0px,-25px)  ;
    }
    30% {
        -moz-transform:  translate(0px,0px)  ;
    }
    45% {
        -moz-transform:  translate(0px,-15px)  ;
    }
    60% {
        -moz-transform:  translate(0px,0px)  ;
    }
    75% {
        -moz-transform:  translate(0px,-5px)  ;
    }
    100% {
        -moz-transform:  translate(0px,0px)  ;
    }
}

@-webkit-keyframes animationFrames {
    0% {
        -webkit-transform:  translate(0px,0px)  ;
    }
    15% {
        -webkit-transform:  translate(0px,-25px)  ;
    }
    30% {
        -webkit-transform:  translate(0px,0px)  ;
    }
    45% {
        -webkit-transform:  translate(0px,-15px)  ;
    }
    60% {
        -webkit-transform:  translate(0px,0px)  ;
    }
    75% {
        -webkit-transform:  translate(0px,-5px)  ;
    }
    100% {
        -webkit-transform:  translate(0px,0px)  ;
    }
}

@-o-keyframes animationFrames {
    0% {
        -o-transform:  translate(0px,0px)  ;
    }
    15% {
        -o-transform:  translate(0px,-25px)  ;
    }
    30% {
        -o-transform:  translate(0px,0px)  ;
    }
    45% {
        -o-transform:  translate(0px,-15px)  ;
    }
    60% {
        -o-transform:  translate(0px,0px)  ;
    }
    75% {
        -o-transform:  translate(0px,-5px)  ;
    }
    100% {
        -o-transform:  translate(0px,0px)  ;
    }
}

@-ms-keyframes animationFrames {
    0% {
        -ms-transform:  translate(0px,0px)  ;
    }
    15% {
        -ms-transform:  translate(0px,-25px)  ;
    }
    30% {
        -ms-transform:  translate(0px,0px)  ;
    }
    45% {
        -ms-transform:  translate(0px,-15px)  ;
    }
    60% {
        -ms-transform:  translate(0px,0px)  ;
    }
    75% {
        -ms-transform:  translate(0px,-5px)  ;
    }
    100% {
        -ms-transform:  translate(0px,0px)  ;
    }
}
/* -------------------------------------------- Fin Div Dinamico -------------------------------------------- */

/* ================================================================== Fin Content ================================================================== */

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

/*
http://www.mclibre.org/consultar/htmlcss/css/css-hr.html
http://biolucas.com/formato-linea-o-separador-horizontal-en-html-hr/

https://www.desarrollolibre.net/blog/css/creando-una-caja-de-luz-difuminada-con-css#.XajiI-hKiM8
*/

div.browser {
    margin-top: 5%;
    position: relative;
    width: 100%;
}
footer {
    left: 0;
    right: 0;
    position: absolute;
    bottom: 0;
}
hr {
    height: 1px;
    background-color: black;
}
footer div.social-media-links {
    background: #313945;
    /*background: #c9a892;*/
    /*background: #e4e9ed;*/
    overflow: hidden;
    padding-bottom: 24px;
    text-align: center;
}
footer div.social-media-links ul {
    margin: 0;
    padding: 0;
}
footer div.social-media-links li {
    display: inline;
    margin: 20;
    padding: 20px;
}
footer div.social-media-links a {
    border-bottom: 0px solid rgba(0, 0, 0, 0.95);
    border-radius: 4px;
    box-shadow: inset 0 -3px 0 0 rgba(0, 0, 0, 0), 0 6px 8px rgba(0, 0, 0, 0), 0 24px 24px rgba(0, 0, 0, 0), 0 36px 36px rgba(0, 0, 0, 0), 0 64px 64px rgba(0, 0, 0, 0), 0 64px 128px rgba(0, 0, 0, 0), 0 120px 0 rgba(0, 0, 0, 0), 0 86px 8px 6px rgba(0, 0, 0, 0);
    display: inline-block;
    height: 30px;
    padding: 20px;
    position: relative;
    transition: 0.2s ease-in;
}
/*
footer div.social-media-links a:hover {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
    box-shadow: inset 0 -3px 0 0 rgba(0, 0, 0, 0.1), 0 6px 8px rgba(0, 0, 0, 0.05), 0 24px 24px rgba(0, 0, 0, 0.05), 0 36px 36px rgba(0, 0, 0, 0.05), 0 64px 64px rgba(0, 0, 0, 0.15), 0 64px 128px rgba(0, 0, 0, 0.15), 0 86px 8px 6px rgba(14, 186, 199, 0.25), 0 83px 4px 0px rgba(14, 186, 199, 0.95);
}
*/
.social-media-links-a-g {
    width: 30px;
}
.social-media-links-a-h {
    width: 90px;
}
.social-media-links-a-d {
    width: 55px;
}
.social-media-links-a-r {
    width: 155px;
}
footer div.social-media-links a img {
    position: absolute;
    top: 10px;
}
.social-media-links-g {
    left: 12px;
    height: 55px;
    width: 45px;
}
.social-media-links-h {
    left: 8px;
    height: 55px;
    width: 115px;
}
.social-media-links-d {
    left: 12px;
    height: 55px;
    width: 70px;
}
.social-media-links-r {
    left: 6px;
    height: 45px;
    width: 185px;
    padding: 5px 0px 5px 0px;
}
footer div.social-media-links a img.glow path,
footer div.social-media-links a img.glow circle {
    fill: rgba(0, 0, 0, 0);
}

/*
footer div.social-media-links a:hover {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
    box-shadow: inset 0 -3px 0 0 rgba(0, 0, 0, 0.1), 0 6px 8px rgba(0, 0, 0, 0.05), 0 24px 24px rgba(0, 0, 0, 0.05), 0 36px 36px rgba(0, 0, 0, 0.05), 0 64px 64px rgba(0, 0, 0, 0.15), 0 64px 128px rgba(0, 0, 0, 0.15), 0 86px 8px 6px rgba(14, 186, 199, 0.25), 0 83px 4px 0px rgba(14, 186, 199, 0.95);
}
footer div.social-media-links a:hover img.glow {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><f…ter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
    -webkit-filter: blur(2px);
    filter: blur(2px);
}
*/
footer div.social-media-links a:hover img.glow path,
footer div.social-media-links a:hover img.glow circle {
    fill: rgba(14, 186, 199, 0.6);
}
footer div.social-media-links a:hover img path,
footer div.social-media-links a:hover img circle {
    fill: #0ebac7;
}

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


/* ================================================================== GRILLA PERSONALIZADA ================================================================== */


.row{
    padding-top: 100px;
    padding: 0px;
    vertical-align: top;
}
.col-4{
    width: calc(25% - 22.75px);
    display: inline-block;
    padding: 10px;
    vertical-align: top;
}
.col-2{
    width: calc(50% - 22.75px);
    display: inline-block;
    padding: 10px;
    vertical-align: top;
}

.material-box{
    -webkit-box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.37);
    -moz-box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.37);
    box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.37);
    border: none;
    background: #fff;
    height: 40px;
    vertical-align: top;
}


body div.row .col-4.col-md-2.col-xs-1:nth-child(2) .caja{
    background-image: url("/revfa/javax.faces.resource/plugins/home/img/familia-extendida.jpg.xhtml");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
body div.row .col-4.col-md-2.col-xs-1:nth-child(3) .caja{
    background-image: url("/revfa/javax.faces.resource/plugins/home/img/money.jpeg.xhtml");
    background-repeat: no-repeat;
    background-size: 100% 100%;
}   

.incaja{
    background:rgba(192,192,192,0.5);
    width: 100%;
    height: 100%;
    border-radius: 5px; 
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px; 
    border: 2px none #A5A3A3;
}



@media screen and (max-width:600px){
    .col-md-2{
        width: calc(50% - 22.75px);
        vertical-align: top;
    }
    .col-md-1{
        width: calc(100% - 22.75px);
        vertical-align: top;
    }
}
@media screen and (max-width:400px){
    .col-xs-1{
        width: calc(100% - 22.75px);
        vertical-align: top;
    }
}

/*      SLIDER      */
.imageSlide{
    width: 100%!important; 
    height: auto !important;
   }

/*
.slider .indicators .indicator-item {

  border: 3px solid #ffffff;
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
.slider .indicators .indicator-item.active {
  background-color: #ffffff;
}*/
.slider {
  width: 100%;
  margin: 0 auto;
 
}
.slider .indicators {
  bottom: 60px;
  z-index: 100;
}

div#slider { overflow: hidden; }
div#slider figure img { float: left;  }
div#slider figure {
	position: relative;
	width: 100%;
	margin: 0;
	left: 0;
	text-align: left;
	font-size: 0;
	float: left;
	animation: 10s slidy infinite; 
}


/*      FORMULARIO      */

.input100{
    width: calc(100% - 50px);
}

@keyframes slidy {
0% { left: 0%; }
20% { left: 0%; }
25% { left: -100%; }
45% { left: -100%; }
50% { left: -200%; }
70% { left: -200%; }
75% { left: -300%; }
95% { left: -300%; }
100% { left: -400%; }
}

body { margin: 0; } 

