/*
 Theme Name:   IPS 2021
 Description:  Improvise Child Theme for Integrated Packaging Solutions
 Author:       Crack-Ajax
 Author URI:   https://crack-ajax.com
 Template:     improvise
 Version:      1.0.8
*/
/********************************************** Reset Base Styles *****************************************************/
.editor-styles-wrapper p, 
.editor-styles-wrapper li, 
.editor-styles-wrapper pre, 
.editor-styles-wrapper .wp-block-verse {
	color: black;
}

button {
	position: relative;
}

/********************************************** Header Styling *****************************************************/
main h1.page-title,
main .wp-block-cover h1 {
	font-size: 48px;
}

header.document-header {
	border-color: var(--color-primary);
}

.primary-nav.tab-hover ul li.current-menu-item.touch-start .dropdown-submenu a {
	color: var(--color-white);
}

.primary-nav ul ul.dropdown-menu li a {
	font-weight: normal;
}

.wp-block-button__link,
.wp-block-button.no-border-radius, .wp-block-button__link.no-border-radius{
	border-radius: 5px !important;
}

ul + .wp-block-buttons,
p + .wp-block-buttons:not(.is-content-justification-center) {
	padding-left: 20px;
	margin-top: 20px;
}

@media screen and (max-width: 850px) {

	.primary-nav.tab-hover :not(.touch-start) .dropdown-menu li:hover a, .primary-nav.tab-hover .dropdown-menu li.current-menu-item a {
		color: var(--color-header-bg);
	}
}

@media screen and (min-width: 851px) and (max-width: 1200px){

	.primary-nav > .nav > li.mega-menu > .dropdown-menu > li a {
		max-height: calc(var(--m-spacing) - 1px);
    	height: calc(var(--m-spacing) - 1px);
	}

	nav.primary-nav > .nav > li.mega-menu > ul.dropdown-menu > li.dropdown > a {
		text-transform: capitalize;
		font-size: .7rem;
	}

	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu li,
	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu a {
		font-size: .7rem;
		padding: 0 5px;
		text-indent: 0;
	}
}

@media screen and (min-width: 851px) {
	
	nav.primary-nav {
		z-index: 2;
	}
	
	.primary-nav > .nav > li.mega-menu > .dropdown-menu {
		background: var(--color-black);
		border-bottom: none;
		flex-direction: row;
		justify-content: space-evenly;
		position: fixed;
		padding: 10px;
		width: 100vw;
	}
	
	nav.primary-nav.tab-hover > .nav > li:not(.mega-menu):not(.touch-start) > .dropdown-menu > li > a {
		background-color: var(--color-black);
		background: var(--color-black);
		color: var(--color-white);
	}
	
	nav.primary-nav.tab-hover > .nav > li:not(.mega-menu):not(.touch-start) > .dropdown-menu > li:hover > a {
		text-decoration: underline;
	}
	
	nav.primary-nav > .nav > li.mega-menu > .dropdown-menu > li.dropdown > a {
		background-color: transparent;
		background: transparent;
		color: var(--color-primary);
		font-weight: 400;
		line-height: var(--s-spacing);
		padding: 5px 10px;
		text-transform: uppercase;
		transition: all .3s linear;
		width: fit-content
	}
	
	nav.primary-nav > .nav > li.mega-menu > .dropdown-menu > li.dropdown:hover > a {
		background: var(--color-primary);
		border-color: var(--color-primary);
		color: var(--color-white);
	}
	
	.primary-nav.tab-hover :not(.touch-start) .dropdown-menu li:hover a {
		color: var(--color-white);
	}
	
	nav.primary-nav > .nav > li.mega-menu > .dropdown-menu > li.dropdown.current-menu-item > a {
		background: var(--color-primary);
		border-color: var(--color-primary);
		color: var(--color-white);
	}
	
	.primary-nav > .nav > li.mega-menu > .dropdown-menu > li > .dropdown-submenu {
		flex-direction: column;
	}
	
	.primary-nav > .nav > li.mega-menu > .dropdown-menu > li > .dropdown-submenu li a {
		text-indent: 5px;
	}
	
	.primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu {
		background: transparent;
		flex-direction: column;
		margin: 15px 0;
	}
	
	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu li,
	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu a {
		background-color: transparent;
		background: transparent;
		font-weight: 400;
		line-height: var(--m-spacing);
	}
	
	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu li:hover a {
		text-decoration: underline;
	}
	
	.improvise .primary-nav > .nav > li.mega-menu > .dropdown-menu > li {
		margin: 10px 0;
	}
	
	.primary-nav > .nav > li.mega-menu > .dropdown-menu .dropdown-submenu {
		display: flex;
		padding: 0;
	}
}

@media screen and (min-width: 1201px) and (max-width: 1360px) {

	nav.primary-nav > .nav > li.mega-menu > .dropdown-menu > li.dropdown > a {
		font-size: .8rem;
	}

	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu li,
	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu a {
		font-size: .8rem;
	}
}

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

	nav.primary-nav > .nav > li.mega-menu > .dropdown-menu > li.dropdown > a {
		font-size: 1rem;
	}

	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu li,
	.improvise .primary-nav > .nav > li.mega-menu .dropdown.dropdown-submenu .dropdown-submenu a {
		font-size: 1rem;
	}
}

.front-page .front-page-content {
	padding-bottom: 0;
}

/********************************************** Footer Styling *****************************************************/
.document-footer {
	border-top: 2px solid red;
}

.document-footer:after {
	background-image: linear-gradient(to top, rgba(150,150,150,.4), transparent);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.document-footer > .row {
	position: relative;
	z-index: 2;
}

.document-footer .footer-widgets {
	grid-gap: 5%;
	grid-template-columns: 20% 75%;
}

.document-footer #footer1 .textwidget a {
	color: var(--color-primary);
	font-weight: 500;
}

.document-footer #footer2 {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
}

.document-footer .widgets .menu {
	display: flex;
}

.document-footer .widgets .menu .sub-menu {
    display: grid;
	grid-gap: 15px;
	grid-row: 15px;
	grid-template-columns: repeat(4, 1fr);
	list-style-type: none;
	padding-left: 0;
	margin-top: 10px;
}

.document-footer .widgets .menu > li {
    width: 100%;
}

.document-footer .widgets .menu .sub-menu li {
    display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding-left: 0;
}

.document-footer .widgets .menu .sub-menu li:hover a {
    font-weight: 600;
}

.document-footer .widgets .menu > li > a {
	font-size: 20px;
	font-weight: 600;
}

.document-footer .widgets .menu > li:not(.menu-item-has-children) {
	margin-right: var(--l-spacing);
}

.document-footer .widgets .menu > li:not(.menu-item-has-children) a {
	padding-right: var(--l-spacing);
}

.document-footer .footer-bottom {
	border-color: var(--color-primary);
}

@media screen and (max-width: 540px) {

	.document-footer .footer-widgets {
		grid-gap: 5%;
		grid-template-columns:  repeat(1, 1fr);
	}

	.document-footer .widgets .menu {
		flex-direction: column;
	}

	.document-footer .widgets .menu-footer-menu-container .menu > li {
		margin-bottom: var(--s-spacing);
	}

	.document-footer .widgets .menu .sub-menu {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 541px) and (max-width: 1000px) {

	.document-footer .footer-widgets {
		grid-gap: 8%;
		grid-template-columns:  repeat(1, 1fr);
		max-width: 100%;
	}
	.document-footer .widgets .menu > li:not(.menu-item-has-children) {
		margin-right: var(--s-spacing);
	}
}

/********************************************** Breadcrumbs *****************************************************/
.yoast-breadcrumbs {
	margin-bottom: 2px;
	margin-top: 7px;
	position: absolute;
	bottom: 3px;
}

.block-editor-block-list__layout .yoast-breadcrumbs {
	position: static;
}

.yoast-breadcrumbs > span > span a:before,
.yoast-breadcrumbs > span > span a:after,
.yoast-breadcrumbs span.breadcrumb_last:before,
.yoast-breadcrumbs span.breadcrumb_last:after {
	content: '';
	display: block;
	position: absolute;
	left: 5px;
	height: 51%;
	width: 100%;
	background: var(--color-primary);
	border-left: 2px solid var(--color-primary);
	border-right: 2px solid var(--color-primary);
	z-index: -1;
}

.yoast-breadcrumbs span {
	font-size: 0;
	position: relative;
}

.yoast-breadcrumbs span a,
.yoast-breadcrumbs span.breadcrumb_last {
	color: white;
	font-size: 16px;
	font-weight: 600;
	position: relative;
	text-decoration: none;
	z-index: 2;
}


.yoast-breadcrumbs > span > span a:before,
.yoast-breadcrumbs span.breadcrumb_last:before {
	top: 0;
	transform: skew(30deg);
	border-top: 2px solid var(--color-primary);
	position: absolute;
}

.yoast-breadcrumbs > span > span a:after,
.yoast-breadcrumbs span.breadcrumb_last:after {
	bottom: 0;
	transform: skew(-30deg);
	border-bottom: 2px solid var(--color-primary);
	position: absolute;
}

.yoast-breadcrumbs > span > span > a:before,
.yoast-breadcrumbs > span > span > a:after {
	border-left: none;
}

.yoast-breadcrumbs > span > span:after {
	background: var(--color-primary);
	content: '';
	left: 0;
	width: 50%;
}

.yoast-breadcrumbs > span > span > a {
	background: var(--color-primary);
	border-left: 2px solid var(--color-primary);
	padding: 10px 15px 10px 15px;
	position: relative;
}

.yoast-breadcrumbs > span > span > span a,
.yoast-breadcrumbs span.breadcrumb_last {
	margin-left: 10px;
	padding: 10px 15px 10px 25px;
	position: relative;
}

.yoast-breadcrumbs span.breadcrumb_last {
	color: var(--color-primary);
	font-weight: 600;
}
.yoast-breadcrumbs span.breadcrumb_last:before,
.yoast-breadcrumbs span.breadcrumb_last:after {
	background: white;
}

@media screen and (max-width: 540px){

	.yoast-breadcrumbs > span > span > span a,
	.yoast-breadcrumbs span.breadcrumb_last {
		margin-left: 7px;
	}

	.yoast-breadcrumbs > span > span > span a {
		font-size: 13px;
		padding: 10px 5px 10px 15px;
	}

	.yoast-breadcrumbs span.breadcrumb_last {
		font-size: 13px;
		padding: 10px 10px 10px 20px;
	}

	.yoast-breadcrumbs > span > span > a {
		font-size: 13px;
		padding: 10px 5px 10px 10px;
	}
}

/********************************************** Taxonomy Archives *****************************************************/
.taxonomy-archive .content-header,
.archive .content-header {
	background-image: url('https://theuberinsider.com/clients/ips/wp-content/uploads/2021/08/MAP-huge-1024x295-1.jpeg');
	background-size: cover;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.taxonomy-archive .content-header:after,
.archive .content-header:after {
	-background: rgba(0,0,0,0);
	content: '';
	left: 0;
	top: 0;
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 1;
}

.taxonomy-archive .content-header .row .page-title,
.archive .content-header .row .page-title {
	padding: 0;
	margin: 0;
}

.page-template-default:not(.home) .page-content > .wp-block-cover:first-of-type > {
	margin-bottom: 0;
	padding-bottom: var(--l-spacing);
	padding-top: var(--l-spacing);
	position: relative;
	text-align: left;
}

.taxonomy-archive .content-header .row .title-wrapper,
.archive .content-header .row .title-wrapper {
	position: relative;
}

.taxonomy-archive .content-header .row .page-title,
.archive .content-header .row .page-title,
.taxonomy-archive .content-header .row .taxonomy-description,
.archive .content-header .row .taxonomy-description {
	color: white;
	position: relative;
	text-align: left;
	z-index: 2;
}

.archive main.archive > .row {
	padding-bottom: 0;
}

.content-header .row .taxonomy-description.restricted-width {
	margin-left: 0;
}

.archive h2.section-title {
	padding-top: var(--l-spacing);
	text-align: center;
}

@media screen and (max-width: 500px){

	.taxonomy-archive .content-header,
	.archive .content-header {
		padding: var(--l-spacing) var(--s-spacing) var(--xl-spacing);
	}

	.taxonomy-archive .content-header .row,
	.archive .content-header .row {
		padding: 0;
	}
}

@media screen and (min-width: 501px) and (max-width: 1259px) {

	.taxonomy-archive .content-header,
	.archive .content-header {
		padding: var(--l-spacing) var(--l-spacing) var(--xl-spacing);
	}

	.taxonomy-archive .content-header .row,
	.archive .content-header .row {
		padding: 0;
	}

	.taxonomy-archive .content-header,
	.archive .content-header {
		min-height: 35vh;
	}
}

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

	.taxonomy-archive .content-header .row,
	.archive .content-header .row {
		padding: 0 var(--xl-spacing);
		width: 100%;
	}
}

/********************************************** Category/Products Hover Grid *****************************************************/
.archive .row .article-container {
	display: grid;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(3, 1fr);
	column-gap: var(--m-spacing);
	row-gap: var(--m-spacing);
	padding-bottom: var(--l-spacing);
	padding-top: var(--l-spacing);
}

.archive .row .article-container > article {
	background: transparent;
	padding: 0;
}

.archive .row .article-container > article > a{
	height: 100%;
}

.archive .article-container > article > a:after {
	background: rgba(0,0,0,.6);
	content: '';
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}
	
.hover-tile.post-content:before {
	background: rgba(0,0,0,0.1);
}

.archive .row .article-container > article .hover-tile {
	padding: var(--l-spacing) var(--s-spacing);
	position: relative;
	z-index: 2;
}

.archive .row .article-container > article .hover-tile .wp-block-buttons {
	margin-bottom: 0;
}

.archive .row .article-container > article .hover-tile .wp-block-buttons a {
	color: var(--color-white);
}

.archive .row .article-container > article .hover-tile .static-container,
.archive .row .article-container > article .hover-tile .hover-container {
	position: relative;
	z-index: 3;
}

.archive .row .article-container > article .hover-tile .hover-container {
	text-align: center;
}

.archive .article-container .hover-tile.post-content .post-header h1 {
	color: white;
	margin-top: -55px;
	text-align: center;
	transition: color .2s linear;
	font-size: 26px;
}

.archive .article-container .hover-tile a.read-more {
    display:none;
}

.hover-tile .static-container h3 {
	transition: margin-top 0.5s ease;
}

.hover-tile .static-container, .hover-tile:not(:hover) .static-container .wp-block-group__inner-container {
	height: 33px;
}

.hover-tile:not(:hover) .static-container h3 {
	margin-top: -90px;
}

.hover-tile.wp-block-cgb-hover-tile > .wp-block-cover:after {
	max-height: 50px;
}

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

	.archive .row .article-container {
		grid-auto-rows: 1fr;
	}
}

@media screen and (max-width: 500px) {

	.archive .row.articles {
		padding: var(--l-spacing) var(--s-spacing) var(--xl-spacing);
	}

	.archive .row .article-container > article .hover-tile {
		padding: var(--l-spacing) var(--s-spacing);
		position: relative;
		z-index: 2;
	}

	.archive .row .article-container {
		grid-auto-rows: 1fr;
		grid-template-columns: repeat(1, 1fr);
	}
}

@media screen and (min-width: 760px) and (max-width: 1200px) {

	.archive .archive .row .article-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

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

	.archive .archive .row .article-container {
		grid-template-columns: repeat(3, 1fr);
	}
}

/********************************************** Product Single *****************************************************/
main.products {
	-padding-top: var(--l-spacing);
}

main.products .post-content .wp-block-cover:first-of-type .wp-block-cover__inner-container p {
	max-width: 768px;
}

.single-products article.products {
	padding-bottom: 0;
}


@media screen and (max-width: 500px){

	main.products {
		padding-top: var(--l-spacing);
	}
}

/********************************************** Standard Page *****************************************************/
main.pages > .row > article,
main.products > .row > article {
	padding-bottom: 0;
}

/******************************************* Video Grid *********************************************/
.video-grid.owl-carousel .owl-stage figure.is-type-video .wp-block-embed__wrapper {
	padding-bottom: 0;
}

.video-grid.owl-carousel .owl-stage-outer:not(.active-video) figure.is-type-video .wp-block-embed__wrapper iframe {
  height: auto;
	max-width: 100%;
}

@media only screen and (min-width: 996px) {
.single-products .video-grid.owl-carousel .owl-stage-outer:not(.active-video) figure.is-type-video .wp-block-embed__wrapper iframe {
	aspect-ratio: unset;
	height: 100%;
	position: relative;
	}
	
	.single-products .video-grid.owl-carousel .owl-stage-outer:not(.active-video) figure.is-type-video .wp-block-embed__wrapper {
		height: 100%;
	}
}

/******************************************* Explore IPS Hover Tiles *********************************************/
.hover-tile.wp-block-cgb-hover-tile > .wp-block-cover:before {
	background: transparent;
}

.hover-tile.wp-block-cgb-hover-tile > .wp-block-cover:after {
	background: white;
	opacity: 0.8;
}

.wp-block-group.has-background.extra-padding > .wp-block-group__inner-container {
	padding: var(--xl-spacing);
}

.wp-block-group.has-text-color .tile-content .has-primary-color,
.wp-block-group.has-text-color .hover-container .has-primary-color {
	color: var(--color-primary);
}

.wp-block-group.has-text-color .tile-content .has-secondary-color,
.wp-block-group.has-text-color .hover-container .has-secondary-color {
	color: var(--color-secondary);
}

.wp-block-group.has-text-color .tile-content .has-accent-color,
.wp-block-group.has-text-color .hover-container .has-accent-color {
	color: var(--color-accent);
}

.wp-block-group.has-text-color .tile-content .has-light-text-color,
.wp-block-group.has-text-color .hover-container .has-light-text-color {
	color: var(--color-light-text);
}

.wp-block-group.has-text-color .tile-content .has-dark-text-color,
.wp-block-group.has-text-color .hover-container .has-dark-text-color {
	color: var(--color-dark-text);
}

@media screen and (max-width: 539px){

	.wp-block-group.has-background.extra-padding > .wp-block-group__inner-container {
		padding: var(--l-spacing) var(--s-spacing);
	}
}

@media screen and (min-width: 540px) and (max-width: 996px){

	.wp-block-group.has-background.hover-tiles > .wp-block-group__inner-container {
		padding: var(--l-spacing) var(--l-spacing);
	}

	.wp-block-group.has-background.hover-tiles > .wp-block-group__inner-container .wp-block-columns,
	.wp-block-cover.hover-tiles > .wp-block-cover__inner-container .wp-block-columns {
		justify-content: center;
	}
}

/********************************************** Quote CTA *****************************************************/
@media screen and (max-width: 500px){

	.quote-cta .wp-block-column:first-of-type {
		padding-bottom: var(--m-spacing);
		text-align: center;
	}
}

/***************************************** Fix Alignment Issues *******************************************/
.wp-block-group.has-background .wp-block-group__inner-container {
	box-sizing: border-box;
}

@media screen and (min-width: 1201px) and (max-width: 1400px) {

	.wp-block-group.has-background > .wp-block-group__inner-container, 
	.wp-block-group.alignwide.has-background > .wp-block-group__inner-container, 
	.wp-block-group.alignfull.has-background > .wp-block-group__inner-container,
	.wp-block-group.alignwide > .wp-block-group__inner-container, 
	.wp-block-group.alignfull > .wp-block-group__inner-container,
	.wp-block-cover.has-background > .wp-block-group__inner-container, 
	.wp-block-cover.alignwide > .wp-block-cover__inner-container, 
	.wp-block-cover.alignfull > .wp-block-cover__inner-container   {
		box-sizing: border-box;
		padding: var(--l-spacing);
	}

	.wp-block-group.has-background > .wp-block-group__inner-container .alignwide, 
	.wp-block-group.alignwide.has-background > .wp-block-group__inner-container .alignwide, 
	.wp-block-group.alignfull.has-background > .wp-block-group__inner-container .alignwide,
	.wp-block-cover.has-background > .wp-block-group__inner-container .alignwide, 
	.wp-block-cover.alignwide > .wp-block-cover__inner-container .alignwide, 
	.wp-block-cover.alignfull > .wp-block-cover__inner-container  .alignwide {
		width: calc(100% + calc(var(--l-spacing) * 2));
		margin-left: calc(var(--l-spacing) * -1);
	}
}