/*****************************************************************/
/*                   1. PAGEBUILDER ELEMENTS                     */
/*****************************************************************/

/* --- 1.1 GALLERY ELEMENT START --- */

/* 1.1.1 Normal gallery */
.pb-gallery.normal .item a{
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.pb-gallery.normal .item a.widescreen{
	max-height: 198px;
}
.pb-gallery.normal .item a.fullscreen{
	max-height: 250px;
}
.pb-gallery.normal .item a.widescreen.col6{
	max-height: 300px;
}
.pb-gallery.normal .item a.widescreen.col4{
	max-height: 198px;
}
.pb-gallery.normal .item a.widescreen.col3{
	max-height: 144px;
}
.pb-gallery.normal .item a.widescreen.col2{
	max-height: 90px;
}

/* 1.1.2 Grid gallery */
.pb-gallery.grid .gallery{
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	grid-auto-rows: 250px 150px;
	grid-auto-flow: dense;
}
.pb-gallery.grid .gallery .item{
	margin: 0px;
}
.pb-gallery.grid .gallery .item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width:480px){
	.pb-gallery.grid .gallery .item:first-child{
		grid-area: 1 / 1 / span 2 / span 2;
	}
	.pb-gallery.grid .gallery .item:nth-child(3n){
		grid-column: span 2;
	}
}

/* Gallery common */
.pb-gallery .item a img{
	transition: all .2s ease;
}
.pb-gallery .item a:hover img{
	opacity: 0.8;
}
/* --- 1.1 GALLERY ELEMENT END --- */


/* --- 1.2 ARTICLE LIST ELEMENT START --- */

/* 1.2.1 Normal article list */

/* 1.2.2 OWL Carousel article list */
.pb-articlelist .owl-carousel .owl-item .article{
	width: 100%;
	margin-bottom: 0px;
}
.pb-articlelist .owl-carousel .owl-item{
	display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: auto !important;
}
.pb-articlelist .owl-carousel .owl-stage {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.pb-articlelist .owl-carousel .owl-nav .owl-prev {
    width: 30px;
    height: 80px;
    position: absolute;
    margin-left: -50px;
    top: 35%;
    display: block !important;
    cursor: pointer;
}
.pb-articlelist .owl-carousel .owl-nav .owl-next {
    width: 30px;
    height: 80px;
    position: absolute;
    right: -55px;
    top: 35%;
    display: block !important;
    cursor: pointer;
}
.pb-articlelist .owl-carousel .owl-nav img{
	width: 100%;
}
.pb-articlelist .owl-carousel .owl-nav [class*="owl-"]:hover{
	background: transparent;
}

/* --- 1.2 ARTICLE LIST ELEMENT END --- */





/***** X. BUTTONS ******/

/* X.1 Shiny button */
.shiny-button {
	text-decoration: none;
	text-transform: uppercase;
	font-family: 'Open Sans', sans-serif;
	font-weight: 300;
	font-size: 30px;
	display: inline-block;
	position: relative;
	text-align: center;
	color: #000000;
	border: 1px solid #000000;
	border-radius: 5px;
	line-height: 3em;
	padding-left: 5em;
	padding-right: 5em;
	box-shadow: 0 0 0 0 transparent;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}
.shiny-button:hover {
	color: white;
	box-shadow: 0 0 30px 0 rgba(0, 199, 236, 0.5);
	background-color: #00c7ec;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.shiny-button:hover:before {
	-webkit-animation: shine 0.5s 0s linear;
	-moz-animation: shine 0.5s 0s linear;
	animation: shine 0.5s 0s linear;
}
.shiny-button:active {
	box-shadow: 0 0 0 0 transparent;
	-webkit-transition: box-shadow 0.2s ease-in;
	-moz-transition: box-shadow 0.2s ease-in;
	transition: box-shadow 0.2s ease-in;
}
.shiny-button:before {
	content: '';
	display: block;
	width: 0px;
	height: 86%;
	position: absolute;
	top: 7%;
	left: 0%;
	opacity: 0;
	background: white;
	box-shadow: 0 0 15px 3px white;
	-webkit-transform: skewX(-20deg);
	-moz-transform: skewX(-20deg);
	-ms-transform: skewX(-20deg);
	-o-transform: skewX(-20deg);
	transform: skewX(-20deg);
}

@-webkit-keyframes shine {
	from {
		opacity: 0;
		left: 0%;
	}
	50% {
		opacity: 1;
	}
	to {
		opacity: 0;
		left: 100%;
	}
}
@-moz-keyframes shine {
	from {
		opacity: 0;
		left: 0%;
	}
	50% {
		opacity: 1;
	}
	to {
		opacity: 0;
		left: 100%;
	}
}
@keyframes shine {
	from {
		opacity: 0;
		left: 0%;
	}
	50% {
		opacity: 1;
	}
	to {
		opacity: 0;
		left: 100%;
	}
}

/* X.2 Flat button */
.flat-button {
	position: relative;
	display: inline-block;
	height: 60px;
	background: #E74C3C;
	margin: 0 auto;
	overflow: hidden;
	z-index: 1;
	cursor: pointer;
	transition: color .3s;
	line-height: 60px;
	text-align: center;
	color: #fff;
}

.flat-button::after {
	position: absolute;
	top: 90%;
	left: 0;
	width: 100%;
	height: 100%;
	background: #C0392B;
	content: "";
	z-index: -2;
	transition: transform .3s;
}

.flat-button:hover::after {
	transform: translateY(-80%);
	transition: transform .3s;
}