@charset "utf-8";

@font-face {
	font-family: 'DIN Light';
	src: url("../fonts/DIN-Light.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'DIN Medium';
	src: url("../fonts/DIN-Medium.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'DIN Regular';
	src: url("../fonts/DIN-Regular.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Addington';
	src: url("../fonts/AddingtonCF-RegularItalic.otf") format("opentype");
	font-style: italic;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Abadi Light';
	src: url("../fonts/Abadi_MT_Pro_Light.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Abadi Italic';
	src: url("../fonts/Abadi_MT_Pro_Light_Italic.otf") format("opentype");
	font-style: italic;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Avenir Light';
	src: url("../fonts/AvenirLTProLight.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Avenir Italic';
	src: url("../fonts/AvenirLTProLightOblique.otf") format("opentype");
	font-style: italic;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Avenir Medium';
	src: url("../fonts/AvenirLTProMedium.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}

@font-face {
	font-family: 'Avenir Book';
	src: url("../fonts/AvenirLTProBook.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Hoefler';
	src: url("../fonts/Hoefler-Text-Regular.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Instruction';
	src: url("../fonts/Instruction.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
	font-display: fallback;
}
@font-face {
	font-family: 'Instruction Bold';
	src: url("../fonts/Instruction-Bold.otf") format("opentype");
	font-style: normal;
	font-weight: bold;
	font-display: fallback;
}
@font-face {
	font-family: 'Instruction Italic';
	src: url("../fonts/Instruction-Italic.otf") format("opentype");
	font-style: italic;
	font-weight: normal;
	font-display: fallback;
}
body, html {
	margin: 0;
	box-sizing: border-box;
	font: 300 18px/1.8 "DIN Regular", sans-serif;
	overflow-x: hidden;
	color: #777;
	background: rgb(255,255,255);
}
body {
	background-image: url('../graphics/full-sheet-of-paper-edited.png');
    background-size: 100% auto;
    background-position: center top;
    background-attachment: scroll;
    background-repeat: repeat-y;
}
/**** GLOBAL RULES *****/
.page-content {
	position: relative;
	z-index: 1;
}
.flex-container {
	display: flex;
	flex-direction: row;
}
.flex-item-half {
	flex: 49%;
}
.flex-item-thirds {
	flex: 1 1 200px;
	min-width: 100px;
	width: 200px;
}
.block {
  width: 50vw;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  background-color: rgba(245,245,245,0.6);
  border-radius: 3px;
  box-shadow: 0 0 20px 3px rgba(30,30,30,0.5);
}
.float-text-box img {
	float: left;
	width: 300px;
	margin: 20px 30px 50px 0;
}
.float-text-box h1 {
	font-family: Instruction;
	text-align: center;
}
.float-text-box p {
	margin: 30px 100px;
}
.grid-2-col-1-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 3px;
}
/* .absolute {
	position: absolute;
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
} */
*, *:before, *:after {
  box-sizing: inherit;
}

/*** GRID LAYOUT in CTA ***/
.grid-container {
	display: flex;
	width: 100%;
/*	height: 100%;*/
}
.grid {
	display: grid;
	grid-template-areas: 
		"image desc";
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	width: 100%;
	background-color: rgba(15,15,15,0.8);
	padding-bottom: 50px;
	padding-top: 125px;
}
.grid > * {
  position: relative;
}
div .image {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 2px;
}
div img.image {
	grid-area: image;
}
div h1.desc {
	grid-area: desc;
}
.circle-container {
	list-style-type: none;
	display: flex;
	width: 100%;
}
h1.desc {
	font-size: 7rem;
	text-align: center;
	line-height: 5.5rem;
}
h3.desc {
	font-size: 2.7rem;
	line-height: 3.5rem;
	font-family: Instruction Italic;
	text-align: center;
	position: absolute;
 	width: 100%;
	color: rgba(255,164,0,1);
	text-shadow: 0 0 2px black;
	top:20%;
}
h3.desc-2 {
	top: 70%;
}

/*** CIRCLE ELLIPSE DESIGN in TOC  ***/
.header-circle {
	position: relative;
	margin: 0 auto;
	margin-top: -20px;
	width: 9vw;
	height: 9vw;
	border-radius: 50%;
	border: 1px solid rgba(40,238,145,0.4);
	background-color: rgb(0,0,0);
	box-shadow: 0px 0px 142px rgba(57,195,198,1), -100px 40px 200px rgba(0, 225, 57, 1);
	text-align: center;
	transition: box-shadow 1100ms ease;
	align-self: center;
	justify-self: center;
}
.circle-container:hover .header-circle {
  border: 1px solid rgba(255,243,23,0.4);
  background-color: rgb(0,0,0);
  box-shadow: 0px 0px 142px yellow, 210px 40px 200px rgba(252, 169, 43, 1);
  transition: 1100ms;
}
/* Mimic hover effect */
.header-circle.active {
  background-color: red;
}

/*************************NAV BAR ********/
header {
	display: inline;
}
/***************** Dropdown menu ******/
 /* Navbar container */
.navbar {
	display: flex;
	width: 100%;
	background-color: rgba(53,53,53,1);
	font-family: Abadi Light;
	z-index: 9;
	height: 100px;
	position: fixed;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding-top: 10px;
	padding-bottom: 10px;
	transition: background-color 0.5s ease-in-out;
}
/* Links inside the navbar */
.navbar a {
  float: left;
  font-size: 18px;
  color: white;
  text-align: center;
  padding: 10px 6px;
  text-decoration: none;
}
.logo {
	position: absolute;
	top:5px;
	left:0;
	z-index:10;
	margin-top: 25px;
	margin-bottom: 10px;
	margin-left: 50px;
	width: 170px;
/*	box-shadow: 1px 3px 5px rgba(30,30,30,0.8);*/
	transition: all 0.4s ease-in-out;
}
.logo img {
	width: 100%;
}
.shrink {
	width: 130px;
	position: fixed;
	top: 0;
	left: 0;
}
.shrink-navbar {
	height: 75px;
	background-color: rgba(35,35,35,1);
}
.fade-out {
  opacity: 0;
  pointer-events: none; /* Prevents interaction */
}
.small-logo {
  z-index: 20;
  position: fixed;
  top: 10px;
  left: 10px;
  width: 130px; /* Adjust as needed */
  opacity: 0;
  margin-top: 16px;
  margin-left: 50px;
  transition: opacity 0.3s ease-in-out;
}
.show {
  opacity: 1;
  z-index: 20;
}
.nav-links {
  list-style: none;
  display: flex;
  gap: 15px;
/*  padding-left: 15%;*/
}
.nav-links .dropdown {
	display: inline;
}
.nav-links .dropdown a {
  text-decoration: none;
/*  color: white;*/
  font-size: 18px;
}
/* Hide the menu toggle button on large screens */
.menu-toggle {
  display: none;
  font-size: 24px;
  color: white;
  cursor: pointer;
}
/* The dropdown container */
.dropdown {
  float: left;
  overflow: hidden;
}
/* Dropdown button */
.dropdown .dropbtn {
  font-size: 16px;
  border: none;
  border-radius: 1px;
  outline: none;
  color: white;
  padding: 2px 15px;
  background-color: inherit;
  font-family: inherit; /* Important for vertical align on mobile phones */
  margin: 0; /* Important for vertical align on mobile phones */
/*  background-color: transparent;*/
  transition: all 0.3s ease-in-out;
}
/* Add a red background color to navbar links on hover */
.dropdown:hover .dropbtn,
.dropdown:focus-within .dropbtn,
.dropdown:active .dropbtn {
  background-color: red;
}
/* Dropdown content (hidden by default) */
.dropdown .dropdown-content {
  visibility: hidden;
  position: absolute;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 10;
  background-color: transparent;
  transition: all 0.3s ease-in-out;
}
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content,
.dropdown:active .dropdown-content {
	visibility: visible;
	background-color: white;
}
/* Links inside the dropdown */
.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
  transition: background-color 650ms ease;
}
/* grey to white on hover of dropdown items */
.dropdown-content a:hover {
  background-color: #ddd;
}
.dropdown-content a:active {
	background-color: white;
}
.navbar .nav-links .dropdown button:first-child {
	border-left: 2px solid grey;
}	
.navbar .nav-links .dropdown button:first-child {
	border-left: 2px solid grey;
}
#mobile-h3-desc {
	display: none;
}

/* Clock Display on Nav Bar */
.clock {
	z-index: 100;
	font-family: 'Inconsolata';
	color: rgba(160,160,160,1);
	float: right;
	position: absolute;
	position: fixed;
	top: 0;
	right: 75px;
	line-height: 19px;
}
.clock #newsreel-UTC-full {
	list-style-type: none;
	font-weight: bold;
}
.clock #newsreel-time {
	list-style-type: none;
	font-weight: normal;
	padding-left: 15px;
}
.trans {
	color: rgba(0,0,0,0);
}

/**************************** BLOCK TWO *********/

.block-two-container {
	height: 100%;
	margin-top: 150px;
	margin-bottom: 0;
	position: relative;
	padding-bottom: 200px;
}
/* .block-container-2 .absolute img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5); 
} 
.image-wrapper {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
  display: inline-block;
  line-height: 0;
} */
.grid-5-col-3-row {
	display: grid;
	grid-template-areas: 
		"main-img main-img text text text"
		"main-img main-img text text text"
		"main-img main-img small-imgs small-imgs small-imgs";
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: repeat(3, 1fr);
	width: 100%;
	margin: 0 18vw;
	position: relative;
	background:rgba(255,255,255,0.8);
	padding: 80px 0;
	border-radius: 3px;
}
.grid-5-col-3-row > * {
  position: relative;
}
div .main-img  {
	grid-area: main-img;
	display: grid;
	grid-template-rows: 900px 1fr;
	align-items: start;
	justify-content: end;
	align-content: center;
}
article.text {
	grid-area: text;
}
.first-paragraph {
	margin: 0 auto;
}
div.main-img img {
	max-width: 100%;
	max-height: 300px;
}
div.small-imgs {
	display: grid;
	grid-area: small-imgs;
	grid-template-columns: repeat(4, 1fr);
	margin: 30px 100px;
  	gap: 8px;
}
div.small-imgs .small-img {
	width: 100%;
	max-width: 170px;
	border-radius: 4px;
}
div.small-portraits {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 30px 100px;
  	gap: 8px;
}
div.small-portraits .portrait {
	width: 100%;
	max-width: 170px;
	border-radius: 4px;
}
div.small-logos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
  	gap: 2px;
	border-radius: 4px;
	width: 75%;
	margin:0 auto;
	margin-bottom: 50px;
}
div.small-logos img {
	width: 100%;
	max-width: 100px;
}
.block-two-container .grid {
	background: rgb(240,240,240);
}
.block-two-container .grid .image {
	width: 30vw;
	border-radius: 2px;
	margin-left: 22vw;
}
.block-two-container .grid figcaption {
	width: 30vw;
	margin-left: 15vw;
}
article {
	font-size: 1em;
	padding: 0 50px;
}
article span {
	font-family: 'DIN Medium';
}
#services {
	display: flex;
	margin: 100px;
}
#services .service {
	flex: 31%;
	max-width: 75%;
}
#services .service .image {
  width: 100%;
}
#services .service .image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.line-one {
	background: rgb(226, 195, 124);
	background: linear-gradient(90deg,rgba(148, 137, 111, 1) 0%, rgba(168, 168, 168, 1) 23%, rgba(125, 120, 107, 1) 48%, rgba(219, 218, 215, 1) 89%, rgba(255, 255, 255, 0) 100%);
	height: 5px;
	margin-bottom: 5px;
}
.line-two {
	background: #fcfcfc;
	background: linear-gradient(90deg,rgba(252, 252, 252, 0.02) 0%, rgba(194, 172, 132, 1) 17%, rgba(128, 119, 99, 1) 43%, rgba(148, 137, 111, 1) 64%, rgba(235, 235, 235, 1) 100%);
	height: 5px;
	margin-bottom: 55px;
}

/********************************* QUOTE BLOCK ************/
.quote-block {
	height: 200px;
	background: rgb(224,224,224);
    background: linear-gradient(0deg, rgba(224,224,224,1) 0%, rgba(255,255,255,1) 100%);	
}
.quote-block h4 {
	text-align: center;
	font-family: 'Abadi Italic';
	font-size: 2.3rem;
	line-height: 3.4rem;
	width: 70%;
	margin: 0 auto;
}
.quote-block p {
	color: red;
	font-family: 'Inconsolata';
	font-size: 27px;
	text-align: center;
	margin-top: -8px;
}

/********** BLOCK ITEM #3 ***********/
.block-container-3 {
	width: 50%;
	margin: 0 auto;
	margin-top: 100px;
	margin-bottom: 220px;
}
.gallery {
    list-style: none;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    display: grid;
    grid-gap: 2px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	grid-auto-flow: dense;
	max-width: 900px;
}
.gallery > * {
	flex: 1 1 200px;
	position: relative;
	/* use this to make an in-frame zoom on hover */
/*	overflow: hidden;*/
}
.gallery img {
	position: relative;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.gallery li::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0);
	/* Initially transparent */
	transition: background-color 0.5s ease;
	/* Add a smooth transition effect */
	pointer-events: none;
			/* Allow interactions with elements beneath the overlay */
}
.gallery li:hover::before {
	z-index: 101; 
	/* scale: 1.1; */
	background-color: rgba(255, 0, 0, 0.25);
    transition: all 0.8s ease;
}
.gallery li:hover img {
	z-index: 100;
	/* scale: 1.1; */
	border: 2px solid rgba(150,150,150,1);
    transition: all 0.8s ease;
}
.landscape {
	flex: 1 1 400px;
	grid-column: auto / span 2;
}
.grid.mosaic {
	grid-template-columns: repeat(autofill, minmax(900px, 1fr));
	background-color: unset;
	margin-left: 100px;
}
.gallery-info {
	list-style-type: none;
}

/*******************************FOOTER ***********/
footer {
 	background-color: #333;
}
.footer-container {
	min-height: 200px;
	background-color: #333;
	margin: 0 auto;
}
.footer-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer-block {
	flex: 0 0 19%;
}
.footer-block .footer-logo {
	padding-top:50px;
	max-width: 100%;
}
#footer-title-main {
	font-family: 'Avenir Medium';
	font-size: 22px;
	line-height: 0;
}
.footer-title {
	font-size: 16px;
	font-family: 'Avenir Light';
	color: rgba(255,164,0,1);
}
.footer-contents {
	font-size: 14px;
	font-family: 'Avenir Light';
	color: #9b9b9b;
}
.footer-contents ul {
	list-style-type: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}
.footer-copyright-par-1 a  {
	font-size: 19px; 
	color: rgba(255,164,0,1); 
	text-decoration: none;
	font-family: 'DIN Medium';
}
.footer-copyright-par-2 {
	padding-top: 6px;
	font-size:14px; 
}
#footer-copyrights {
	background-color: rgba(25,25,25,1.00);
	min-height: 100px;
	margin: 0 auto;
}
a.color-gray {
	font-size:12px; 
	color: rgb(240,107,80);
}

/************ @media queries **************/
@media screen and (max-width: 1500px ) {
	h3.desc {
		bottom: 10%;
	}
	.header-circle {
		width: 15vw;
  		height: 15vw;
		margin-top: -10%;
	}
	section.quote-block {
		display: none;
	}
	.grid-5-col-3-row {
		grid-template-areas:
			"main-img text"
			"main-img text"
			"main-img text"
			"small-imgs small-imgs";
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(4, 1fr);
	}
	.block {
		width: 90vw;
	}
}
@media screen and (max-width: 1460px) {
	h3.desc {
		font-size: 1.9rem;		
	}
}
@media screen and (max-width: 1350px) {
	div .main-img {
		justify-content: center;
	}
}
@media screen and (max-width: 1275px) {
	.nav-links {
		display: none;
		flex-direction: column;
		position: absolute;
		top: 75px;
		left: 0;
		width: 100%;
		background-color: #333;
		padding: 25px 0;
		text-align: center;
		transition: all 0.3s ease-in-out;
		opacity: 0;
		pointer-events: none;
		min-height: 100vh;
	  }
	.nav-links.active {
		display:flex !important;
		opacity: 1;
		pointer-events: auto;
	}
  .nav-links .dropdown {
		display: block;
		text-align: center;
		padding: 10px 0;
	  }
	.dropdown-content {
		width: 100%;
	}
	
	.dropdown:hover .dropdown-content,
	.dropdown:focus-within .dropdown-content,
	.dropdown:active .dropdown-content {
		position: relative;
	}
	.dropdown-content a {
		text-align: center;
	}
  .menu-toggle {
		display: block;
		font-size: 42px;
	  	z-index: 11;
	  }
}
@media screen and (max-width: 1250px) {
	h3.desc {
		margin: auto;
		bottom: 0;
		right: 0;
    	font-size: 2.2rem;
		top: 180px;
	}
}
/* footer*/
@media (min-width: 1200px) {
  .footer-container {
    max-width: 1250px;
  }
}
@media screen and (max-width: 1150px) {
	.grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 350px;
	}
	.grid > * {
		position: absolute;
	}
	.grid .image {
		display: none;
	}
	.mobile-pic-fix {
		display: block;
	}
	.circle-container {
		top: 35%;
		display: contents;
	}
}
@media screen and (max-width: 1050px) {
	.small-logo {
		width: 100px;
		left: 0;
	}
}
@media screen and (max-width: 1000px) {
	.block-container-3 {
		width: 95%;
	}
	.mosaic {
		margin-left: 0;
	}
	.grid-5-col-3-row {
		grid-template-areas:
			"main-img"
			"text"
			"small-imgs";
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: 1000px repeat(2, 1fr);
	}
	div.small-imgs {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 1fr);
		margin: 0 15px;
	}
	.gallery {
		padding-left: 0;
	}
	div.small-imgs .small-img {
		max-width: 40vw;
	}
}

@media screen and (max-width: 950px) {
	#cta-grid {
		min-height: 580px;
	}
	h3.desc {
		bottom: -10%;
	}
	.header-circle {
		width: 25vw;
  		height: 25vw;
		margin-top:0;
	}
	nav div .logo {
		position: fixed;
		z-index: 10;
		width: 170px;
		margin: auto;
		text-align: center;
		left: 0;
		right: 0;
	}
	.logo-container,
	.logo-alt-container{
		width: 100%;
	}
	.clock {
		top: 0;
		right: 25px;
		left: 0;
  	}
	#menu-toggle span {
		position: absolute;
		right: 50px;
		transition: color 500ms ease;
	}
	#menu-toggle span:hover {
		color:red;
	}
	.small-logo {
		left: 0;
		position: fixed;
		margin: 0 auto;
		right: 0;
		top: 25px;
	}
	.float-text-box img {
		float: none;
		position: relative;
	}
	.float-text-box p {
		margin: 0;
	}
	.flex-item-thirds {
		flex: 1 0 100px;
	}
}
@media screen and (max-width: 900px) {
	div.small-portraits {
		margin-left: 0;
		margin-right: 0;
	}
}
@media screen and (max-width: 850px) {
	.footer-block {
		flex: 0 0 49%;
		padding-left: 50px;
	}
	
	.grid-5-col-3-row {
		display: block;
	}
}
@media screen and (max-width: 650px) {
	#mobile-h3-desc {
		display: inline;
	} 
	div h3.desc {
		display: none;
	}
	 .block {
		width: 92vw;
	 }
}
@media screen and (max-width: 600px) {
	.clock {
		top: 0px;
		left: -20px;
		font-size: 14px;
	}
	nav div .logo {
		width: 140px;
	}
	div.small-imgs {
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: repeat(4, 1fr);
	}
		div.small-imgs .small-img {
		max-width: 100vw;
	}
}
@media screen and (max-width: 500px) {
	h3.desc {
		font-size: 1.8rem;
		line-height: 2.3rem;
		bottom: 5%;
	}
	.header-circle {
		width: 60vw;
  		height: 60vw;
	}
	nav div .logo {
		top: 42px;
	}
}
@media screen and (max-width: 420px) {
	h3.desc {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 350px) {
	nav div .logo {
		width: 200px;
	}
	#mobile-h3-desc {
		display: none;
	}
	.circle-container {
		height: 300px;
	}
}