/*****************************
 *****************************
 *
 * GENERAL STYLES TO CONTENT ITEMS
 *
 *****************************
*****************************/

/*****
 * Apply Montserrat fonts to a few modules
******/

.ivan-button, .block-btn, 
.wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header,
.ivan-tabs-wrap .wpb_tour_tabs_wrapper.iv-tabs .wpb_tabs_nav li a,
.ivan-staff-wrapper .name,
.ivan-pricing-table .month,
.ivan-icon-box .icon-box-link-holder a,
.ivan-vc-filters-wrapper,
.ivan-pricing-table .signup,
.ivan-testimonial .testimonial-meta .author-infos,
.post-nav-fixed .nl-infos {
	font-family: @headings-font-family;
}

.ivan-pricing-table .price-inner,
.pie-chart-counter {
	font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
}

.ivan-pricing-table.small-desc .top-section .month {
	font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ivan-pricing-table.small-desc li {
	font-weight: 200;
}

/*****
 * Revolution Slider Video Fix
******/

body .fullcoveredvideo video, 
body .fullscreenvideo video {
	object-fit: fill;
}

/*****
 * Smooth Negative Header Opening
******/

.smooth-opening-holder {
	max-height: 0px;
	.opacity(0);

	overflow: hidden;
	.lh-transition(max-height 1.5s ease, opacity 0.3s ease);

	&.z-enabled {
		z-index: 30000;
	}

	position: relative;

	&.stuck-holder {
		.lh-transition(max-height 0s ease, opacity 0s ease);
	}

	&.smooth-opened {
		.opacity(1);
		max-height: 600px;
		overflow: visible;
	}

	&.only-fixed-header {
		position: absolute;
		width: 100%;
		left: 0;
	}
}

/*****
 * Page Loader Stlyes
******/

	#page-loader {
		position: fixed;
		background: #fff;
		top: 0;
		left: 0;
		width: 100%;
		bottom: 0;

		text-align: center;

		z-index: 100999;
	}

	.page-loader-spinner {
		position: absolute;
		z-index: 10000;
		top: 50%;
		left: 50%;
		margin-top: -30px;
		margin-left: -30px;
		width: 60px;
		height: 60px;
		text-align: center;
		font-size: 10px;
	}

	.page-loader-spinner > div {
		background-color: @brand-primary;
		height: 60px;
		width: 6px;
		display: inline-block;
		margin: 0 1px;
		
		-webkit-animation: stretchdelay 1.2s infinite ease-in-out;
		animation: stretchdelay 1.2s infinite ease-in-out;
	}

	.page-loader-spinner .rect2 {
		-webkit-animation-delay: -1.1s;
		animation-delay: -1.1s;
	}

	.page-loader-spinner .rect3 {
		-webkit-animation-delay: -1.0s;
		animation-delay: -1.0s;
	}

	.page-loader-spinner .rect4 {
		-webkit-animation-delay: -0.9s;
		animation-delay: -0.9s;
	}

	.page-loader-spinner .rect5 {
		-webkit-animation-delay: -0.8s;
		animation-delay: -0.8s;
	}

	@-webkit-keyframes stretchdelay {
		0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
		20% { -webkit-transform: scaleY(1.0) }
	}

	@keyframes stretchdelay {
		0%, 40%, 100% { 
			transform: scaleY(0.4);
			-webkit-transform: scaleY(0.4);
		}  20% { 
			transform: scaleY(1.0);
			-webkit-transform: scaleY(1.0);
		}
	}

	/*

	#loader-wrapper {
		position: absolute;
		top: 50%;
		left: 50%;

		margin-top: -10em;
		margin-left: -5em;
	}

	.loader {
		margin: 6em auto;
		font-size: 10px;
		position: relative;
		text-indent: -9999em;
		border-top: 1.1em solid #222;
		border-right: 1.1em solid #222;
		border-bottom: 1.1em solid #222;
		border-left: 1.1em solid #ffffff;
		-webkit-animation: load8 1.1s infinite linear;
		animation: load8 1.1s infinite linear;
	}

	.loader,
	.loader:after {
		border-radius: 50%;
		width: 10em;
		height: 10em;
	}

	// Key Frames
	@-webkit-keyframes load8 {
		0% {
			-webkit-transform: rotate(0deg);
			transform: rotate(0deg);
		}
		100% {
			-webkit-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}
	@keyframes load8 {
		0% {
			-webkit-transform: rotate(0deg);
			transform: rotate(0deg);
		}
		100% {
			-webkit-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}
	*/

/*****
 * Content Wrapper when not using Visual Composer
******/
 
	.content-wrapper {
		padding: 45px 0;

		// Default Bg to Boxed Style Pages
		&.page-boxed-style {
			background: @content-wrapper-bg;
			padding: 60px 0px;
		}
	}

	// Transition to Links
	.content-wrapper a {
		// Transition
		.iv-transition-all();
	}

	// Aside Boxed Paddings
	.ivan-main-layout-aside-right, ivan-main-layout-aside-left {
		.content-wrapper {
			
			&.page-boxed-style {
				padding: 45px 0;
			}
		}
	}

	// Modify row and text modules to uniform margin
	.wpb_row, .wpb_content_element, ul.wpb_thumbnails-fluid > li, .last_toggle_el_margin, .wpb_button {
		margin-bottom: 20px;
	}

	.ivan-custom-wrapper {
		> .wpb_row, > .wpb_content_element {
			margin-bottom: 0px;
		}
	}

/*****
 * Content Wrapper without Title Wrapper [used in blog]
******/

	.content-wrapper.no-title-wrapper {
		padding-top: 60px;
	}

/*****
 * Visual Composer Activated Adjusts
******/

	.vc_being_used .content-wrapper.content-full {
		padding: 0;
		padding-top: 0 !important;

		.boxed-page-inner {
			padding-top: 0;
			padding-bottom: 0;
		}

		.entry-content > .ivan-custom-wrapper {
			&.row-no-custom-ptop:first-child {
				padding-top: 45px;
			}

			&:last-child {
				margin-bottom: 45px;
			}

		}

		// To front-end editor
		.entry-content > .vc_vc_row {
			&:first-child {
				> .ivan-custom-wrapper.row-no-custom-ptop {
					padding-top: 45px;
				}
			}

			&:last-child {
				> .ivan-custom-wrapper {
					margin-bottom: 45px;
				}
			}
		}

	}

	body.ivan-m-l-aside.compose-mode .content-wrapper.content-full {
		padding-top: 30px;
	}

	body.moz-negative-adjust.compose-mode .negative-push {
		margin-bottom: 30px;
	}

	.vc-inline-shortcode-edit-form .colorpicker {
		display: none;
	}

	.compose-mode .negative-push,
	.view-mode .negative-push {
		.lh-transition( margin 500ms ease);
	}

	// Used when in editor mode and with Negative Header
	.compose-mode .negative-push {
		margin-top: 0px !important;
	}

	.compose-mode {
		.smooth-opening-holder.only-fixed-header {
			position: static;
		}
	}

	// Moz Negative Height Adjust
	.moz-negative-adjust {
		
		.header-left-area, .header-right-area {
			float: none !important;
		}
	}


/*****
 * 404 Page Stlye
******/
	
	.error404 {
		.not-found {
			padding: 230px 0 240px;
			background: @primary-color url(../images/404.jpg) no-repeat;
			background-size: cover;

			.not-found-number {
				line-height: 1.1;
				text-align: center;
				text-transform: uppercase;

				color: #fff;
				font-size: 90px;
				font-weight: 700;
			}

			.error-dot {
				font-weight: bold;
			}

			.not-found-text {
				color: #b7dafa;
				line-height: 1.4;
				text-align: center;
			}

			&.no-results {
				padding: 0;
			}

			.search-field {
				width: auto;
			}
		}
	}

/*****
 * Boxed Page Style
******/

	.boxed-page-wrapper {
		box-shadow: rgba(0,0,0,0.05) 0 1px 5px;
		-webkit-box-shadow: rgba(0,0,0,0.05) 0 1px 5px;
		background: @boxed-wrapper-bg;

		#iv-layout-title-wrapper {
			padding-left: 45px;
			padding-right: 45px;

			.container {
				width: 100% !important;
			}
		}
	}

	.boxed-page-inner {
		padding: 60px 60px;
	}

	// Margin adjust when displaying a page or project
	.vc_being_used .page .content-full .boxed-page-wrapper,
	.vc_being_used .single-ivan_vc_projects .content-full .boxed-page-wrapper {
		margin: 60px 0;
	}

	// Aside Boxed Paddings
	.vc_being_used .page,
	.vc_being_used .single-ivan_vc_projects {

		.ivan-main-layout-aside-right, ivan-main-layout-aside-left {
			.content-full .boxed-page-wrapper {
				margin: 45px 0;
			}
		}		
	}
	

/*****
 * Back to Top Button
******/

	#back-top {
		color: #cdcdcd;
		height: auto;
		position: fixed;
		bottom: 45px;
		right: -60px;

		margin: 0px;
		z-index: 16000;
		
		-webkit-transition:all 0.3s ease 0s; 
		-moz-transition:all 0.3s ease 0s; 
		-o-transition:all 0.3s ease 0s;
		transition:all 0.3s ease 0s;
	}

	#back-top.off {
		opacity: 0;
		filter: alpha(opacity=0);
		right: -60px;
	}

	#back-top.on {
		opacity: 1;
		filter: alpha(opacity=100);
		right: 5px;
	}

	#back-top .hover {
		display: none;
	}

	#back-top {
		width: 40px;
		height: 40px;
		color: #fff;
		background-color:rgba(0,0,0,0.45);
		line-height: 40px;
		text-decoration: none;

		text-align: center;

	 	-webkit-border-radius: 0px;
	 	border-radius: 0px;
	 	
		-webkit-transition:all 0.2s ease 0s; 
		-moz-transition:all 0.2s ease 0s; 
		-o-transition:all 0.2s ease 0s; 

		font-size: 24px;
	}

	#back-top:hover {
		color: #fff;
		background: #000;
	}

/*****************************
 *****************************
 *
 * RESPONSIVE RULES
 *
 *****************************
*****************************/

// XSS Screen Phone Portrait
@media (max-width: @screen-xxs-min) {
	
}

// XS Screen Phone
@media (max-width: @screen-xs-max) {

	// Back to Top Adjust	
	#back-top.on {
		right: 0;
	}

	// Boxed Page Style Adjusts to Mobile
	.boxed-page-wrapper {
		#iv-layout-title-wrapper {
			padding-left: 15px;
			padding-right: 15px;
		}
	}
	
	.boxed-page-inner {
		padding: 30px 30px;
	}

	// 404
	.not-found {
		padding: 130px 0 130px;

		.not-found-number {
			font-size: 30px;
		}
	}

}

// SM Screen Tablet
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
	
}

// MD Screen Desktop and Above
@media (min-width: @screen-md-min) {
	
	// Adjust Sidebar Widths when in larger screens to better blog layout
	.sidebar-enabled.sidebar-right {
		padding-right: 30px; // double of the default 15px
	}

	.sidebar-enabled.sidebar-left, .cart-details-col, .checkout-sidebar {
		padding-left: 30px; // double of the default 15px
	}

	// Default Sidebar Top Margins in Blog and Single
	.index, .single-post, .search {
		.sidebar .sidebar-inner {
			margin-top: 35px;
		}
	}
}

// MD Screen Desktop 
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {

}

// LG Screen Large Desktop
@media (min-width: @screen-lg-min) {
	
}