/* Common
********************************************/
.full-wh {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.full-vh {
	position: absolute;

	/* top: 0px; */
	left: 0;
	right: 0;
	height: 110vh;
	top: 50%;
	margin-top: -50vh;
}

.full-wh > .full-wh,
.bgslider {
	position: absolute;
	inset: 0;
	background-color: rgb(0 0 0 / 40%);
	height: 100% !important;
}

section.no-border,
.section.no-border,
.no-border { border: none; }
.pos-rel { position: relative; }
ul.reset { margin: 0; padding: 0; list-style-type: none; }

/* Typo
========================= */
.fs12 { font-size: 12px; }
.fs18 { font-size: 18px; }
.lh1-4 { line-height: 1.4; }
.bold-2 { font-weight: 400; }
.bold-3 { font-weight: 600; }
.italic { font-style: italic; }


/* Alignment 
========================= */

.cm-item {
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

.vm-item {
	transform: translateY(-50%);
	top: 50%;

	/* transform: translateY(50%);
	-webkit-transform: translateY(50%);
	-moz-transform: translateY(50%);
	-ms-transform: translateY(50%); */
}

.c-item {
	transform: translateX(-50%);
	left: 50%;
}
.align-c { text-align: center; }


.flex-cc {
	display: flex;
}


.flex-cc {
	/* flex-start | flex-end | center | space-between | space-around */

 justify-content: center;

	/* flex-start | flex-end | center | baseline | stretch */ align-items: center;
}


/* z-index
========================= */
.z1 { z-index: 2; }

/* Background properties 
========================= */
.bg-section { top: 0; }


.bg-cover { background-size: cover; background-repeat: no-repeat; }


.bg-cc { background-position: center center; }

@media (width >= 992px) {
	.bg-glass, .nav-wrp.bg-glass:not(.nav-sticky) { background-color: transparent; }
} /* very light gray */ /* light gray */ /* gray */ /* medium dark gray */ /* dark gray */ /* dark blue */ /* light blue */ /* green */ /* orange */ /* dark orange */ /* purple */ /* very light gray */ /* light gray */ /* gray */ /* medium dark gray */ /* dark gray */ /* dark blue */ /* light blue */ /* green */ /* orange */ /* dark orange */ /* purple */ /* very light gray */ /* light gray */ /* gray */ /* medium dark gray */ /* dark gray */ /* dark blue */ /* light blue */ /* green */ /* orange */ /* dark orange */ /* purple */ /* very light gray */ /* light gray */ /* gray */ /* medium dark gray */ /* dark gray */ /* dark blue */ /* light blue */ /* green */ /* orange */ /* dark orange */ /* purple */



/* Opacity
========================= */

[data-animate-in]:not(.animated) { opacity: 0 !important; }

/* Clearing
========================= */

.nav-header::before, .nav-header::after,
.nav-links::before,
.nav-links::after
	{ content: ''; display: table; clear: both; }

/* Padding
========================= */
.pd-tb-large  { padding-top: 200px; padding-bottom: 200px; }
.pd-tb-40  { padding-top: 40px; padding-bottom: 40px; }
.pd-tb-80  { padding-top: 80px; padding-bottom: 80px; }


/* Margin
========================= */
.mr-0 { margin: 0; }


.mr-t-40  { margin-top: 40px; }

.mr-b-40  { margin-bottom: 40px; }

.mr-b-50  { margin-bottom: 50px; }

.mr-b-60  { margin-bottom: 60px; }
.mr-tb-20  { margin-top: 20px; margin-bottom: 20px; }
.mr-tb-30  { margin-top: 30px; margin-bottom: 30px; }
.mr-lr-20  { margin-left: 20px; margin-right: 20px; }

/* Width
========================= */
.w-75 { width: 75%; }

@media (width >= 200px) and (width <= 991px) {
	
	.w-75 { width: 100%; }
}

/* Max width */


/* Square
========================= */


/* Height
========================= */
.h5{height:5%;}


/* Radius
========================= */

/* Icon blocks
========================= */


/* Border
========================= */ /* very light gray */ /* light gray */ /* gray */ /* medium dark gray */ /* dark gray */ /* dark blue */ /* light blue */ /* green */ /* orange */ /* dark orange */ /* purple */


/* Forms
========================= */
.btn.block { display: block; }
.btn.inline-block { display: inline-block; width: auto; }

/* Other utilities
========================= */
.hidden                          { display:none;}
.block                           { display:block;}
.flex                            {display:flex;}
.inline                          { display:inline;}
.inline-block                    { display:inline-block;}
.disabled                        { opacity:0.5;cursor:not-allowed;pointer-events:none;}
.fullscreen                      { min-height:100vh;min-width:100%;}

.relative                        { position:relative;}
.absolute                        { position:absolute;}
.fixed                           { position:fixed;}

.top                             { top:0;}
.right                           { right:0;}
.bottom                          { bottom:0;}
.left                            { left:0;}


/* Small screen helper reset
========================= */
@media (width >= 200px) and (width <= 991px) {

	.title.large:not([class*="sm-fs"]) { font-size: 30px; }
	.title-sub.large { font-size: 18px; }
	
	
	/* Alignment
	========================= */
	
	
	/* Margin
	========================= */

	
	/* Padding
	========================= */


	/* Width
	========================= */
	
	.w-75 { width: 100%; }


	/* Height
	========================= */
	
	/* Other
	========================= */
}


/* Animation
========================= */

.swiper-button-prev,
.swiper-button-next,
.other-section-1 ol > li,
.other-section-1 ol > li *,
.nav-hide,
.nav-show,
.nav-wrp .navbar-brand img, 
.nav-wrp, 
a, .btn,
.owl-nav * {
	transition: all 0.25s ease-out;
}


@keyframes rg_fadeup {
	0% { 
		opacity: 0;
		transform: translateY(40px);
	}

	100% { 
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes rg_fadeup {
	0% { 
		opacity: 0;
		transform: translateY(40px);
	}

	100% { 
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes rg_fadeup {
	0% { 
		opacity: 0;
		transform: translateY(40px);
	}

	100% { 
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes rg_fadeup {
	0% { 
		opacity: 0;
		transform: translateY(40px);
	}

	100% { 
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes rg_fadedown {
	0% { 
		opacity: 1;
		transform: translateY(0);
	}

	100% { 
		opacity: 0;
		transform: translateY(40px);
	}
}

@keyframes rg_fadedown {
	0% { 
		opacity: 1;
		transform: translateY(0);
	}

	100% { 
		opacity: 0;
		transform: translateY(40px);
	}
}

@keyframes rg_fadedown {
	0% { 
		opacity: 1;
		transform: translateY(0);
	}

	100% { 
		opacity: 0;
		transform: translateY(40px);
	}
}

@keyframes rg_fadedown {
	0% { 
		opacity: 1;
		transform: translateY(0);
	}

	100% { 
		opacity: 0;
		transform: translateY(40px);
	}
}


@keyframes rg_fadeleft {
	0% { 
		opacity: 0;
		transform: translateX(40px);
	}

	100% { 
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes rg_fadeleft {
	0% { 
		opacity: 0;
		transform: translateX(40px);
	}

	100% { 
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes rg_fadeleft {
	0% { 
		opacity: 0;
		transform: translateX(40px);
	}

	100% { 
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes rg_fadeleft {
	0% { 
		opacity: 0;
		transform: translateX(40px);
	}

	100% { 
		opacity: 1;
		transform: translateX(0);
	}
}


/* Loader CSS
========================= */
.spinner-wrp {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 999999;
	background-color: #fff;
	left: 0;
	top: 0;
}

body > .spinner-wrp {
	position: fixed;
}

.spinner {
	border: 3px solid rgb(0 0 0 / 15%);
	border-top: 3px solid rgb(0 0 0 / 50%);
	border-bottom: 3px solid rgb(0 0 0 / 50%);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 2s linear infinite;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

.dark.spinner-wrp {
	background-color: #000;
}

.dark.spinner-wrp .spinner {
	border: 3px solid rgb(255 255 255 / 15%);
	border-top: 3px solid rgb(255 255 255 / 50%);
	border-bottom: 3px solid rgb(255 255 255 / 50%);
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
