/*
 Theme Name:   Opus Vox
 Theme URI:    https://generatepress.com
 Description:  Child theme for the Opus Vox website
 Author:       Blackbox Web Design
 Author URI:   https://www.blackboxdesign.co.uk
 Template:     generatepress
 Version:      0.2
*/

/* VOX colours
 * Light blue: #40d5ff;
 * Mid blue: #4e3dff;
 * Purple: #7b27ff
 */


/* All Devices */

/* Typography*/

#home_banner h1 span {
	font-size:2em;
	font-weight:900;
}

.ov_title_col h2 {
	font-size:54px;
	line-height:60px;
	text-align:right;
}

#ov_home_intro .ov_title_col h2 {
	text-align:left;
}

.ov_title_col.medium h2 {
	font-size:38px;
	line-height:44px;
	color:#7b27ff;
}

.ov_col_bord_left {
	padding-left:30px;
	border-left:2px solid #e1e1e1;
}



#home_banner p {
	font-size:20px;
}

p.ov_standout {
	font-size:120%;
}

.ov_button_wrapper.center {
	text-align:center;
}

a.ov_button {
	display:inline-block;
	padding:8px 40px;
	text-transform:uppercase;
	font-size:14px;
	font-weight:700;
	border-radius:30px;
	transition:0.5s all;
	text-decoration:none;
	text-align:center;
}

a.ov_button.primary {
	background-color:#4e3dff;
	color:#fff;
}

a.ov_button.white {
	background-color:#fff;
	color:#1e73be;
}


.ov_blurb_postscript {
	text-align:center;
	font-size:0.8em;
}

.ov_blurb_postscript ul {
	list-style:none;
	margin-left:0;
}

ul.ov_list {
	margin-left:2em;
} 

.parenthetical {
	font-size:0.8em;
	line-height:1.4em;
	font-style:italic;
}

/* Headers & Banners */

.ov_header_banner {
	min-height:90vh;
	display:flex;
	align-items:center;
}

.ov_header_banner .gb-inside-container {
	flex-basis:100%;
}

#home_banner.ov_header_banner {
	color:#fff;
	background-color:#f8f8f8;
}


.ov_has_waveform {
	position:relative;
}

.ov_waveform {
	position:absolute;
	width:30%;
	height:45%;
	background-image:url('/assets/waveform_1.svg');
	background-size:cover;
	background-repeat:no-repeat;
	opacity:0.1;
	top:10%;
	left:10%;
}

#about.ov_waveform, #wwd.ov_waveform {
	width:60%;
	opacity:0.1;
	top:-10%;
}

#pricing.ov_waveform {
	width:40%;
	height:80%;
	left:initial;
	right:10%;
}

.ov_waveform.fullscreen {
	height:70%;
	width:50%;
	opacity:0.08;
	left:0;
}

.ov_waveform.fullscreen + div {
	position:relative;
	z-index:1;
}

#home_banner .hero_content {
	position:relative;
	z-index:2;
}

.ov_cta_banner {
	margin-bottom:30px;
	color:#fff;
	background-image:linear-gradient(20deg,#4b7cf6,#6bcdfb,#5a40f5);
}

.item_title {
	text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
}

.ov_mob_header_sec {display:none}

/* Navigation  */

.main-navigation ul ul {
	width:220px;
}

.main-navigation .main-nav ul li a {
	font-weight:700;
	text-transform:uppercase;
	font-size:12px;
}

.main-navigation .main-nav ul ul li a {
	font-size:12px;
	color:#fff;
}

.sticky-enabled .main-navigation.is_stuck {
	background-color:#fff;
}

body.home .main-navigation:not(.is_stuck) .main-nav ul li a {
	color:#fff;
	font-weight:700;
}

.main-navigation.is_stuck .grid-container {
		max-width:100%;
}

.nav-float-right #site-navigation {
	margin-right:auto;
	margin-left:5%;
}

.nav-float-right .navigation-stick .navigation-branding {
	margin-right:7%;
}

nav#generate-slideout-menu {
	background-image:linear-gradient(45deg,#7b27ff,#4e3dff,#40d5ff);
}

#generate-slideout-menu.main-navigation .main-nav ul li a {
		line-height:1.3em;
	color:#fff;
	font-weight:700;
}

#generate-slideout-menu.main-navigation .main-nav ul li {
		margin-bottom:20px;
}

#generate-slideout-menu.main-navigation .main-nav ul ul li {
	margin-bottom:0;
}

#generate-slideout-menu.main-navigation ul ul.toggled-on {
	margin:10px 0 0 0;
	padding-left:0.5em;
}

#ov_ocp_logo img {
	max-width:180px;
}

#generate-slideout-menu aside {
	order:2;
}

#generate-slideout-menu div {
	order:3;
}

/*.site-logo.mobile-header-logo img {
	height:80px!important;
}*/

/*.nav-float-right:not(.home) #site-navigation {
	margin-left:10%;
}*/

/* 404 */


/* Footer */

.ov_footer_widget {
	font-size:14px;
	}

.ov_footer_widget ul li a {
	text-decoration:none;
}

#ov_footer_socials.ov_footer_widget {
	margin-top:10px;
}

#ov_footer_socials.ov_footer_widget ul li {
	display:inline-block;
}

#ov_footer_socials.ov_footer_widget img {
	height:30px;
	margin-right:20px;
}

/* General Content */

.hide_me {display:none!important}

.ov_image_col {
	background-image:url(/wp-content/uploads/2021/11/innovation_1_1500.jpg);
	background-size:cover;
	box-shadow:5px 5px 3px #ccc;
}

#about_image.ov_image_col {
	background-image:url(/wp-content/uploads/2021/11/presenting_1_1200.jpg);
}

#vox.ov_image_col {
	background-image:url(/wp-content/uploads/2021/11/team_engineers_1_1200.jpg);
}

#what_is_ed.ov_image_col {
	background-image:url(/wp-content/uploads/2021/11/AdobeStock_305151720_Preview.jpeg);
	background-position:right;
}
#wwd.ov_image_col {
	background-image:url(/wp-content/uploads/2021/11/engineer_1_1200.jpg);
}

#services_image.ov_image_col {
	background-image:url(/wp-content/uploads/2021/11/AdobeStock_470298887_Preview.jpeg);
}

.ov_fs_sec .ov_image_col {
	box-shadow:none;
}

.ov_centered_sec .gb-inside-container {
	max-width:900px!important;
}

.ov_fw_cols.gb-container > .gb-inside-container {
	max-width:100%;
}

.gb-container.minimal_spacing_sec {
	padding:0 0 20px 0;
}

.minimal_spacing_sec .wp-block-group .wp-block-group__inner-container {
	padding:0 40px;
}

/* Infographic Steps */

.ov_ig_blurbs .wp-block-column {
	position:relative;
}

.ov_ig_cols {
	margin:50px 0;
	flex-wrap:wrap;
}

.ov_ig_cols .wp-block-column {
	flex-basis:33%;
}

.ov_ig_steps {
	height:100%;
}

.ov_ig_arrow {
	padding-bottom:30%;
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
}

#one .ov_ig_arrow {
	background-image:url(/assets/process_steps_2_step1.svg);
}

#two .ov_ig_arrow {
	background-image:url(/assets/process_steps_2_step2.svg);
}

#three .ov_ig_arrow {
	background-image:url(/assets/process_steps_2_step3.svg);
}

.ov_ig_blurbs .wp-block-column:not(:first-child) {
	margin-left:0;
}

/*.ov_ig_blurbs .wp-block-column {

	background-image:url(/wp-content/uploads/2021/11/card_corner_cyan_150.png);
	background-size:120px;
	background-repeat:no-repeat;
	content:'';
}*/

.ov_ig_steps .ov_ig_title {
	position:absolute;
	font-weight:700;
	text-transform:uppercase;
	text-align:center;
	font-size:24px;
	top:50%;
	left:50%;
	transform: translate(-50% , -50% );
	color:#fff;
}

.ov_ig_detail {
	padding:20px;
	background-color:#f8f8f8;
	margin-right:12%;
	margin-left:3px;
	margin-top:0;
	padding-top:50px;
	/*background-image:url(/wp-content/uploads/2021/11/card_corner_lightblue_150.png);*/
	background-size:100px;
	background-position:left top;
	background-repeat:no-repeat;
	border:1px solid #e1e1e1;
	box-shadow:5px 5px 3px #ddd;
}

/*#two .ov_ig_detail {
		background-image:url(/wp-content/uploads/2021/11/card_corner_midblue_150.png);
}

#three .ov_ig_detail {
			background-image:url(/wp-content/uploads/2021/11/card_corner_purple_150.png);
}*/

.ov_ig_detail ul {
	margin-left:2em;
}

.ov_ig_icon {
	text-align:center;
}

.ov_ig_icon img {
	max-width:60px;
}

/* Blurbs / grids */

.ov_icon_blurb_grid {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}


.ov_icon_blurb_grid .ov_blurb_item {
	flex-basis:23.5%;
	margin-right:2%;
	text-align:center;
	font-size:14px;
	padding:20px;
	background-color:#f8f8f8;
	margin-bottom:20px;
	box-shadow:5px 5px 3px #e1e1e1;
}

.ov_icon_blurb_grid .ov_blurb_item .ov_blurb_title {
	font-size:18px;
	font-weight:700;
	margin-bottom:15px;
}

.ov_icon_blurb_grid .ov_blurb_item:nth-of-type(4n), .ov_icon_blurb_grid .ov_blurb_item:last-of-type {
	margin-right:0;
}

.ov_blurb_icon img {
	height:60px;
	width:auto;
}

.ov_blurb_icon.large img {
	max-width:120px;
	height:auto;
}

.blurb_icon {
	text-align:right;
}

.blurb_icon img {
	width:160px;
}

#ov_ip_icons, #ov_web_icons {
	display:flex;
	flex-wrap:wrap;
}

#ov_web_icons, #ov_ip_icons {
	max-width:600px;
	margin-left:auto;
	margin-right:auto;
}

#ov_web_icons .item_type, #ov_ip_icons .item_type {
	flex-basis:22%;
	text-align:center;
}

#ov_web_icons .item_type:not(:nth-of-type(4n)), #ov_ip_icons .item_type:not(:nth-of-type(4n)) {
	margin-right:4%;
}

#ov_web_icons .item_icon img, #ov_ip_icons .item_icon img {
	height:70px;
}

#ov_ip_icons .ip_type {
	flex-basis:20%;
	margin-right:5%;
}

#web_portfolio {
	display:flex;
	flex-wrap:wrap;
}

#web_portfolio .web_portfolio_item {
	flex-basis:30%;
}

#web_portfolio .web_portfolio_item img {
	box-shadow:5px 5px 3px #ccc;
}

#web_portfolio .web_portfolio_item:not(:last-of-type) {
		margin-right:5%;
}

/* Forms */

#vox_cf.wpcf7-form {
	max-width:400px;
	margin-left:auto;
	margin-right:auto;
}

.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form textarea {
	width:100%;
}

.wpcf7-form input[type=submit] {
	background-image:linear-gradient(20deg,#4b7cf6,#6bcdfb,#5a40f5);
	padding:15px 40px;	
	border:none;
	min-width:200px;
	border-radius:30px;
	text-transform:uppercase;
	font-weight:700;
}

#vox_cf .wpcf7-list-item {
	margin-left:0;
}


/* Responsive Desktop - Everything ABOVE 1024 */
@media only screen
	and (min-width: 1024px) {
		
		.is_stuck .navigation-branding img {
			height:72px;
		}
		
		.gb-container {
			padding:40px 0;
		}
		
		.ov_fw_cols.gb-container > .gb-inside-container .wp-block-group {
			max-width:600px;
		}
		
		.ov_fs_sec {
			position:relative;
			padding:0 0 40px 0;
			/*min-height:calc(100vh - 279px);*/
		}

		.ov_fs_sec.midpage {
			padding:40px 0 40px 0;
		}

		
		.ov_fs_sec .wp-block-column.text {
			min-height:calc( 100vh - 200px );
			display:flex;
			align-items:center;
		}
		
		.ov_fs_sec .wp-block-columns {
			margin-bottom:0;
		}
		
/*		body:not(.home) .site-header .header-image {
			width:150px;
		}*/
		
/*		body:not(.home) .site-header .header-image  {
			background-color:#fff;
			position:absolute;
			top:0;
			padding:20px;
			z-index:5;
		}
	*/	
		.inside-header {
			padding:10px 40px;
		}
		
		.footer-widget-2 {
			text-align:center;
		}
		
		.footer-widget-3 {
			text-align:right;
		}
		
		.ov_ta_right_desk {
			text-align:right;
		}
		
		.ov_pricing_level_title {
			font-size: 5em;
    		font-weight: 700;
			line-height:1em;
			margin-bottom:10px;
			color:#7b27ff;
		}
		
		.ov_pricing_level_subtitle {
			font-weight:700;
			font-size:1.2em;
		}		
		
}

/* Responsive - everything below the mobile menu breakpoint - 1366px */
@media only screen
	and (max-width: 1366px) {
		
		nav.is_stuck .inside-navigation.grid-container {
			justify-content:space-between!important;
		}
}

/* Responsive - That Awkward Size */
@media only screen
	and (min-width: 1024px)
	and (max-width: 1400px) {
		
		#home_banner .wp-block-column:first-of-type {
			flex-basis:55%;
		}
		
		#home_banner h1 span {
			line-height:1.2em;
		}
		
		#about.ov_waveform, #wwd.ov_waveform {
			width:80%;
		}
		
		button.menu-toggle {
 		   font-size: 36px !important;
			z-index:9;
		}
		
/*		.menu-toggle .gp-icon svg {
			width:2em;
			height:2em;
			top:0.5em;
		} */
		
		.main-navigation.has-branding .inside-navigation.grid-container {
			padding:0 40px!important;
		}
		
/*	#mobile-header .menu-toggle .gp-icon svg {
			width:2.5em;
			height:2.5em;
		} */
		
}

/* Responsive - large portrait touch screens (such as portrait iPad Pro) */
@media only screen
	and (min-width: 1024px)
	and (max-aspect-ratio: 1/1) {
		
		.ov_header_banner {
			min-height:50vh;
		}
		
}

/* Responsive - Everything BELOW 1024 */
@media only screen
	and (max-width: 1023px) {
		
		.ov_fw_mob.wp-block-columns {
			flex-wrap:wrap;
		}
		
		.inside-header {
			padding:10px 40px;
		}	
		
		.is_stuck .inside-navigation.grid-container {
			justify-content:space-between!important;
		}
		
		.ov_fw_mob.wp-block-columns.ov_centered {
			text-align:center;
		}
		
		.ov_fw_mob .wp-block-column, .ov_fw_mob .wp-block-column:not(:only-child) {
			flex-basis:100%!important;
		}
		
		.ov_fw_mob .wp-block-column:nth-child(2n) {
			margin-left:0;
		}
		
		.ov_mob_header_sec {
			display:block;
			min-height:40vh;
			/* margin-top: 60px; */
		}
		
		.ov_mob_header_sec.gb-container {
			background-image:url(/wp-content/uploads/2021/11/bulb_2_1024.jpg);
		}
		
	
		.ov_no_bg_mob {
			background-image:none!important;
		}
		
		#home_banner.ov_header_banner {
		color:#333;
		}
		
		.ov_header_banner {
			min-height:auto;
		}
		
		.home .hero_content h1 {
			font-size:28px;
		}	
		
		.wp-block-column.ov_image_col {
			min-height:50vh;
		}
		
		.site-header .header-image {
			width:200px;
		}
		
		.ov_ig_steps {
			margin-bottom:50px;
		}
		
		.hero_content a.ov_button.white {
			background-color:#4e3dff;
			color:#fff;
		}
		
		a.ov_button {
			margin-bottom:30px;
		}
		
		.ov_title_col h2 {
			text-align:center;
		}
		
		.ov_col_bord_left {
			padding-left:0;
			border-left:none;
		}
		
		.ov_icon_blurb_grid .ov_blurb_item {
			flex-basis:49%;
			margin-right:2%;
		}
		
		.ov_icon_blurb_grid .ov_blurb_item:nth-of-type(4n) {
			margin-right:initial;
		}		
		
		.ov_icon_blurb_grid .ov_blurb_item:nth-of-type(2n) {
			margin-right:0;
		}		
		
/*		.menu-toggle .gp-icon svg {
			width:2em;
			height:2em;
			top:0.5em;
		} */
		
		button.menu-toggle {
 		   font-size: 24px !important;
		}
		
		.ov_pricing_level_title {
			font-size: 3em;
    		font-weight: 700;
			line-height:1em;
			margin-bottom:10px;
			color:#7b27ff;
		}
		
		.ov_pricing_level_subtitle {
			font-weight:700;
			text-transform:uppercase;
		}
		
		#vox_cf.wpcf7-form {
			max-width:100%;
			padding:20px;
			background-color:#f8f8f8;
			margin-top:30px;
			border:1px solid #e1e1e1;
		}
		
		#vox_cf.wpcf7-form input:not([type="submit"]), #vox_cf.wpcf7-form textarea {
			background-color:#fff;
		}

}

/* Responsive Tablet - Between 768 and 1023 */
@media only screen
	and (min-width: 768px)
	and (max-width: 1023px) {
		
		#home_banner .hero_content {
			max-width:80%;
			margin-left:auto;
			margin-right:auto;
		}
		
		.home .hero_content h1 {
			font-size:28px;
			line-height:2em;
		}	
		
		.wp-block-group__inner-container {
			width:90%;
		}
		
		#about.ov_waveform, #wwd.ov_waveform {
			width:80%;
			height:60%;
			opacity:0.1;
		}
		
		.ov_ig_cols .wp-block-column:not(:only-child) {
			flex-basis:100%!important;
		} 
		
		.ov_ig_cols .ov_ig_steps {
			max-width:60%;
			margin-left:auto;
			margin-right:auto;
		}
		
		.inside-footer-widgets {
			flex-direction:initial;
		}
		
		.ov_title_col.medium h2, .blurb_icon {
			text-align:left;
		}
		
		.main-navigation.has-branding .inside-navigation.grid-container {
			padding:0 40px!important;
		}		
		
}


/* Responsive Mobile - Everything BELOW 768 */
@media only screen
	and (max-width: 767px) {
		
		h1 {
			font-size:36px;
		}
		
		.ov_title_col h2 {
			font-size:40px;
			line-height:48px;
		}
		
		.ov_title_col.medium h2 {
			font-size:38px;
			line-height:44px;
		}
		
		.ov_waveform {
			background-size:300px;
			left:0;
			top:25%;
			opacity:0.05;
			width:100%;
		}
		
		#home_banner h1 span {
			line-height:1.3em;
		}
		
		.ov_icon_blurb_grid .ov_blurb_item {
			flex-basis:100%;
			margin-right:0!important;
		}	
		
		#about.ov_waveform, #wwd.ov_waveform {
			width:80%;
			opacity:0.1;
		}
		
		.blurb_icon {
			text-align:center;
		}
		
		.ov_waveform.fullscreen {
			width:80%;
		}
		
		#ov_web_icons .item_type:not(:nth-of-type(4n)), #ov_ip_icons .item_type:not(:nth-of-type(4n)) {
			margin-right:initial;
		}
		
#ov_web_icons .item_type, #ov_ip_icons .item_type {
			flex-basis:47.5%;
			margin-bottom:10px;
		}
		
		#ov_web_icons .item_type:not(:nth-of-type(2n)) {
			margin-right:5%;
		}
		
		#web_portfolio .web_portfolio_item {
			flex-basis:100%;
			margin-right:0!important;
			margin:15px 0;
		}
}
