/*
	Theme Name: Squint Opera
	Theme URI: https://www.squintopera.com
	Description: Bespoke WordPress theme for Squint / Opera
	Version: 1.2.6
	Author: Squint Opera
*/

@font-face {
	font-family: 'DINOT-Bold';
	src: url('fonts/DINOT-Bold.otf');
}

@font-face {
	font-family: 'DINOT-Light';
	src: url('fonts/DINOT-Light.ttf');
}

.video_play_holder {
    pointer-events:none;
}

.scrolDisabled {
    position:fixed !important;
    overflow-y:scroll !important;
}

.lg-toolbar {
	-webkit-transform: none !important;
    transform: none !important;
	background:transparent;
	background-color:transparent !important;
	opacity:1 !important;
}

.lg-fullscreen {
	display:none;
}

.lg-close {
    position: fixed;
    top: 47px;
    right: 28px;
}

.lg-close:after {
	font-size: 33px;
	color: transparent !important;
}

iframe.lg-vimeo {
	padding:96px;
}

.lg-sub-html {
	display:none;
}

.lg-img-wrap {
	padding:96px;
}
	
.fp_down_arrow {
	display:block;
}

.mobile_fp_down_arrow {
	display:none;
}
	
form.search {
	position: relative;
	width: 60%;
}

form.search .search-input {
    border-bottom: 1px solid #B3C2CA;
    border-top: 0px;
    border-left: 0px;
    border-right: 0px;
    box-shadow: none;
    background: none;
    padding-left: 0;
    font-size: 1.6rem;
    font-family: 'DINOT-Light';
    font-weight: 700;
    height: auto;
    padding-bottom: 20px;
    padding-top: 0;
}

form.search button {
	position: absolute;
    top: 0;
    right: 0;
    color: #a5acaf;
    line-height: 35px;
	cursor:pointer;
}

form.search .search-input::placeholder{
	color: #B3C2CA;
}
	
.scroll_content {
	opacity:1;
	transition:0.5s;
}

html,body{
	margin:0;
}

body {
	width:100%;
	font-family: 'DINOT-Bold', sans-serif;
	font-size:1.6em;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: 'DINOT-Bold', sans-serif;
	font-weight:bold;
}

h1 {
	margin: 0;
	font-size:3rem;
	line-height:3.4375rem;
}

h2 {
	margin: 0;
	font-size:3rem;
	letter-spacing:0.5625rem;
}

h3 {
	margin: 0;
	font-size:1rem;
}

h4 {
	margin: 0;
	font-size:1rem;
	letter-spacing:0.3125rem;
}

h5 {
	margin: 0;
	font-size:1.25rem;
	letter-spacing:0.1875rem;
}

h6 {
	margin: 0;
	font-size:1.25rem;
	letter-spacing:0.3125rem;
}


h8 {
	margin: 0;
	font-size:1rem;
	letter-spacing:0.3125rem;
}

p {
	margin: 0;
	line-height:normal;
}

.center {
    text-align:center;
}

.fp_white_logo {
	position: fixed;
    top: 48px;
    left: 96px;
	opacity:1;
	transition:0.5s;
}

.page_header {
	width:100%;
	z-index:1;
	margin-bottom:144px;
}

.header, .project_archive_header, .project_header {
	position:absolute !important;
    width:100%;
	z-index:1;
}

.menu_content {
	min-height:100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
	position:absolute;
	top:0;
}

#navigation_top, #navigation_bottom {
	margin-bottom:0;
	padding-bottom:48px;
}

#navigation a, #navigation_top a, #navigation_bottom a {
    color:white;
	font-size:3rem;
	
}

/* Pre-Loader Animation */
.no-js #loader {
	display: none;
}

.js #loader {
	display: block; position: absolute; left: 100px; top: 0;
}

.se-pre-con {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: url(https://squintopera.com/wp-content/themes/squintopera/img/blue-three-dots.svg) center no-repeat white;
}

.header_home {
	position:absolute !important;
    width:100%;
	z-index:99;
}

.vertical_trigger {
    width: 17px;
    height: 87px;
    position: fixed;
    left: 41px;
    top: 50%;
    z-index: 999;
    transform: translateY(-50%);
}
	
.c-offcanvas-bg {
	transition:background-color 800ms cubic-bezier(0.23, 1, 0.32, 1) 0ms !important;
}

.std_nav_trigger {
    width: 25px;
    height: 25px;
    position: fixed;
    right: 35px;
    top: 50px;
    z-index: 9999;
}

.nav_trigger {
    position: fixed;
    right: 36px;
    -webkit-transform: translateY(45px);
	        transform: translateY(45px);
	will-change: transform;
    z-index: 1;
	top: 0;
}

.nav_trigger img {
	vertical-align:unset;
}
	
.mobile_nav {
	display:none;
	height:50px;
	width:100%;
	position:fixed;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
	will-change: transform;
	left:0;
	top:0;
	background:white;
	z-index:9;
}

.mobile_nav_container {
	position:relative;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	box-shadow:5px -17px 37px;
}

.mobile_burger {
	position:absolute;
	right:24px;
	top:12px;
}

.mobile_burger img {
	float:right;
	margin-right:20px;
}

.no-padding {
	padding-left:0 !important;
	padding-right:0 !important;
}


/* Hides Scrollbar Generated By Container Breakout Function */
/* https://codepen.io/tigt/post/bust-elements-out-of-containers-with-one-line-of-css */
body {

}

.nav_trigger {
	display:block;
}

.mobile_nav_trigger {
	display:none;
}

.c-offcanvas {
	background:#0000fe !important;
	display:flex !important;
	padding-left:96px;
	padding-right:96px;
	justify-content: center;
	flex-direction:column;
}

.js-offcanvas {
	color:white;
}

.js-offcanvas h5 {
	padding-bottom:48px;
	padding-top:48px;
}



#offCanvas {
	color:white;
	z-index:999999999999;
}

#nav_closebtn {
    font-size: 50px;
    color: white;
	position:absolute;
	top:0;
}

.navigation_menu_top {
	margin-bottom:96px;
}

/* Sticky Position - Set For All And Then Overide Sticky Ones */
.panel-grid {
	padding-left:96px;
    padding-right:96px;	
	position: relative;
}

.sticky-panel-grid {
	padding-left:0;
	padding-right:0;
}

.position_sticky {
	height:100%;
	width:100%;
}

/* Project Page */
.project_archive_grid {

}

.archive_grid_1 {
	padding-bottom:48px;
}

.archive_grid_2 {
	width: calc(50% - ( 0.5 * 48px ) ) !important;
	padding-bottom:48px;
}

.archive_grid_3 {
	width: calc(33.3333% - ( 0.5 * 48px ) ) !important;
	padding-bottom:48px;
}

.archive_grid_9 {
	width: calc(66.66667% - ( 0.5 * 48px ) ) !important;
	padding-bottom:48px;
}
	
/* News - Archive */
.news_archive_grid .cell {
	border-bottom:1px solid grey;
	width: calc(50% - ( 0.5 * 48px ) ) !important;
}

.news_archive_grid {
    align-items: flex-start;
	justify-content: space-between;
}

.news_item_type2 {
	display:flex;
}

.news_item_type2 div {
	flex:1;
}

.news_item h3 {
	margin-bottom:30px;
}

.news .posted_date {
    color:#b3c2ca;
	margin-bottom:30px;
}

/*------------------------------------*\
    MAIN
\*------------------------------------*/


.col_1 {
flex:1;
}

.col_6 {
flex:6;
}

.col_10 {
flex:11;
}

.col_11 {
flex:10;
}

.col_12 {
	flex:12;
}

.so-widget-text-widget {
display:flex;
}

.project_taxonomies {
display:flex;
}

.so-widget-full-width-image-widget img{
width:100%;
height:100%;
}



/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}

img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* footer */
footer {
	color:white;
	background:black;
    padding-top:100px;
    padding-bottom:100px;
	font-size:16px;
	overflow:hidden;
}

.footer_inner {
	margin:0 96px;
}

.footer_inner h3{
	letter-spacing:0.1875rem;	
}

footer h3 {
	letter-spacing:.2em;
	font-size:1em;
	margin-bottom:46px;
}

footer p {
	font-size:1em;
	margin-bottom:23px;
}

.footer_terms {
	margin-top:48px;
	letter-spacing:.2em;
}

.footer_inner p {
	/* These are technically the same, but use both */
	overflow-wrap: break-word;
	word-wrap: break-word;

	-ms-word-break: break-all;
	/* This is the dangerous one in WebKit, as it breaks things wherever */
	word-break: break-all;
	/* Instead use this non-standard one: */
	word-break: break-word;

	/* Adds a hyphen where the word breaks, if supported (No Blink) */
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.footer_inner .grid-x {
	justify-content:space-between;
}

footer a {
	color:white;
}

footer a:hover {
	color:white;
	text-decoration:underline;
}



/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}

/* Contact Page Layout */
.contact .wrapper .panel-grid:first-child {
	padding-top:192px;
}

/* Projects Archive Layout */
.archive .wrapper .panel-grid {
	padding-top:192px;
}

.project_archive_logo {
	position:absolute;
	top:48px;
	left:96px;
	z-index:9;
}

.project_archive_logo img {
	vertical-align:unset;
}

.project_archive_container {
  display: flex;
  flex-wrap: wrap;
}

.inner:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* initial ratio of 1:1*/
}

.archive_single_project:before {
	padding-top: 56.25%;
}

.archive_single_project {
  
  margin: 5px;
  
  color:white;
}

.archive_single_project  a{
	color:white;
}

.archive_single_project  img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.archive_single_project:nth-child(5n + 1),
.archive_single_project:nth-child(5n + 2) {
  background: blue;
  flex: 0 0 calc(50% - 10px);
}
.archive_single_project:nth-child(5n + 3),
.archive_single_project:nth-child(5n + 4),
.archive_single_project:nth-child(5n + 5) {
  background: blue;
  flex: 0 0 calc(33.33% - 10px);
}


.outer {
  display: flex;
  width: 100%;
  margin: 1rem auto;
  align-items: flex-start;
}
.inner {
  flex: 1 1 auto;
  position: relative;
}
.inner:before {
  content: "";
  display: block;
  padding-top: 100%;
  /* initial ratio of 1:1*/
}
.content {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
/* otehr ratios */

.ratio2_1:before {
  padding-top: 50%;
}
.ratio1_2:before {
  padding-top: 200%;
}
.ratio4_3:before {
  padding-top: 75%;
}
.ratio16_9:before {
  padding-top: 56.25%;
}

.sing {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.team_member img {
	margin-bottom:48px;
}

.scrollify_pagination {
	opacity:1;
	transition:0.5;
}
	
/*------------------------------------*\
    MEDIA QUERIES
\*------------------------------------*/
@media only screen and (max-width: 1199px) {

	.lg-close:after {
		color:#0000ff !important;
	}
	
	.lg-close {
		right: 11px;
		top: 1px;
	}

	.fp_down_arrow {
		display:none;
	}
	
	.mobile_fp_down_arrow {
		display:block;
	}

	.c-offcanvas {
		padding-left:48px;
	}
	
	.c-offcanvas h5:first-child {
		margin-top: 0 !important;
	}
	
	.c-offcanvas h5 {
		margin-top: 48px !important;
	}
	
	.nav_trigger {
		display:none;
	}

	.mobile_nav_trigger {
		display:block;
		position:absolute;
		top: 18px;
		right: 24px;
	}

	.scrollify_pagination {
		display:none;
	}

	.panel-grid {
		padding-left:48px;
		padding-right:48px;	
	}

	.vertical_container, .burgerbar_container {
		display:none;
	}

	.fp_white_logo {
		display:none;
	}

	.hm_white_logo {
		display:none;
	}

	.mobile_logo {
		margin-left:24px;
	}

	.mobile_logo a {
		display:flex;
	}

	.mobile_logo img {
		vertical-align:unset;
	}

	.mobile_nav {
		display:block;
		background:rgba(256,256,256,0.9);
	}

	.team_member {
		margin-bottom:96px;
	}

	.nav_trigger {
		right:0;
	}

	.panel-row-style {
		padding-left:48px !important;
		padding-right:48px !important;
	}

	.sp_txt_content {
		padding:0px 48px 0px 48px !important;
	}

	.services_menu {
		padding:48px 48px 48px 48px !important;
	}

	footer {
		padding: 48px;
	}

	.footer_inner {
		margin:0;
	}

	.footer_inner .grid-x .cell {
		width:50%;
	}
	
}

@media only screen and (max-width: 991px) {
	
	html {
		font-size:80%;
	}
	
	.services_menu {
		padding: 48px 48px 48px 48px !important;
	}
	
	.panel-row-style {
		
	}
	
	h5.nopadding {
		margin-bottom:7px !important;
	}
	
	.team_member {
		margin-bottom:96px;
	}
	
	.no_right_padding {
		padding:0 !important;
	}
	
	.no_left_padding {
		padding:0 !important;
	}
	
	.disciplines {
	    margin-top:48px;
	}
	
} 


@media only screen and (max-width: 768px) {
	
	.lg-img-wrap, iframe.lg-vimeo {
		padding:0;
	}
	
	.lg-prev {
	    border-style: solid !important;
		border-radius: 0 !important;
		border-color: transparent !important;
		border-width: 8px !important;
		background-color: rgba(0, 0, 0, 0.7) !important;
		height: 24px !important;
		width: auto !important;
		background-position: center !important;
        left: 0px !important;
		background-size: contain !important;
		-webkit-transform: unset !important;
		transform: unset !important;
	}
	
	.lg-next {
		border-radius: 0 !important;
		border-style: solid !important;
		border-color: transparent !important;
		border-width: 8px !important;
		background-color: rgba(0, 0, 0, 0.7) !important;
		height: 24px !important;
		width: auto !important;
		background-position: center !important;
        right: 0px !important;
		background-size: contain !important;
		-webkit-transform: unset !important;
		transform: unset !important;
	}
	
	.mc-field-group {
		width:100%;
	}
	
	.footer_submit_btn {
		text-align:right;
	}
	
	html {
		font-size:80%;
	}
	
	h8 {
		font-size:1rem;
	}
	
	.widget_contact-widget {
		text-align:center;
	}

	.hero_widget_content {
		max-width:100%;
		margin-right:48px;
	}
		
	.team_member {
		margin-bottom:48px;
	}
	
	.team_member img {
		margin-bottom:0px;
	}

	/* ------------------------------------- */
	/* START Home Page Sticky Scroll Section */
	/* ------------------------------------- */
	.scroll_content {
		padding-left:24px;
		padding-right:24px;
		bottom:96px;
	}

	.scroll_links {
		margin-top:48px;
	}
	
	.headline_text_wrapper {
		width:100%;
		padding-top:24px;
	}
	
	.scrollify_pagination {
		display:none;
	}
	 
	.sticky_menu {
		top: 28px;
		right: 11px;
	}
	
	.nav_trigger a {
		top:21px;
	}
	/* ----------------------------------- */
	/* END Home Page Sticky Scroll Section */
	/* ----------------------------------- */
	
	.panel-grid {
		padding-left:24px;
		padding-right:24px;	
	}

}

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

	html {
		font-size:60%;
	}

	h1, h2 {
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
        hyphens: auto;
	}

	.footer_inner .grid-x .cell {
		width:100%;
	}

	footer .small-12 {
		text-align:center;
	}
	
	h5.nopadding {
		padding-bottom:4px !important;
	}

}

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

	.mobile_logo img {
		max-height:15px;
	}
	
	.mobile_burger img {
		max-height:12px;
	}

}

@media only screen and (max-width: 340px) {
	
	.mobile_logo img {
		max-height:12px;
	}
	
	.mobile_burger img {
		max-height:10px;
	}
	
}

@media only screen and (max-height: 970px) {

	#navigation_top {
		padding-bottom:0;
	}
	
	#navigation_bottom {
		padding-bottom:48px;
	}
	
	.services_h5 {
		margin-top:0 !important;
	}
	
	.js-offcanvas h5 {
		
	}

}

@media only screen and (max-height: 840px) {
	
	.js-offcanvas h5 {
		padding-bottom:24px !important;
		font-size:1rem !important;
	}
	
	#navigation_top a, #navigation_bottom a {
		font-size:2rem !important;
	}
	
}

@media only screen and (max-height: 760px) {

	.menu_content {
		padding-bottom:0;
	}

	.js-offcanvas h5 {
		padding-bottom:24px !important;
		font-size:1rem !important;
	}
	
	#navigation_top a, #navigation_bottom a {
		font-size:2rem !important;
	}

}

@media only screen and (max-width: 1600px) {
	
	.contact_page_email {
		font-size:20px;
	}

}

@media only screen and (max-width: 1300px) {
	
	.contact_page_emails {
		flex-wrap: wrap !important;
	}
	
	.contact_page_emails .panel-grid-cell {
		width:calc(50% - ( 0.75 * 48px ) ) !important;
		
	}

}


@media only screen and (max-width: 991px) {
	
	.contact_page_emails {
		padding-left:0 !important;
	}
	
}

@media only screen and (max-width: 768px) {
	
	.contact_page_emails .panel-grid-cell {
		width:100% !important;
		
	}
	

}
