/*
Theme Name:     Divi Child Theme
Description:    Divi Child per Fincres
Author:         Marco Ruffelli
Template:       Divi
Version:		1.0.0
*/


/* -------------------------------- 

Typography

-------------------------------- */


.et_pb_fullwidth_header .et_pb_fullwidth_header_container.left .header-content {
    text-align: center;
}

/* -------------------------------- 

Menu Astra

-------------------------------- */

#navicon {
    cursor: pointer;
  	position: fixed;
  	top: 20px;
  	right: 5%;
  	z-index: 99;
  	-webkit-transition: top 400ms 200ms;
  	transition: top 400ms 200ms;
}
.bar1, .bar2, .bar3 {
	width: 36px;
  	height: 3px;
  	margin: 9px 0;
  	background-color: #FA4E56;
  	-webkit-transition: 0.4s;
  	transition: 0.4s;
}
.menuOpen .bar1 {
    background-color: #fff;
    -webkit-transform: rotate(-45deg) translate(-10px, 7px);
    transform: rotate(-45deg) translate(-12px, 7px);
}
.menuOpen .bar2 {
    opacity: 0;
}
.menuOpen .bar3 {
    background-color: #fff;
    -webkit-transform: rotate(45deg) translate(-9px, -5px);
    transform: rotate(45deg) translate(-9px, -5px);
}
.menuContainer {
    z-index: 98;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #07002D;
}

ul#astraMenu {
    margin: 0;
    list-style-type: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	line-height:40px;
}

ul#astraMenu li {
    display: block;
    font-family: yrthree_bold, sans-serif;
    font-size: 34px;
    letter-spacing: 1px;
    text-align: center;
}

ul#astraMenu li a {
    display: block;
    color: white;
    text-decoration: none;
    padding: 20px;
    text-transform: uppercase;
    letter-spacing: 4px;
	font-family: 'Vollkorn',Georgia,"Times New Roman",serif;
	width: 100%;
}

ul#astraMenu li.current a {
    color: #1275e0;
}

.menuOpen .menuContainer {
    -webkit-transform: scale(1);
    transform: scale(1);
}

/* -------------------------------- 

Modal window 

-------------------------------- */
.cd-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3000;
  height: 100%;
  width: 100%;
  overflow: hidden;
  background: #402f44 url(img/modal-bg.jpg) no-repeat center center;
  background-size: cover;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s;
  transition: opacity 0.3s 0s, visibility 0s 0.3s;
}
.cd-modal .modal-content {
  height: 100%;
  overflow-y: auto;
  padding: 3em 5%;
  color: #e4dcca;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.cd-modal h1 {
  text-align: center;
}
.cd-modal h1::after {
  /* ink/brush separation */
  content: '';
  display: block;
  width: 130px;
  height: 18px;
  background: url(img/ink-separation.svg) no-repeat center center;
  margin: .2em auto 0;
}
.cd-modal p {
  line-height: 1.6;
  margin: 2em auto;
  max-width: 800px;
}
.modal-close {
  cursor: pointer;
  /* 'X' icon */
  position: absolute;
  z-index: 1;
  top: 20px;
  right: 5%;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.3) url(img/cd-icon-close.svg) no-repeat center center;
  /* image replacement */
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform 0.3s 0s, visibility 0s 0.3s, opacity 0.3s 0s;
  -moz-transition: -moz-transform 0.3s 0s, visibility 0s 0.3s, opacity 0.3s 0s;
  transition: transform 0.3s 0s, visibility 0s 0.3s, opacity 0.3s 0s;
}
.no-touch .cd-modal .modal-close:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.cd-modal.visible {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.7s, visibility 0s;
  -moz-transition: opacity 0.7s, visibility 0s;
  transition: opacity 0.7s, visibility 0s;
}
.cd-modal.visible .modal-content {
  /* this fixes the buggy scrolling on webkit browsers - mobile devices only - when overflow property is applied */
  -webkit-overflow-scrolling: touch;
}
.cd-modal.visible .modal-close {
  visibility: visible;
  opacity: 1;
  -webkit-transition: -webkit-transform 0.3s 0s, visibility 0s 0s, opacity 0.3s 0s;
  -moz-transition: -moz-transform 0.3s 0s, visibility 0s 0s, opacity 0.3s 0s;
  transition: transform 0.3s 0s, visibility 0s 0s, opacity 0.3s 0s;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}
@media only screen and (min-width: 1100px) {
  .cd-modal .modal-content {
    padding: 6em 5%;
  }
  .cd-modal .modal-close {
    height: 60px;
    width: 60px;
  }
  .cd-modal p {
    font-size: 2rem;
  }
}

/* -------------------------------- 

Transition Layer 

-------------------------------- */
.cd-trans-layer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  height: 100%;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.cd-trans-layer .bg-layer {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-2%);
  -moz-transform: translateY(-50%) translateX(-2%);
  -ms-transform: translateY(-50%) translateX(-2%);
  -o-transform: translateY(-50%) translateX(-2%);
  transform: translateY(-50%) translateX(-2%);
  /* its dimentions will be overwritten using jQuery to proportionally fit the viewport */
  height: 100%;
  /* our sprite is composed of 25 frames */
  width: 2500%;
  background: url(img/ink3.png) no-repeat 0 0;
  background-size: 100% 100%;
}
.cd-trans-layer.visible {
  opacity: 1;
  visibility: visible;
}
.cd-trans-layer.opening .bg-layer {
  -webkit-animation: cd-sequence 0.8s steps(24);
  -moz-animation: cd-sequence 0.8s steps(24);
  animation: cd-sequence 0.8s steps(24);
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.cd-trans-layer.closing .bg-layer {
  -webkit-animation: cd-sequence-reverse 0.8s steps(24);
  -moz-animation: cd-sequence-reverse 0.8s steps(24);
  animation: cd-sequence-reverse 0.8s steps(24);
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.no-cssanimations .cd-trans-layer {
  display: none;
}

@-webkit-keyframes cd-sequence {
  0% {
    /* translateX(-2%) is used to horizontally center the first frame inside the viewport */
    -webkit-transform: translateY(-50%) translateX(-2%);
  }
  100% {
    /* translateX(-98%) (2% + 96) is used to horizontally center the last frame inside the viewport  */
    -webkit-transform: translateY(-50%) translateX(-98%);
  }
}
@-moz-keyframes cd-sequence {
  0% {
    /* translateX(-2%) is used to horizontally center the first frame inside the viewport */
    -moz-transform: translateY(-50%) translateX(-2%);
  }
  100% {
    /* translateX(-98%) (2% + 96) is used to horizontally center the last frame inside the viewport  */
    -moz-transform: translateY(-50%) translateX(-98%);
  }
}
@keyframes cd-sequence {
  0% {
    /* translateX(-2%) is used to horizontally center the first frame inside the viewport */
    -webkit-transform: translateY(-50%) translateX(-2%);
    -moz-transform: translateY(-50%) translateX(-2%);
    -ms-transform: translateY(-50%) translateX(-2%);
    -o-transform: translateY(-50%) translateX(-2%);
    transform: translateY(-50%) translateX(-2%);
  }
  100% {
    /* translateX(-98%) (2% + 96) is used to horizontally center the last frame inside the viewport  */
    -webkit-transform: translateY(-50%) translateX(-98%);
    -moz-transform: translateY(-50%) translateX(-98%);
    -ms-transform: translateY(-50%) translateX(-98%);
    -o-transform: translateY(-50%) translateX(-98%);
    transform: translateY(-50%) translateX(-98%);
  }
}
@-webkit-keyframes cd-sequence-reverse {
  0% {
    -webkit-transform: translateY(-50%) translateX(-98%);
  }
  100% {
    -webkit-transform: translateY(-50%) translateX(-2%);
  }
}
@-moz-keyframes cd-sequence-reverse {
  0% {
    -moz-transform: translateY(-50%) translateX(-98%);
  }
  100% {
    -moz-transform: translateY(-50%) translateX(-2%);
  }
}
@keyframes cd-sequence-reverse {
  0% {
    -webkit-transform: translateY(-50%) translateX(-98%);
    -moz-transform: translateY(-50%) translateX(-98%);
    -ms-transform: translateY(-50%) translateX(-98%);
    -o-transform: translateY(-50%) translateX(-98%);
    transform: translateY(-50%) translateX(-98%);
  }
  100% {
    -webkit-transform: translateY(-50%) translateX(-2%);
    -moz-transform: translateY(-50%) translateX(-2%);
    -ms-transform: translateY(-50%) translateX(-2%);
    -o-transform: translateY(-50%) translateX(-2%);
    transform: translateY(-50%) translateX(-2%);
  }
}

/* -------------------------------- 

Transition Layer 

-------------------------------- */

#homeVideo {
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
}

.main-title{
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);

}

#page-container {
padding: 0 !important;
}

/* -------------------------------- 

video Background Image 

-------------------------------- */

.videoBgImageWrapper{
	display: inline-block;
	position: relative;
	overflow:hidden;
}
.videoBgImage{
	position:absolute;
	top: 0;
	left: 0;
	z-index: -2000;
	width:100%;
	height: 100%;
}

.videoBgImage video{
	min-height: 100%;
	max-width: 100%;
}

.videoBgImageWrapper img{
	max-height:100vh;
}

@media all and (max-width: 480px) {
	.videoBgImageWrapper img{
		padding-top:50px;
	}
}

/* -------------------------------- 

Video Embed Lazy Load Plugin

-------------------------------- */

.lazy-load-div::before {
    color: #FA4E56;
    opacity: 1.0;
}

/* -------------------------------- 

App badge style

-------------------------------- */

@media all and (max-width: 480px) {

	.app-wrapper .app-item{
    	text-align: center;
		margin-bottom:20px;
	}

}

@media all and (min-width: 481px) {
	.app-wrapper{
		display: flex;
    	align-items: center;
	}

	.app-wrapper .app-item{
		flex: 1;
    	text-align: center;
	}
}


/* -------------------------------- 

Swup Transition

-------------------------------- */

.transition-fade {
  transition: 0.4s;
  opacity: 1;
}

html.is-animating .transition-fade {
  opacity: 0;
}

/* Accordion styles */
.tab input {
    position: absolute;
    opacity: 0;
    z-index: -1;
  }
  
  /* Accordion styles */


  .playlist-row{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .playlist-col{
    position: relative;
  }

  .playlist-col:hover .playlist-col-overlay{
      opacity: 1;
  }

  .playlist-col img{
      max-width: 100%;
      vertical-align: middle;
  }

  .playlist-col-overlay{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s;
    -webkit-transition: opacity 1s;
    background-color: rgba(0, 0, 0, 0.9);
    color: #FFF;
	padding:10px;
	text-align:center;
  }

  .tabs {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.5);
  }
  
  .tab {
    width: 100%;
    color: white;
    overflow: hidden;
  }
  .tab-label {
    display: flex;
    justify-content: space-between;
    padding: 1em;
    background: #ff4b5f;
    font-weight: bold;
    cursor: pointer;
	font-family: 'Vollkorn',Georgia,"Times New Roman",serif!important;
	font-size:20px;
  }
  .tab-label:hover {
    background: #ff4b5f;
  }
  .tab-label::after {
    content: "\276F";
    width: 1em;
    height: 1em;
    text-align: center;
    transition: all 0.35s;
  }
  .tab-content {
    max-height: 0;
    padding: 0;
    color: #2c3e50;
    background: white;
    transition: all 0.35s;
  }
  .tab-close {
    display: flex;
    justify-content: flex-end;
    padding: 1em;
    font-size: 0.75em;
    background: #2c3e50;
    cursor: pointer;
  }
  .tab-close:hover {
    background: #1a252f;
  }
  
  .tab input:checked + .tab-label {
    background: #ff4b5f;
  }
  .tab input:checked + .tab-label::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .tab input:checked ~ .tab-content {
    max-height: 100%;
  }


/*Button play*/
lazy-load-div::before {
	content: "\25B6\00fe0e";
}
@media all and (max-width: 480px) {
	.playlist-row{
		padding: 0;
	}
	.playlist-col{
		width: 100%;
    	padding: 2% 2% 0 2%; 
	}
	.playlist-col:last-child{
    	padding-bottom: 2%; 
	}
}

@media (min-width: 481px) and (max-width: 980px) {

  	.playlist-row{
    	padding-top: 1%;
  	}

  	.playlist-row:last-child{
    	padding-bottom: 1%;
	}

  	.playlist-col{
    	width: 48%;
    	position: relative;
    	margin-left: 1%;
		margin-bottom: 1%;
  	}
	.playlist-col:nth-child(even){
    	margin-right: 1%;
  	}
     
}

@media (min-width: 981px) {
	.playlist-row{
    	padding-top: 1%;
  	}

  .playlist-row:last-child{
    	padding-bottom: 1%;
	}

  .playlist-col{
    width: 23%;
    margin-left: 1%;
  }
  .playlist-col:last-child{
      margin-right: 1%;
  }
	
}
  