/*
 *Styling for Gutenberg blocks
 *
 */

 html.sr .load-hidden {
     visibility: hidden;
 }

.page-template-blocks .site-inner,
.page-template-blocks .content {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.page-template-blocks .entry {
	margin-bottom: 0;
}

/* Page Rows
---------------------------------------------------------------------------------------------------- */

.page-row {
	width: auto;
	clear: both;
	background-size: cover;
	background-position: center center;
	background-blend-mode: multiply;
	background-color: #fff;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

/*.page-row.profiles-block > .wrap {
	max-width: 600px;
}*/


.row-bg {
	background-position: center center;
	background-blend-mode: multiply;
	overflow: hidden;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 100vh;
}

.row-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	mix-blend-mode: multiply;
}

.page-row > .wrap {
	max-width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	margin: 0 auto;
}

.page-row.dark,
.page-row.dark h1,
.page-row.dark h2,
.page-row.dark h3,
.page-row.dark h4,
.page-row.dark h5,
.page-row.dark h6 {
	color: #fff;
}

.page-row.dark a:not(.button) {
	color: #2fdd28;
}

.page-row.dark a:not(.button):hover,
.page-row.dark a:not(.button):focus {
	color: #17eb0e;
}


.page-row.padding-top {
	padding-top: 40px;
}

.page-row.padding-bottom {
	padding-bottom: 40px;
}

.page-row > .wrap > p:last-child {
	margin-bottom: 0;
}

/*.row-header {
	text-transform: uppercase;
	font-size: 40px;
}*/

/* Slideshow */

.page-row.slideshow-block > .wrap {
	padding: 0;
}

.carousel {
	width: 100%;
	display: block;
	overflow: hidden;
	position: relative;
	margin-bottom: 30px;
}

.flickity-slider {
    position: relative;
    height: 100%;
}

.page-row .carousel {
	margin-bottom: 0;
}

.carousel-cell {
	display: flex;
	width: 100%;
	position: absolute;
	height: auto;
	min-height: 100%;
	background-blend-mode: multiply;
	text-align: center;
	background-position: center center;
	background-size: cover;
	align-items: center;
}

.carousel-cell.dark,
.carousel-cell.dark h2,
.carousel-cell.dark h3,
.carousel-cell.dark h4,
.carousel-cell.dark h5,
.carousel-cell.dark h6 {
	color: #fff;
}

.carousel-cell.dark h2,
.carousel-cell.dark h3,
.carousel-cell.dark h4,
.carousel-cell.dark h5,
.carousel-cell.dark h6 {
	font-weight: 700;
}

.carousel-cell .row-header {
	color: #fff;
}

.carousel-cell > .wrap {
	margin: 0 auto;
	display: block;
	padding: 50px;
	position: relative;
	width: 100%;
	max-width: 800px;
}

.slide-content *:last-child {
	margin-bottom: 0;
}

.carousel-cell > .wrap h1,
.carousel-cell > .wrap h2,
.carousel-cell > .wrap h3 {
	line-height: 1.1;
}

.carousel-cell > .wrap .button {
	box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.carousel-cell-link,
.carousel-cell-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slide-header {
	text-transform: uppercase;
	font-size: 50px;
	font-size: 5rem;
	line-height: 1;
}

.cell-img,
.cell-text {
	width: 50%;
	position: absolute;
	height: 100%;
}

.cell-text {
	left: 0;
	top: 0;
}

.cell-text > .wrap {
	padding-left: 50px;
	padding-right: 50px;
	max-width: 640px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.cell-img {
	overflow: visible;
	right: 0;
	top: 0;
	background: left center / cover no-repeat;
}

.cell-img img {
	height: 100%;
	width: auto;
	max-width: none;
}

.carousel-cell-image {
	background-size: cover;
	background-position: center center;
	position: relative;
}

.slide-link {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.carousel .flickity-button,
.carousel .flickity-button:hover,
.carousel .flickity-button:focus,
.carousel .flickity-button:disabled {
	background: transparent;
}

.carousel .flickity-button,
.carousel .flickity-button:focus {
	box-shadow: none;
}

.carousel .flickity-prev-next-button .flickity-button-icon {
	fill: #fff;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
}
.carousel .flickity-prev-next-button.previous {
	left: 0;
}
.carousel .flickity-prev-next-button.next {
	right: 0;
}

/* Expanding Grid
*/

.expanding-grid-container {
	margin-bottom: 40px;
}

.expanding-grid div {
  box-sizing: border-box;
}

.expanding-grid {
	overflow: hidden;
	display: block;
}

.griddercell.gridder-list,
.griddercell.gridder-list:nth-child(n) {
	position: relative;
	cursor: pointer;
	box-sizing: border-box;
	padding: 0 20px 40px;
	margin-bottom: 0;
	margin-right: 0;
	margin-left: 0;
	list-style-type: none;
	display: inline-block;
}

.column-one-fourth.griddercell.gridder-list {
	width: 25%;
}

.column-one-third.griddercell.gridder-list {
	width: 33%;
}

.column-one-half.griddercell.gridder-list {
	width: 50%;
}

.column-full.griddercell.gridder-list {
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.profiles .griddercell.gridder-list,
.profiles .griddercell.gridder-list:nth-child(n) {
	text-align: center;
}

.griddercell_header,
.entry-content .griddercell_header {
	font-size: 16px;
	margin-bottom: 0px;
	color: #005dac;
	text-transform: uppercase;
}

.profiles .griddercell_header,
.entry-content .profiles .griddercell_header {
	text-align: center;
	font-weight: 600;
}

.classes .griddercell_header,
.entry-content .classes .griddercell_header {
	font-weight: 600;
}

.griddercell-image {
	overflow: hidden;
	margin: 0 auto 10px;
	position: relative;
	height: 0;
	padding-bottom: 100%;
	width: 100%;
	background-color: #c7c9cb;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0)
	z-index: 1;
}

.profiles .griddercell-image {
	overflow: hidden;
	margin: 0 auto 10px;
	position: relative;
	border-radius: 50%;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	background-color: #c7c9cb;
}

.griddercell-image * {
	transition: all 0.3s ease-in-out;
}

.griddercell img {
	position: absolute;
	left: 0;
	right: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	filter: grayscale(1);
	z-index: -1;
}

.griddercell:hover img,
.griddercell:focus img,
.griddercell.selectedItem img {
	transform: scale(1.05);
	filter: grayscale(0);
}

.griddercell_label {
	margin-bottom: 0;
	font-size: 15px;
	color: #404040;
	text-transform: uppercase;
}

.griddercell.selectedItem:after {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	content: '';
	width: 0; 
	height: 0; 
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #f2f2f2;
}

.icon_cell.gridder-list:nth-child(n) {
	margin-bottom: 0;
}

.gridder-expanded-content h1,
.gridder-expanded-content h2,
.gridder-expanded-content h3,
.gridder-expanded-content .bigpara{
	color: #0073e5;
}

.gridder-expanded-content {
	background-color: #f2f2f2;
	padding: 30px;
	margin-bottom: 40px;
}

.gridder-expanded-content h1,
.gridder-expanded-content h2,
.gridder-expanded-content h3,
.gridder-expanded-content p {
	margin-bottom: 10px;
}

.gridder-expanded-content *:last-child {
	margin-bottom: 0;
}

.gridder-expanded-content ul li {
	margin-bottom: 30px;
	margin-left: 20px;
	float: none;
}

.gridder-expanded-content ul > li {
    list-style-type: none;
    position: relative;
    padding-left: 28px;
    margin-bottom: 8px;
}

.gridder-expanded-content .profile-contact {
	border-top: 1px solid rgba(0,0,0,0.3);
	margin-top: 20px;
	padding: 20px 0;
}

.gridder-expanded-content .profile-contact:before {
	display: inline-block;
	content: attr(title);
	text-transform: uppercase;
	color: #7c7c7b;
	font-size: 16px;
}

.gridder-expanded-content .profile-contact li {
	list-style-type: none;
	padding: 0 15px 0 15px;
	margin-left: 0;
	display: inline-block;
}

.gridder-expanded-content .profile-contact li a i {
	font-size: 30px;
	color: #7c7c7b;
	height: 30px;
	width: 30px;
}

.gridder-expanded-content .profile-contact li a i {
	position: relative;
	top: -3px;
}

.gridder-expanded-content .profile-contact li a i:hover,
.gridder-expanded-content .profile-contact li a i:focus {
	color: #14af0e;
}

/* Image - Text Column
 */

.image-text-row .img-container,
.image-text-row .text-container{
	width: 100%;
	margin-bottom: 30px;
}

.image-text-row {
	margin-bottom: 50px;
}

.image-text-row .img-container.dropshadow {
	box-shadow: 0 0 20px rgba(0,0,0,0.3);
}


.readmore-container {
	position: relative;
	overflow: hidden;
}

.readmore-container .readmore-button {
	text-align: center;
	width: 100%;
}

.readmore-container .hide {
	display: none;
}

.counter {
	font-size: 45px;
	margin-bottom: 0;
}

/* Packages */

.page-row p i.dashicons-before {
	position: relative;
	top: 6px;
}

.package-header {
	margin-bottom: 10px;
}

.classes-eligible-header,
.entry-content h4.classes-eligible-header {
	text-transform: uppercase;
	font-size: 16px;
	color: #777;
	font-weight: 600;
	margin: 0;
}

ul.classes-eligible {
	margin-bottom: 30px;
}

ul.classes-eligible > li a {
	text-transform: uppercase;
	font-size: 13px;
	background-color: #777;
	color: #fff;
	padding: 3px 5px;
}

ul.classes-eligible > li a:hover,
ul.classes-eligible > li a:focus {
	background-color: #4CB748;
}

.dark ul.classes-eligible > li a {
	background-color: #fff;
	color: #404040;
}

.dark ul.classes-eligible > li a:hover,
.dark ul.classes-eligible > li a:focus {
	background-color: #17eb0e;
}

/* Fancybox gallery */

.fancybox-gallery {
	display: block;
}

.fancybox-gallery > .fancybox-gallery-item {
	list-style-type: none;
}

.fancybox-gallery-item,
.fancybox-gallery-item.gallery-item {
	width: 50%;
	padding: 1px;
	display: inline-block;
	margin: 0;
}

.fancybox-gallery-item a img {
	mix-blend-mode: multiply;
}

.fancybox-gallery-item a {
	background-color: #fff;
	transition: all 0.3s ease-in-out;
	display: block;
	position: relative;
}

.fancybox-gallery-item a:hover,
.fancybox-gallery-item a:focus {
	background: rgba(0,0,0,0.3);
}


/*.fancybox-gallery-item a:before {
	position: absolute;
	top: calc(50% - 20px);
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 30px;
	height: 30px;
	font-size: 30px;
	content: "\f211";
	font-family: 'dashicons';
	color: #fff;
	text-shadow: 0 0 5px #000;
	opacity: 0;
	transition: all 0.3s ease-in-out;
	z-index: 9;
}
*/

.fancybox-gallery-item .expand-icon {
	opacity: 0;
	width: 30px;
	height: 30px;
	z-index: 99;
	object-position: center center;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	margin: 0 auto;
}

.fancybox-gallery-item .expand-icon:before {
	color: #fff;
}

.fancybox-gallery-item:hover .expand-icon,
.fancybox-gallery-item:focus .expand-icon {
	opacity: 1;
}

@media only screen and ( min-width: 960px ) {

	/*.row-header {
		font-size: 45px;
	}
*/
	.page-row > .wrap {
		width: 65%;
		max-width: 800px;
		padding: 0;
	}

	.page-row.width-medium > .wrap {
		width: 100%;
		max-width: 1000px;
	}

	.page-row.width-large > .wrap {
		width: 100%;
		max-width: 1600px;
		padding-left: 5%;
		padding-right: 5%;
	}

	.page-row.width-full > .wrap {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
		max-width: 100%;
	}

	.page-row.padding-top {
		padding-top: 60px;
	}

	.page-row.padding-bottom {
		padding-bottom: 60px;
	}

	.carousel-cell {
		height: 95vh;
	}

	.carousel-cell.dark h2,
	.carousel-cell.dark h3 {
		font-size: 200%;
	}

	.carousel-cell {
		font-size: 21px;
	}

	/* Image - Text Column
	 */

	.image-text-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 65px;
	}

	.image-text-row:last-child {
		margin-bottom: 0;
	}

	.image-text-row .img-container,
	.image-text-row .text-container {
		width: 47%;
	}

	.image-text-row .text-first {
		order: 2;
	}

	.counter {
		font-size: 60px;
	}

	.js .fadein {
		transition: all 0.3s ease-in-out;
		opacity: 0;
		transform: translateY(20px);
	}

	.js .fadein.inview {
		opacity: 1;
		transform: translateY(0);
	}

	/*.profiles .griddercell-image {
		width: 200px;
		height: 200px;
		padding-bottom: 0;
	}*/

	/* Fancybox Gallery */

	.fancybox-gallery-item,
	.fancybox-gallery-item.gallery-item {
		width: calc(100% / 3);
	}
}

@media only screen and ( max-width: 495px ) {
	.carousel-cell {
		line-height: 1.4;
	}

	.griddercell.gridder-list, 
	.griddercell.gridder-list:nth-of-type(n),
	.profiles .griddercell.gridder-list, 
	.profiles .griddercell.gridder-list:nth-child(n),
	.classes .griddercell.gridder-list, 
	.classes .griddercell.gridder-list:nth-child(n) {
		width: 100%;
	}

	.carousel-cell p {
		margin-bottom: 8px;
	}
}