/*
 Theme Name:   BasilPress - a GeneratePress child
 Theme URI:    https://francescofortino.com
 Description:  A GeneratePress child theme
 Author:       Francesco Fortino
 Author URI:   https://francescofortino.com
 Template:     generatepress
 Version:      0.5.2
*/

/*--------------------------------------------------------------
# Focus Ring :: thanks to https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2
--------------------------------------------------------------*/

body:not(.tab-active) :focus {
 	outline: none !important;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
  max-width: 100%;
  overflow-x: hidden;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: border-box;
}

.navigation-search input[type="search"],
.navigation-search input[type="search"]:active {

}

/*--------------------------------------------------------------
# Loader
--------------------------------------------------------------*/

@keyframes loading-pulse {
	0%   {opacity: 0; transform: scale(0,0);}
	50%  {opacity: 1; }
	100% {opacity: 0; transform: scale(1,1);}
}

.bp-loader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 999999;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--base-3);
	overflow-x: hidden;
	transition: 0.5s ease-in-out;
}

.bp-spinner,
body #jqlb_spinner {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: var(--contrast);
	animation: loading-pulse 0.75s ease-in-out infinite;
	background-image: none;
}

/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

.header-nav-wrap {
	width: 100%;
	transition: 0.5s ease-in-out;
}

.nav-is-fixed .header-nav-wrap {
	z-index: 99999;
	width: 100%;
	padding: 0;
	position: fixed;
	top: 0;
	left: 0;
}

.mobile-bar-items {
	right: auto;
	left: 0;
}

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

	.nav-is-fixed.header-on-left .header-nav-wrap,
	.header-on-left .header-nav-wrap {
		width: 25%;
	}

	.nav-is-fixed.header-on-left .header-nav-wrap {
		height: 100%;
	}

	.header-on-left .site-footer,
	.header-on-left .site.container {
		margin-left: 25%;
		width: 75%;
	}

	.header-on-left .main-navigation .menu > li,
	.header-on-left .main-navigation .menu > li {
		width: 100%;
	}

	.header-on-left .navigation-search {
		bottom: -60px;
		top: auto;
	}

}

/*--------------------------------------------------------------
# SOPB Integration, overrides & Fixes
--------------------------------------------------------------*/
/* Make sow-icon-fontawesome work with embedded fontawesome */

.sow-icon-fontawesome[data-sow-icon]::before {
    content: attr(data-sow-icon);
}

.sow-icon-fontawesome {
	font-family: fontawesome;
}

/* SOPB Video Player */

.sow-video-wrapper iframe {
  width: 100%;
}

/* SOPB Slider nav */

body .widget .sow-slider-base .sow-slider-pagination {
  text-align: center;
  display: block !important;
  opacity: 1 !important;
  padding: 0;
}

body .sow-slider-base .sow-slide-nav.sow-slide-nav-prev,
body .sow-slider-base .sow-slide-nav.sow-slide-nav-next {
  display: none !important;
  opacity: 1 !important;
}

body .sow-slider-base .sow-slide-nav.sow-slide-nav-prev a {
  padding-left: 0;
}

body .sow-slider-base .sow-slide-nav.sow-slide-nav-next a {
  padding-right: 0;
}

/* SOPB overflow fix */

@media screen and (max-width: 768px) {
  body .siteorigin-panels-stretch {
    overflow: hidden;
  }
}

/* A2A - Add To Any Specific */

.addtoany_list a:first-child {
  padding-left: 0;
}

/* WooCommerce Photoswipe */

.pswp--open {
  z-index: 99999;
}

/* Fullheight helpers for Sauce Lib */

.height-100.offset-header-nav-wrap {
	height: calc(100vh - 150px);
}
.height-95.offset-header-nav-wrap {
	height: calc(95vh - 150px);
}
.height-90.offset-header-nav-wrap {
	height: calc(90vh - 150px);
}
.height-80.offset-header-nav-wrap {
	height: calc(80vh - 150px);
}
.height-70.offset-header-nav-wrap {
	height: calc(70vh - 150px);
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

*,
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.menu {
	display: inline-block;
	padding: 0;
	margin: 0;
}

.menu li {
	display: inline-block;
}

.main-nav-wrap {
	width: 100%;
	transition: 0.5s ease-in-out;
}

.main-nav ul {
	display: block;
	list-style: none;
	margin: 0;
	padding-left: 0;
	width: 100%;
}

.main-nav > ul {
	background: transparent;
  font-size: 0;
}

.main-nav li,
.after-nav-widget li {
	padding: 0;
	display: inline-block;
	font-size: 0;
	position: relative;
}

.main-nav a,
.after-nav-widget a {
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	font-size: 1rem;
  transition: 0.5s ease-in-out;
}

.main-nav-wrap ul li a,
.main-navigation .main-nav-wrap .main-nav ul ul li a {
  font-size: 1rem;
}

.main-navigation .main-nav .menu > li a,
.after-nav-widget .menu > li a,
.main-navigation .main-nav ul ul li a {
	transition: 0.5s ease-in-out;
}

.main-navigation .main-nav ul li.menu-item-has-children > a {
	padding-right: 20px;
}

/** Second level menus **/

body .main-nav .dropdown-menu-toggle {
	display: none;
}

.header-on-left .main-nav ul ul,
.header-on-left .main-nav ul ul a {
	width: 100%;
}

/* Small menu. */

button.menu-toggle {
	padding: 5px 0;
	top: 0;
	right: 0;
	height: 40px;
	width: 100px;
	font-size: 1.5rem !important;
	opacity: 1;
	background: transparent;
	transition: 0.25s ease-in-out;
	text-align: right;
}

form .bp-search-item.close-search {
  padding: 0 15px;
  cursor: pointer;
}

form .bp-search-item.close-search::before,
button.menu-toggle::before {
  display: inline-block;
  line-height: 30px;
  vertical-align: top;
  font-family: 'GeneratePress';
}

form .close-search::before,
.menu-toggle.clicked::before {
	content: '\f00d';
}

.mobile-menu {
	display: none;
}

.home .hide-home {
	display: none !important;
}

.navigation-search {
	transition: opacity 0.5s ease-in-out;
}

/* Header Widgets */

body .header-widget {
    width: 100%;
    float: none;
    max-width: 100%;
    font-size: 0.8em;
}

@media screen and (max-width: 768px) {
  body .header-widget {
    text-align: left;
    margin-bottom: 0 !important;
  }
}

body .inside-header {

}

body .site-logo,
body .site-logo a,
body .site-logo img {
    display: block;
}

@media screen and (max-width: 860px) {
  body .site-logo,
  body .site-branding {
    margin-bottom: 0 !important;
  }
}

/*--------------------------------------------------------------
## Structure
--------------------------------------------------------------*/

.site-main {
  width: 100%;
}

.site-content.flex-column > div {
	width: 100%;
}

.separate-containers .site-content.flex-column .site-main {
	margin: 20px 0 0 0;
}

/* Edit Link */

.post-edit-link {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9;
  display: block;
  padding: 5px 10px 0;
  background: rgba(255,255,255, 0.8);
  border: 1px solid #000;
  border-radius: 6px;
}

.archive .post-edit-link {
  display: none;
}

/*--------------------------------------------------------------
## Google Maps Popup Custom Style
--------------------------------------------------------------*/

/* define popup background */
.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div > div:nth-child(2),
.gm-style > div > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div > div:last-child {
	background: #404040 !important;
}

/*  define close icon wrapper dimensions */
.gm-style .gm-style-iw + div {
	transition: 0.5s ease-in-out;
	position: absolute;
	height: 16px !important;
	width: 16px !important;
}

/* define close icon */
.gm-style-disabled .gm-style-iw + div::after {
	content: '\f057';
	font-family: 'FontAwesome';
	color: #000;
	position: absolute;
	width: 100%;
	height: 100%;
	font-size: 15px;
}

/* hides default icon */
.gm-style .gm-style-iw + div img {
	display: none;
}

/* define text color */
.gm-style .gm-style-iw {
	color: #000 !important;
}

/* define margins of popup content */
.gm-style .gm-style-iw p {
	margin: 15px 0;
	display: inline-block;
	vertical-align: middle;
}

/* defines an icon before popup content, vertically aligned */
.gm-style-disabled .gm-style-iw > div > div:before {
	content: '\f0eb';
	font-family: 'FontAwesome';
	color: #FFF;
	font-size: 28px;
	display: inline-block;
	vertical-align: middle;
	padding-left: 10px;
	padding-right: 20px;
}

/* reduces the popup triangle */
.gm-style > div > div > div > div > div > div > div:first-child {
	border-top: 0 !important;
}

.gm-style-pbc + div + div > div:nth-child(4) > div > div > div:nth-child(3) > div:first-child > div  {
	transform: skewX(35deg) !important;
	background-color: #677999 !important;
	box-shadow: none !important;
}

.gm-style-pbc + div + div > div:nth-child(4) > div > div > div:nth-child(3) > div:last-child > div {
	transform: skewX(-35deg) !important;
	background-color: #677999 !important;
	box-shadow: none !important;
}

.gm-style-pbc + div + div > div:nth-child(4) > div > div > div:nth-child(1) {
	border-top: none !important;
}

/* makes the popup closer to the marker */
.gm-style-pbc + div + div,
.gm-style-pbc + div {
	margin-top: 10px !important;
}


