/*!
Theme Name: visaau
Theme URI: https://visaau.com.au
Author: Kosh
Author URI: http://yine.in.ua
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: visaau
*/

/* Page Navigation
--------------------------------------------- */
.pagination {
	display: block;
	text-align: center;
}

.nav-links {
	display: inline-block;
}

.pagination .page-numbers {
	width: 40px;
	height: 40px;
	display: table-cell;
	text-align: center;
	padding: 5px;
	font-family: icoFont;
}

.pagination .page-numbers:hover:not(span) {
	background-color: #f4f4f4;
}

.pagination .current {
	color: #fff;
	background-color: #1a1b1f;
}

/* WP
--------------------------------------------- */
.wp-block-cover {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	height: 620px;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	color: #fff;
}

.wp-block-coverr:before {
	content: "";
	background: rgba(33, 23, 23, 0.7);
	position: absolute;
	bottom: 0;
	top: 0;
	left: 0;
	right: 0;
}


.wp-block-cover h2 {
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 35px;
	font-size: 20px;
	line-height: 34px;
	font-weight: 400;
}

.wp-block-cover .wp-block-button a {
	opacity: 1;
}

.wp-block-cover h1 {
	margin-top: 10px;
	margin-bottom: 50px;
	font-size: 64px;
	font-weight: 400;
	line-height: 80px;
}

@media (min-width: 992px) {
	.wp-block-cover {
		background-attachment: fixed;
	}
}

@media (max-width: 768px) {
	.wp-block-cover {
		height: auto;
	}
	.wp-block-cover h1 {
		font-size: 28px;
		line-height: 36px;
	}
	.wp-block-cover h2 {
		font-size: 20px;
		line-height: 24px;
	}
}

@media only screen and (max-width: 600px) {
	.wp-block-media-text {
		text-align: center;
	}
}

.wp-block-cover .wp-block-button .wp-block-button__link {
	color: #000;
	background-color: #fff;
	padding: 16px 35px;
	white-space: nowrap;
	transition: 0.3s;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	display: inline-block;
}

.wp-block-cover .wp-block-button .wp-block-button__link:hover {
	background-color: #f1f1f1;
}

.wp-block-button .wp-block-button__link {
	padding: 12px 25px;
	border-radius: 0;
	-webkit-transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
}

.wp-block-button .wp-block-button__link:hover {
	background-color: #32343a;
}

.wp-block-button .wp-block-button__link:active {
	background-color: #43464d;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* Custom styles */
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
* {
	-moz-transition: all .4s cubic-bezier(.1,.7,.3,1);
	-webkit-transition: all .4s cubic-bezier(.1,.7,.3,1);
	-o-transition: all .4s cubic-bezier(.1,.7,.3,1);
	transition: all .4s cubic-bezier(.1,.7,.3,1);
}

body {
	font-family: 'Montserrat', sans-serif;
	color: #1a1b1f;
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
	overflow-x: hidden;
}

h1 {
	font-weight: 400;
}

h2 {
	padding-top: 20px;
	font-size: 36px;
	line-height: 50px;
	font-weight: 400;
}

h3 {
	padding-top: 20px;
	font-size: 30px;
	line-height: 46px;
	font-weight: 400;
}

a {
	color: #1a1b1f;
}

a:hover {
	text-decoration: none;
	opacity: .7;
}

img {
	height: auto;
	max-width: 100%;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

blockquote {
	margin-top: 25px;
	margin-bottom: 25px;
	padding: 15px 30px;
	border-left: 5px solid #e2e2e2;
	font-size: 20px;
	line-height: 34px;
}

form {
	border: 1px solid #dee2e6 !important;
	padding: 1rem;
}

@media (min-width: 768px) {
	form {
		padding: 3rem;
	}
}

label {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	line-height: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
}

input[type="text"],
input[type="email"] {
	display: block;
	width: 100%;
	margin-bottom: 18px;
	padding: 10px 20px !important;
	border: 1px solid #e4e4e4;
	border-radius: 0;
	-webkit-transition: border-color 400ms ease;
	transition: border-color 400ms ease;
	font-size: 14px;
	line-height: 26px;
}

textarea {
	display: block;
	width: 100%;
	padding: 12px 20px;
	border: 1px solid #e4e4e4;
	border-radius: 0;
	-webkit-transition: border-color 400ms ease;
	transition: border-color 400ms ease;
	font-size: 14px;
	line-height: 26px;
	height: 200px;
}

input[type="submit"] {
	padding: 12px 25px;
	background-color: #1a1b1f;
	-webkit-transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 2px;
	text-transform: uppercase;
	border: 0;
	width: 100%;
	margin-top: 26px;
}

select {
	width: 100%;
	padding: 10px 20px;
	border-radius: 0;
	background-color: #fcfcfc;
	border: 1px solid #e4e4e4;
}

.admin-bar #page,
.admin-bar #header {
	margin-top: 32px;
}


.admin-bar .mobile-nav-toggle {
	top: -10px;
}

@media only screen and (max-width: 782px) {
	.admin-bar #page,
	.admin-bar #header {
		padding-top: 46px;
	}
}

.divider {
	height: 1px;
	background-color: #eee;
}

.label {
	margin-bottom: 10px;
	font-size: 12px;
	line-height: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.font-light {
	opacity: 0.6 !important;
}

.heading-jumbo-small {
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 36px;
	line-height: 50px;
	font-weight: 400;
	text-transform: none;
}

.section-heading {
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 400;
}

.button {
	padding: 12px 25px;
	border-radius: 0;
	background-color: #1a1b1f;
	-webkit-transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
}

.button:hover {
	background-color: #32343a;
	color: #fff;
}

.button:active {
	background-color: #43464d;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
	position: fixed;
	display: none;
	right: 15px;
	bottom: 15px;
	z-index: 99999;
}

.back-to-top:hover {
	opacity: .9;
}

.back-to-top i {
	font-size: 36px;
	background: #f7f8f9;
	color: #151515;
	transition: all 0.4s;
}

.back-to-top i:hover {
	background: #151515;
	color: #f7f8f9;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	overflow: hidden;
	background: #151515;
}

#preloader:before {
	content: "";
	position: fixed;
	top: calc(50% - 0px);
	left: calc(50% - 30px);
	border: 6px solid #f7f8f9;
	border-top-color: #151515;
	border-bottom-color: #151515;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	-webkit-animation: animate-preloader 1s linear infinite;
	animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

@keyframes animate-preloader {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
	transition: all 0.5s;
	z-index: 999;
	background-color: #fff;
	min-height: 66px;
}

#header.header-scrolled {
	box-shadow: 0 0 30px rgba(33, 23, 23, 0.25);
}

@media (min-width: 768px) {
	#header {
		padding: 0 50px;
	}
}

@media (min-width: 992px) {
	#header {
		padding: 26px 50px;
	}
	#header.header-scrolled {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

#header .custom-logo-link {
	color: #fff;
	min-width: 90px;
}

#header .custom-logo-link:hover {
	opacity: 1;
}

#header .custom-logo-link img {
	max-height: 90px;
	width: auto;
	position: absolute;
	border: 2px solid;
	top: 5px;
	z-index: 1;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Desktop Navigation */
.nav-menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav-menu > ul {
	display: flex;
}

.nav-menu > ul > li {
	position: relative;
	white-space: nowrap;
	padding: 10px 0 10px 28px;
}

.nav-menu a {
	display: block;
	position: relative;
	opacity: 0.6;
	color: #222;
	transition: 0.3s;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.nav-menu a:hover, .nav-menu .active > a, .nav-menu li:hover > a {
	opacity: 0.9;
}

.nav-menu .current_page_item a,
.nav-menu .current-menu-parent > a {
	opacity: 1;
}

.nav-menu .menu-item-has-children ul {
	display: block;
	position: absolute;
	left: 14px;
	top: calc(100% + 30px);
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	padding: 0;
	background: #fff;
	box-shadow: 0 0 30px rgba(33, 23, 23, 0.25);
	transition: 0.3s;
}

.nav-menu .menu-item-has-children:hover > ul {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

.nav-menu .menu-item-has-children li {
	min-width: 180px;
	position: relative;
}

.nav-menu .menu-item-has-children ul a {
	padding: 10px 20px;
	font-weight: 500;
	color: #151515;
}

.nav-menu .menu-item-has-children ul a:hover,
.nav-menu .menu-item-has-children ul .active > a,
.nav-menu .menu-item-has-children ul li:hover > a {
	background: #f7f8f9;
}

.nav-menu .menu-item-has-children > a:after {
	content: "\ea99";
	font-family: IcoFont;
	padding-left: 5px;
}

.nav-menu .menu-item-has-children .menu-item-has-children ul {
	top: 0;
	left: calc(100% - 30px);
}

.nav-menu .menu-item-has-children .menu-item-has-children:hover > ul {
	opacity: 1;
	top: 0;
	left: 100%;
}

.nav-menu .menu-item-has-children .menu-item-has-children > a {
	padding-right: 35px;
}

.nav-menu .menu-item-has-children .menu-item-has-children > a:after {
	content: "\eaa0";
	font-family: IcoFont;
	position: absolute;
	right: 15px;
}

@media (max-width: 1366px) {
	.nav-menu .menu-item-has-children .menu-item-has-children ul {
		left: -90%;
	}
	.nav-menu .menu-item-has-children .menu-item-has-children:hover > ul {
		left: -100%;
	}
	.nav-menu .menu-item-has-children .menu-item-has-children > a:after {
		content: "\ea9d";
	}
}

/* Mobile Navigation */
.mobile-nav-toggle {
	position: relative;
	top: 20px;
	z-index: 9998;
	border: 0;
	padding: 0;
	background: none;
	transition: all 0.4s;
	cursor: pointer;
}

.mobile-nav-toggle a {
	display: block;
	width: 25px;
	height: 28px;
}

.mobile-nav-toggle .layer {
	background-color: #4E4E6E;
	border-radius: 3px;
	display: block;
	height: 2px;
	position: absolute;
	width: 25px;
}

.mobile-nav-toggle .layer.top {
	top: 4px;
	width: 16px;
}

.mobile-nav-toggle .layer.mid {
	top: 13px;
}

.mobile-nav-toggle .layer.btm {
	top: 22px;
	width: 16px;
	right: 0;
}

.mobile-nav {
	text-align: center;
	position: fixed;
	top: 60px;
	right: 0;
	left: 0;
	overflow-y: auto;
	background: #fff;
	transition: 0.4s;
	height: 0;
}

.mobile-nav * {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-nav ul.menu {
	padding: 40px 0 60px;
}

.mobile-nav a {
	display: block;
	position: relative;
	color: #222222;
	opacity: 0.6;
	padding: 15px 30px;
	font-weight: 500;
	text-transform: uppercase;
	font-size: 12px;
}

.mobile-nav a:hover,
.mobile-nav li:hover > a {
	color: #151515;
	opacity: 0.9;
	background: #f7f8f9;
}

.mobile-nav .menu-item-has-children > a:after {
	content: "\ea99";
	font-family: IcoFont;
	padding-left: 10px;
	position: absolute;
	right: 15px;
}

.mobile-nav .active.menu-item-has-children > a:after {
	content: "\eaa1";
}

.mobile-nav .menu-item-has-children ul {
	display: none;
	overflow: hidden;
	background-color: rgba(247, 248, 249, .6);
}

.mobile-nav-active {
	overflow: hidden;
}

.mobile-nav-active .mobile-nav {
	height: 100%;
}

.mobile-nav-active .layer.top {
	top: 12px;
	width: 100%;
	transform: rotate(45deg);
}

.mobile-nav-active .layer.mid {
	opacity: 0;
	left: 0;
}

.mobile-nav-active .layer.btm {
	top: 12px;
	width: 100%;
	transform: rotate(-45deg);
}


.site-main {
	max-width: 1140px;
	margin-top: 66px;
}

@media (min-width: 992px) {
	.site-main {
		margin-top: 100px;
	}
}


/*--------------------------------------------------------------
# Language Switcher
---------------------------------------------------------------*/
.pll-parent-menu-item {
	margin-top: 25px;
}

@media (min-width: 768px) {
	.pll-parent-menu-item {
		margin-top: 0;
		padding-left: 45px !important;
	}
}

.pll-parent-menu-item a {
	opacity: 1;
	font-weight: 600;
}

.pll-parent-menu-item ul li.lang-item {
 	min-width: auto !important;
}


/*--------------------------------------------------------------
# Pages
---------------------------------------------------------------*/
.post-thumbnail {
	margin-bottom: 25px;
}

@media (min-width: 768px) {
	.post-thumbnail {
		margin-bottom: 50px;
	}
}

.post-thumbnail img {
	max-width: initial;
	width: 100%;
}

.archive-header,
.entry-header {
	text-align: center;
	position: relative;
	font-weight: 400;
	margin: 125px 0;
}

.archive-header .archive-title,
.entry-header .entry-title,
.post-header .post-title {
	font-size: 36px;
	line-height: 52px;
	font-weight: 400;
}

@media (min-width: 768px) {
	.archive-header .archive-title,
	.entry-header .entry-title,
	.post-header .post-title {
		font-size: 44px;
	}
}

.archive-header .archive-title:after,
.entry-header .entry-title:after {
	content: '';
	background-color: #222222;
	opacity: .1;
	height: 1px;
	position: absolute;
	width: 100%;
	bottom: -30px;
	left: 0;
}

.post-header {
	margin: 100px auto 60px auto;
}

@media (min-width: 768px) {
	.blog-summary,
	.post-header,
	article .post-content {
		width: 90%;
		max-width: 500px;
	}
}

@media (min-width: 992px) {
	.blog-summary,
	.post-header,
	article .post-content {
		width: 70%;
		max-width: 100%;
	}
}

article .entry-header .blog-date {
	margin-top: 20px;
	opacity: 0.6;
}

article .entry-content {
	margin-bottom: 50px;
}

article .entry-content a {
	box-shadow: inset 0 -1px #888;
}

article .entry-content a:hover {
	color: #888;
}

article .entry-content ul {
	padding-left: 20px;
}


article .entry-content p,
article .entry-content ul {
	opacity: 0.8;
}

article .entry-footer {
	margin-bottom: 25px;
}

.blog-item {
	padding-bottom: 50px;
	margin-bottom: 50px;
}

@media (min-width: 992px) {
	.blog-preview-image {
		overflow: hidden;
		height: 620px;
		-webkit-transition: opacity 600ms ease;
		transition: opacity 600ms ease;
	}
}

.blog-preview-image a:hover {
	opacity: 0.8;
}

.blog-heading-link a {
	color: #1a1b1f;
	font-size: 30px;
	line-height: 46px;
	font-weight: 400;
}

.blog-heading-link a:hover {
	color: #1a1b1f;
	opacity: 0.8;
}

.blog-summary .label {
	margin-top: 20px;
	opacity: 0.6;
}

.contact .details-wrap {
	margin-bottom: 30px;
}


/*--------------------------------------------------------------
# News Section
--------------------------------------------------------------*/
.news .blog-heading {
	margin-bottom: 60px;
	text-align: center;
}

.news .work-heading {
	margin-top: 10px;
	margin-bottom: 20px;
	font-weight: 400;
}

.news .article-heading {
	color: #1a1b1f;
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 24px;
	line-height: 38px;
	font-weight: 500;
	text-decoration: none;
}

.news .article-heading:hover {
	opacity: 0.8;
}

.news .blog-date {
	margin-top: 20px;
	opacity: 0.6;
}


/*--------------------------------------------------------------
# Book Section
--------------------------------------------------------------*/
.book {
	padding: 60px 0;
	background-color: #f4f4f4;
}

.book .widget {
	max-width: 992px;
}

.book .textwidget p {
	font-size: 20px;
	line-height: 34px;
	font-weight: 400;
}

.book a {
	display: inline-block;
	padding: 16px 35px;
	margin-top: 20px;
	font-size: 14px;
	line-height: 26px;
	background-color: #1a1b1f;
	-webkit-transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	transition: background-color 400ms ease, opacity 400ms ease, color 400ms ease;
	color: #fff;
	letter-spacing: 2px;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-footer {
	max-width: 1140px;
	padding-top: 70px;
	padding-bottom: 70px;
}

.site-footer .copyright {
	font-size: 12px;
	line-height: 20px;
}
