/*
Theme Name: Bridge Child
Theme URI: http://demo.qodeinteractive.com/bridge/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: http://www.qodethemes.com/
Version: 1.0.0
Template: bridge
*/
@import url("../bridge/style.css");

:root {
	
	/* COLORS */
	--white: #FFF;
	--black: #000;
	
	/* FONT SIZE */
	--fs-small: clamp(0.9375rem, 0.8542rem + 0.1736vw, 1.0625rem); /* 15 - 17 */
	--fs-base: clamp(1.0625rem, 0.9375rem + 0.2604vw, 1.25rem);; /* 18 - 20 */
	--fs-medium: clamp(1.5rem, 1.1667rem + 0.6944vw, 2rem); /* 24 - 32 */
	--fs-large: clamp(2rem, 1.5rem + 1.0417vw, 2.75rem); /* 32 - 44 */
	
	/* PADDING */
	--padding-zero: 0px;
	--padding-mini: 2px;
	--padding-xsmall: 4px;
	--padding-small: 8px;
	--padding-base: 16px;
	--padding-medium: 32px;
	--padding-large: 64px;
	--padding-xlarge: 8.33vw;
	
	/* GAP */
	--gap-xsmall: 8px;
	--gap-small: 16px;
	--gap-base: 32px;
	--gap-large: 8.33vw;
	/* BORDER */
	--border-base: 1px solid var(--black);

	
	
}

/* ELEMENTOR DEFAULTS */
.e-con.e-parent {
	padding: var(--padding-base) var(--padding-base);
}
	
.e-con.e-child {
	padding: var(--padding-zero) var(--padding-zero);
}

.e-con.e-child.e-padding {
	padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
}

.e-con.e-grid {
	gap: var(--padding-xlarge);
}

.e-con.text-one-image {
	padding-bottom: calc(var(--padding-xlarge) - 32px);
	gap: var(--gap-large);
}

.e-con.text-two-image {
	padding-bottom: calc(var(--padding-xlarge) - 32px);
	gap: var(--gap-large);
}

.e-con.two-image {
	padding-bottom: calc(var(--padding-xlarge) - 32px);
}

.e-con.one-image {
	padding-bottom: calc(var(--padding-xlarge) - 32px);
}

.e-con.two-image {
	padding-bottom: calc(var(--padding-xlarge) - 32px);
}

.image-grid {
	width: calc(70% - 8.33vw) !important;
}

@media only screen and (max-width: 1000px) {
	.image-grid {
	width: 100% !important;
}
	.text-column {
		width: 100% !important;
	}
	
	.e-con.text-one-image {
		gap: var(--gap-base);
}

	.e-con.text-two-image {
		gap: var(--gap-base);
}
	.e-con.e-grid.home {
	gap: var(--gap-base);
}
	
	
	
}


.content {
	min-height: 100vh;
}




/* TYPOGRAPHY */
h1, h2, h3, h4, h5, h6, p, ul {
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.3em;
	color: var(--black);
	text-transform: none;
	
	}


h2 {
	font-size: var(--fs-base);
	text-transform: uppercase;
	
}

h3 { 
	font-size: var(--fs-medium);
}


p {
	font-size: var(--fs-base);
}

.copy p {
	margin-bottom: 0.5em;
}

.copy h1 {
	font-size: var(--fs--medium) !important;
}

.copy h2 {
	margin-top: 1em;
	font-size: var(--fs-medium);
}

.copy h3 {
	font-size: var(--fs-base);
	font-weight: 600;
	text-transform: uppercase;
	margin-top: 1em;
}

.copy ul {
	list-style-position: outside;
  	padding-left: 1em;
}

.copy ul li {
  margin-bottom: 0.5em;
	font-size: var(--fs-base);
	line-height: 1.3em;
}

/* HEADER */

.logo-type.popup {
	display: none;
}

.popup_menu_opened .logo-type.popup {
	display: flex;
}

.popup_menu_opened .logo-type.normal {
	display: none;
}

.logo-type {
	font-size: var(--fs-base);
	color: #0037DC;
	text-transform: uppercase;
}

.logo_wrapper {
	display: flex;
	justify-content: center;
}

.q_logo {
	top: unset;
	display: flex;
	align-items: center;
	
}

.q_logo a {
	display: flex;
	align-items: center;
	
}

.header_bottom {
	padding: 0 var(--padding-base);
}

header .header_inner_left {
  position: absolute;
  left: var(--padding-base);
  top: 0;
}

@media only screen and (max-width: 1000px) {
  .logo_wrapper {
    height: 60px !important;
    left: 0%;
  }
	
	.q_logo a {
    left: 0%;
    width: auto !important;
  }
	
	.side_menu_button {
    height: 60px !important;
  }
}

@media only screen and (max-width: 768px) {
  nav.popup_menu ul li a span, nav.popup_menu ul li h6 span {
    font-size: 1em;
  }
}

/* FULL SCREEN MENU */

.side_menu_button > a {
  padding: 0;
}

.popup-menu-toggle {
	font-size: var(--fs-base);
	text-transform: uppercase;
	color: var(--black);
	
}
.popup_menu_holder_outer {
  height: auto !important;
}

.popup_menu_holder {
  background-color: transparent;
	height: auto;
}

.popup_menu_holder_inner {
  	display: flex;
	justify-content: flex-end;
  	padding: 60px 16px 32px 16px;
	background-color: var(--white);
}

nav.popup_menu {
  margin: 0 0;
  position: relative;
  top: 0;
  text-align: right;
}

nav.popup_menu ul {
  display: flex;
	flex-direction: column;
  position: relative;
	justify-content: flex-start;
	align-items: flex-end;
}


nav.popup_menu ul li a, nav.popup_menu ul li h6 {
  font-size: var(--fs-base);
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0px;
  color: var(--black);

}

/* QI BUTTON */

.qodef-qi-button.qodef-layout--textual {
	font-size: var(--fs-base);
	color: var(--black);
	padding: var(--padding-small) 0;
	font-weight: 400;
	line-height: 1.3em;
}

/* PORTFOLIO GRID */
.portfolio-posts {
	display: flex;
	flex-direction: row;
	width: 100%;
	flex-wrap: wrap;
	gap: 9vw;
	justify-content: flex-start;
	padding-top: var(--padding-large);
}
.portfolio-item {
	width: calc(33.33% - 6vw);
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	max-height: 25vw;
	gap: var(--gap-xsmall);
}

.portfolio-item:nth-child(3n+1) {
  align-items: flex-start;
}

.portfolio-item:nth-child(3n+2) {
  align-items: center;
	
}

.portfolio-item:nth-child(3n+2) .portfolio-thumbnail a  {
  justify-content: center;
	
}

.portfolio-item:nth-child(3n+3) {
  align-items: flex-end;
}

.portfolio-item:nth-child(3n+3) .portfolio-thumbnail a  {
  justify-content: flex-end;
	
}

.portfolio-thumbnail {
	height: 100%;
	width: 100%;
	display: flex;
}

.portfolio-thumbnail a {
	display: flex;
	align-items: flex-end;	
}

.portfolio-thumbnail a img {
	max-height: 100%;
  	height: auto;
  	width: auto;
  	max-width: 100%;
  	display: block;

}

.portfolio-title a {
	font-size: var(--fs-base);
	text-transform: uppercase;
	
}

@media only screen and (max-width: 768px) {
	.portfolio-posts {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 9vw;
	justify-content: flex-start;
	padding-top: var(--padding-large);
}
.portfolio-item {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	max-height: 100%;
}

.portfolio-item:nth-child(3n+1) {
  align-items: flex-start;
}

.portfolio-item:nth-child(3n+2) {
  align-items: flex-start;
	
}

.portfolio-item:nth-child(3n+2) .portfolio-thumbnail a  {
  justify-content: flex-start;
	
}

.portfolio-item:nth-child(3n+3) {
  align-items: flex-start;
}

.portfolio-item:nth-child(3n+3) .portfolio-thumbnail a  {
  justify-content: flex-start;
	
}

}


/* SINGLE PORTFOLIO */

.portfolio_page-template .content_inner .elementor, .portfolio_page-template-default .content_inner .elementor {
	display: flex;
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;

	
}

.single .text-section {
	position: fixed;
	width: 45%;
	left: 0;
	overflow: scroll;
	height: calc(100vh - 80px);
	padding-right: 10%;
	padding-left: 15px;
}

.single .image-section {
	width: 55%;
	padding-right: 15px;
	margin: 0 0;
}


.portfolio_navigation {
	display: none;
}


/* SINGLE PORTFOLIO CUSTOM FULL WIDTH */
.single-portfolio_page .container_inner {
	width: 100%;
}

.sidebar {
	padding-left: var(--padding-base);
	padding-top: var(--padding-base);
	position: fixed !important;
}

.two_columns_25_75 > .column2 {
  float: right;
}

aside .widget {
  margin: 0 0 0px;
}


.portfolio-menu li {
	margin-bottom: 1em !important;
}

.portfolio-menu li a {
	font-size: var(--fs-small);
}

aside .widget a:hover {
  color: var(--black);
	font-weight: 600;
}

.portfolio-menu .portfolio-menu-item.active a {
	font-weight: 600 !important;
}

.postid-949 .two_columns_25_75 > .column2 {
  float: right;
	width: 70%;
}

/* TABS */

.elementor-widget-n-tabs .e-n-tab-title-text {
	font-size: var(--fs-base) !important;
}

.elementor-widget-n-tabs [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover, .elementor-widget-n-tabs [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover a {
  text-decoration: underline !important;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"], .elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] a {
  text-decoration: underline;
}



/* FOOTER */
.footer_top_holder {
	background-color: var(--white);
}

.footer_top.footer_top_full {
	padding: var(--padding-base) var(--padding-base);
}

footer p, footer a {
	font-size: var(--fs-small);
	color: var(--black) !important;
}

.footer_top a:hover {
  color: var(--blask) !important;
}

body.home footer {
	display: none;
}