/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

/* ---------- GLOBAL STYLES ----------*/

* {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.cky-modal input[type=checkbox]:before {
	visibility: visible;
}

.mfp-title {
	display: none;
}

main ul,
.w-popup-wrap ul {
	list-style: none;
	margin-left: 2px;
}

main ol {
	margin-left: 0;
}

main ul li,
.w-popup-wrap ul li {
	position: relative;
	padding-left: 28px;
}

main ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 8px;
	height: 13px;
	background: url(assets/chevron-right.svg);
	background-size: 100% 100%;
}

.l-main a:not(.w-btn) {
	text-decoration: underline;
}

.l-main .w-grid a {
	text-decoration: none;
}

.wpcf7-form {
	max-width: 900px;
}

.wpcf7-form h2 {
	font-size: 32px;
	padding-top: 0;
	margin-bottom: 20px !important;
}

.wpcf7-form .wpcf7-form-control-wrap.reisikava {
	border: 1px solid rgba(0, 102, 204, 0.40);
	border-radius: 8px;
	height: 3.3rem;
	display: flex;
	align-items: center;
	padding-left: 0.8rem;
}

.form-row br {
	display: none;
}

.form-row-inner {
	width: 49%;
}

.form-row-inner .wpcf7-form-control-wrap:first-child {
	width: 63%;
}

.form-row-inner .wpcf7-form-control-wrap:last-child {
	width: 34%;
}

.form-row.address-row .wpcf7-form-control-wrap-main .wpcf7-form-control-wrap {
	width: 100%;
}

.address-row,
.address-row .swap {
	position: relative;
}

.address-row .swap {
	display: none;
	cursor: pointer;
	position: absolute;
	width: 32px;
	height: 32px;
	top: 25px;
	left: 50%;
	transform: translateX(-50%);
}

.address-row .swap:after {
	content: "";
	position: absolute;
	width: 32px;
	height: 32px;
	left: 0;
	top: 0;
	background-image: url(assets/icon-switch-field.svg);
	background-size: 100% 100%;
}

span[data-name="reisi-algus-kp"]:after,
span[data-name="reisi-lopp-kp"]:after {
	content: "";
	position: absolute;
	right: 14px;
	top: 30px;
	width: 17px;
	height: 16px;
	background-image: url(assets/icon-calendar-dark.svg);
}

span[data-name="reisijate-arv"]:after {
	content: "";
	position: absolute;
	right: 14px;
	top: 32px;
	width: 21px;
	height: 14px;
	background-image: url(assets/icon-people.svg);
}

.last-form-row {
	margin-bottom: 38px;
}

.wpcf7-form .form-row input:not([type="checkbox"]) {
	margin-top: 0.7rem;
}

.wpcf7-form .form-row.return-trip-checkbox {
	margin: 0.5rem 0 0.2rem;
}

.form-row .wpcf7-submit {
	max-height: 54px;
	margin-top: 0.7rem;
}

.form-row .ajax-loader {
	position: absolute;
	left: 25px;
	bottom: 20px;
}

.wpcf7-form input[type="file"] {
	line-height: 1.3rem !important;
	height: 1.3rem !important; 
	min-height: unset !important;
	border-radius: 0;
	padding-left: 0;
	color: #000;
	border: none;
}

.wpcf7-form input[type="file"]::file-selector-button {
	background-color: #fff;
	padding-left: 0.5rem;
	cursor: pointer;
	color: #000;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0em 1em !important;
}


@media (min-width: 600px) {
	.form-row {
		display: flex;
		justify-content: space-between;
	}
	.address-row .swap {
		display: block;
	}
	
}

@media (min-width: 1100px) {
	.form-row.address-row .wpcf7-form-control-wrap-main {
		width: 49%;
	}
	.form-row .wpcf7-form-control-wrap {
		width: 49%;
	}
}

/* ---------- FRONT PAGE  ----------*/

.hero-test-section #desktop {
	display: none;
}

.services-section .g-cols.wpb_row:first-child {
	margin-top: -18%;
	margin-bottom: 3rem;
}


.services-section .g-cols.wpb_row:first-child  {
	box-shadow: 0 2px 50px 0 rgb(0 0 0 / 6%);
	padding: 4.2% 4.4% 4.5%;
	background-color: #fff;
	border-radius: 12px;
}

.services-section h1 {
	position: relative;
	padding-left: 55px;
}

.services-section h1:before {
	content: "";
	position: absolute;
	width: 40px;
	height: 38px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(assets/icon-bus-blue.svg);
}

.services-section .g-cols.wpb_row:first-child {
	margin-top: -120px;
}

.services-section .g-cols.wpb_row:nth-child(2) {
	padding: 25px 25px 20px 25px;
	background-color: #fff;
	border-radius: 12px;
}

@media (min-width: 600px) {
	.services-section .g-cols.wpb_row:first-child {
		margin-top: -150px;
	}
}

@media (min-width: 768px) {
	.hero-test-section #mobile {
		display: none;
	}
	.hero-test-section #desktop {
		display: block;
	}
}

@media (min-width: 800px) {
	.services-section .g-cols.wpb_row:first-child  {
		margin-top: -14%;
		margin-bottom: 3.8rem;
	}
	.services-section .g-cols.wpb_row:nth-child(2) {
		padding: 35px 30px 30px 25px;
		position: relative;
	}
	.services-section .g-cols.wpb_row:nth-child(2):before {
		content: "";
		position: absolute;
		top: 0;
		left: 33%;
		width: 1px;
		height: 100%;
		background-color: #E9EBEF;
	}
	.services-section .g-cols.wpb_row:nth-child(2):after {
		content: "";
		position: absolute;
		top: 0;
		left: 65%;
		width: 1px;
		height: 100%;
		background-color: #E9EBEF;
	}
}

@media (min-width: 1000px) {
	.services-section .g-cols.wpb_row:first-child {
		margin-top: -17%;
		margin-bottom: 3.8rem;
	}
}

@media (min-width: 1100px) {
	.services-section .form-row {
		display: flex;
		justify-content: space-between;
	}
	.services-section.address-row .swap {
		display: block;
	}
}

/* News grid */

.news-grid-item-big h2 {
	font-size: 24px;
}

.news-grid-item-small h2 {
	font-size: 18px;	
}

.news-grid-date {
	position: relative;
	background: #fff;
	font-weight: 700;
	border-radius: 5px;
	padding: 2px 9px 2px 40px;
}

.news-grid-date:before {
	content: "";
	position: absolute;
	left: 11px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url(assets/calendar-icon.svg);
	background-size: 100% 100%;
}

@media (min-width: 800px) {
	.news-grid-item-big h2 {
		font-size: 32px;
	}
	.news-grid-item-small h2 {
		font-size: 24px;	
	}
}

/* Reviews section */

.testimonial-grid-item {
	border-top: 1px solid #E1E1E1;
	border-bottom: 1px solid #E1E1E1;
	padding: 6% 0 5%;
}

.testimonial-grid-item .author {
	font-size: 24px;
	line-height: 28px;
	font-weight: 600;
}

.testimonial-grid-item .post_content  {
	color: #676767;
	line-height: 24px;
}

.testimonial-grid-item .post_date {
	padding-left: 22px;
	position: relative;
	font-size: 13px;
	text-transform: capitalize;
	font-weight: 600;
	color: #676767;
	margin-top: auto;
}

.testimonial-grid-item .post_date:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 14px;
	height: 14px;
	transform: translateY(-50%);
	background-image: url(assets/testimonial-date-icon.svg);
	background-size: 100% 100%;
}

/* ---------- BOOKING PAGE ----------*/
@media screen and (min-width: 1220px) {
	.bus-booking-img-section .vc_row > div {
	margin-right: calc(560px + 1.5rem - 50vw) !important;
	padding-right: 0 !important;
	flex-grow: 1;
}

/* ---------- SERVICES PAGE ----------*/

.content-page-gallery .w-hwrapper > div {
	width: 100%;
}

.content-page-gallery img {
	border-radius: 12px;
}

.content-page-gallery .w-grid-item .w-grid-item-h,
.content-page-gallery .w-image .w-image-h {
	box-shadow: 0 0 30px 0 rgb(0 0 0 / 6%);
}

.content-cta-section .vc_column-inner .wpb_wrapper {
	padding: 45px 0 40px;
	background-color: #E4EBF6;
	border-radius: 12px;
}

.content-cta-section h3 {
	margin-bottom: 45px;
	font-size: 30px;
}

@media (max-width: 799px) {
	.sidebar-column {
		display: none;
	}
	.content-page-gallery .w-hwrapper {
		flex-wrap: wrap;
	}
	.content-page-gallery .w-hwrapper .w-image {
		margin-right: 0;
		margin-bottom: 0.75rem;
	}
	.service-grid-item .usg_post_image_1 {
		display: none;
	}
	.footer-eas .w-hwrapper {
		flex-direction: column;
	}
}

@media (min-width: 768px) {
	.content-page-gallery .w-hwrapper {
		align-items: stretch;
	}
	.content-page-gallery .w-hwrapper .w-image-h,
	.content-page-gallery .w-hwrapper .w-image-h img {
		height: 100%;
	}
	.content-page-gallery .w-hwrapper > div {
	width: 50%;
	}
	.content-page-gallery .stretched .vc_column-inner {
	padding-right: 0 !important;
	}
	.content-page-gallery .w-hwrapper .w-grid-item:nth-child(even) img {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	}

	}
}

/* ---------- BUS PAGE ----------*/

.bus-header {
	padding-top: 35px;
	padding-bottom: 35px;
}

.bus-section ul {
	columns: 2;
	-webkit-columns: 2;
	-moz-columns: 2;
}

.bus-section .w-image img,
.bus-section img,
.bus-booking-img-grid img {
	border-radius: 12px;
}

.bus-img-grid {
	margin-top: 42px;	
}


.bus-section.left .w-btn-wrapper,
.bus-section.right .w-btn-wrapper {
	position: absolute;
	right: 0;
	bottom: 0;
	margin: 0;
}

.bus-section.right .w-btn-wrapper {
	left: 0;
}

.bus-section.left .w-btn-wrapper a {
	position: relative;
	border-radius: 12px 0 12px 0;
}

.bus-section.right .w-btn-wrapper a {
	position: relative;
	border-radius: 0 12px 0 12px;
}

.bus-section .vc_col-sm-6 .wpb_wrapper {
	position: relative;
}

.bus-section .w-btn-label,
.bus-booking-img-grid .w-btn-label {
	position: relative;
	padding-right: 30px;
}

.bus-section .w-btn-label:after,
.bus-booking-img-grid .w-btn-label:after {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background-image: url(assets/right-arrow-white.svg);
	background-size: 100% 100%;
}

.bus-booking-img-grid .w-btn-wrapper {
	position: absolute;
	bottom: 0;
	z-index: 1;
	margin-bottom: 0;

}

.bus-booking-img-grid .w-btn {
	border-radius: 0 12px 0 12px;
	text-decoration: unset;
}

@media screen and (min-width: 1220px) {
	.g-cols.type_default>.wpb_column.stretched:first-of-type {
		margin-left: 0 !important;
	}
	.g-cols.type_default>.vc_column_container.wpb_column.stretched:last-of-type {
		margin-right: calc(560px + 1.5rem - 50vw);
	}
	.bus-section.left .vc_col-sm-6:first-child > .vc_column-inner,
	.bus-section.left .bus-img-grid > .vc_column-inner {
		margin-left: calc(560px + 1.5rem - 50vw) !important;
		padding-left: 0 !important;
	}
	.bus-section.left .bus-img-grid > .vc_column-inner {
		padding-right: 20% !important;
	} 
	.bus-section.right .vc_col-sm-6:nth-child(2) > .vc_column-inner,
	.bus-section.right .bus-img-grid > .vc_column-inner {
		margin-right: calc(560px + 1.5rem - 50vw) !important;
		padding-right: 0 !important;
	}
	.bus-section.right .bus-img-grid > .vc_column-inner {
		padding-left: 20% !important;
	}  
}

/* ---------- BLOG POSTS GRID ----------*/

.small-news-heading {
	font-size: 1.3rem;
}

.small-news-heading a {
	color: #1a1a1a;
}

@media (min-width: 800px) {
	.blog-page-section .vc_col-sm-6:first-child > .vc_column-inner {
		padding-right: 0 !important;
	}
}

/* ---------- BLOG POST ----------*/

.news-section .w-btn-wrapper {
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid rgba(168, 168, 168, 0.40) !important;
}

.news-section .w-btn-label {
	padding-left: 30px;
}

.news-section .w-btn-label:before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 21px;
	height: 21px;
	background: url(assets/icon-arrow-left.svg);
}

.news-section .post_date {
	display: block;
	padding-left: 30px;
	position: relative;
}

.post-date:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url(assets/calendar-icon.svg);
	background-size: 100% 100%;
}

.single-post .post_content section:first-child {
	padding-top: 2rem !important;
}

.single-post .post_content section:last-child {
	padding-bottom: 0rem !important;
}

/* ---------- CONTACT PAGE ----------*/

.w-person {
	margin-left: 0 !important;
}

.w-person-image,
.w-person-content {
	max-width: 190px;
}

.w-person-image img {
	border-radius: 12px;
}

.w-person-content {
	text-align: left;
	padding-bottom: 0;
}

.w-person-role {
	line-height: 16px;
	margin-bottom: 0;
}

/* ---------- FOOTER STYLES ----------*/


.footer-logos .w-grid {
	max-width: 900px;
	margin: 0 auto;
}

.footer-logos .w-grid-item-h {
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-logos .w-grid-item:first-child img {
	max-width: 137px;
}

.footer-logos .w-grid-item:nth-child(2) img {
	max-width: 130px;
}

.footer-logos .w-grid-item:nth-child(3) img {
	max-width: 130px;
}

.footer-logos .w-grid-item:nth-child(4) img {
	max-width: 130px;
}

/* Footer bottom */

.footer-bottom .w-image {
	max-width: 220px;
}

.footer-bottom h3 {
	font-size: 20px;
}

.footer-bottom h4 {
	font-size: 16px;
	color: #676767;
	margin-top: 5px;
}

.footer-bottom p {
	margin-bottom: 15px;
}

.footer-bottom .w-image {
	margin-bottom: 28px;
}

.outbound-links a {
	position: relative;
}

.outbound-links a:after {
	content: "";
	position: absolute;
	top: 0px;
	right: -12px;
	width: 9px;
	height: 9px;
	background-image: url(assets/external-link.svg);
	background-size: 100% 100%;
}
