:root {
	--white: #fff;
	--light-gray: #f6f6f6;			
	--blue: #124f68;
	--purple: #3f1d74;
	--orange: #d45d48;
	--green: #2f7101;
	--yellow: #fffbcb;
}

/*********/
/* COLOR */
/*********/

.white-bg { background-color:var(--white); }
.gray-bg { background-color:var(--light-gray); }

.gray { color: #5c5959; }

.perspectives-blue {
	color:var(--blue);
}

.perspectives-purple {
	color:var(--purple);
}

.perspectives-orange {
	color:var(--orange);
}

.perspectives-green {
	color:var(--green);
}

.perspectives-yellow {
	color:var(--yellow);
}

/***********/
/* GENERAL */
/***********/

.about-section-line {
	width: 100px;
	height:10px;
	background-color: #a0d992;
	overflow: hidden;			
	margin:0 0 0.5em 0;			
}

.about-section-line-grid {
	display:grid;
	width: 100px;
	height:12.5px;								
	grid-template-columns: 12.5px auto;
	column-gap: 5px; 
	row-gap: 0; 							
	background-color:transparent;
	overflow: hidden;			
	margin:0 0 0.5em 0;										
}

.fa-ul {
	margin-left:2em;
}

ul {
	padding: 1em 0.5em 0 0;
}

.two-column {
	column-count: 1;
	column-width: auto;
	column-gap: 0;		
}

.text-shadow {
	text-shadow:1px 1px 2px rgb(0 0 0);
}

.bounce {
  animation: bounce_7424 4.6s ease infinite;
  transform-origin: 50% 50%;
  animation-delay: 3s;
}

@keyframes bounce_7424 {
  0% { transform:translateY(0) }
  4.34783% { transform:translateY(0) }
  8.69565% { transform:translateY(0) }
  17.3913% { transform:translateY(-15px) }
  21.73913% { transform:translateY(0) }
  26.08696% { transform:translateY(-15px) }
  34.78261% { transform:translateY(0) }
  100% { transform:translateY(0) }
}		

.chevron-container {
	background-color:#fff;
	width:80px;
	height:80px;
	border-radius:50%;
	margin:0 auto;
	z-index:999;
	position: absolute;
	top:0;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*.justify { justify-self:center; }*/
.align { align-self:center; }

.action-button {
	min-width:200px;
	text-align:center;
	text-decoration:none;
	font-size:1.25rem;
	margin-top:4rem;
	font-weight:600;
	letter-spacing:-1px;					
}

	.action-button .pill-button-inner {
		font-weight:800;
		justify-content:center;
		align-items: center;
		text-align: center;
	}


/*************/
/* VIDEO HERO*/
/*************/

.video-hero-section {
	max-width:100%;
	height:85vh;
	margin-bottom:2em;
}

	.video-hero {
		height:100%;
		width:100%;
		display:flex;
		justify-content:center;
		align-items: center;
		text-align: center;
		position:relative;
	}
	
		.video-hero-content {
			position: absolute;
			top: 75px;
			z-index:2;
		}
		
			.video-hero-logo {
				max-width:85%;
				margin:0 auto;
			}
			
			.video-hero-content hr {
				width:65%;
				color:#fff;
				margin:0 auto 1rem auto;
			}
						
			.video-hero-content h1 {
				color:#fff;
				font-weight:800;
				font-size:3em;
				letter-spacing:-3px;						
				line-height:1.2;
				text-transform:uppercase;
			}
			
				.video-hero-content h1 span {
					font-size:5.8em;
				}
			
			.video-hero-content h2 {
				color:#fff;
				font-weight:800;
				font-size:1.5em;
				letter-spacing:-1px;
				line-height:1.2;						
			}
								
			.video-hero-link-container { margin-top:0.5em; }
			
				.video-hero-link { 
					color:#fff !important;
					font-weight:600;
					text-decoration:underline;							
				}
			
			.video-hero-overlay {
				width:100%;
				height:100%;
				position:absolute;
				top:0;
				left:0;
				z-index:1;
				/*background:repeating-linear-gradient(transparent, transparent 1px, transparent 2px, rgba(0,0,0,0.25) 3px);*/
				background:rgba(0,0,0,0.19);
			}
			
			video.video-hero-background {
				width: 100%;
				height: 100%;
				position: absolute;
				top:0;
				left:0;
				object-fit: cover;
				z-index: -1;
			}		

/*********/
/* GRIDS */
/*********/

.single-grid {
	display:grid;
	grid-template-columns: 100%;
	column-gap: 0; 
	row-gap: 0; 
	max-width:100%;
	margin:1em 0;
}

	.single-grid-cell {
		width:100%;				
		text-align:center;
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
		position:relative;	
		display:flex;
		justify-content:center;				
	}
	
		.single-grid-cell-content {
			width:90%;
			padding:2em 0;
		}

			.single-grid-cell h1 {					
				font-size: 2em;
				line-height: 1.25;	
				font-weight: 800;						
				letter-spacing: -2px;						
			}

			.single-grid-cell h2 {						
				font-size: 1.5em;
				font-weight:600;
				letter-spacing:-1px;					
				text-align: center;
				line-height: 1.25;
				margin:0 auto;					
			}
		
			.single-grid-cell h3 {						
				font-size: 2em;					
				text-align: center;
				line-height: 1.75;
				margin:0 auto;
			}
			
			.underline-image {
				width:50%;
				margin-top:2em;
			}						



.unequal-grid {
	display:grid;				
	column-gap: 0; 
	row-gap: 0; 
	max-width:100%;
}

.image-text-grid { grid-template-columns: 100%;  }
.text-image-grid { grid-template-columns: 100%;  }			

		.unequal-grid-image-cell {
			min-height:45vh;
			background-size:cover;
			background-position:right;
			background-repeat:no-repeat;						
		}			

		.unequal-grid-text-cell {	
			padding:2em;
		}			
		
			.unequal-grid-text-cell h1, .equal-grid-text-cell h1 {
				font-size: 2.5em;
				line-height: 1;	
				font-weight: 800;
				margin: 0 0 0.25em 0;
				letter-spacing: -3px;					
			}

			.unequal-grid-text-cell h2, .equal-grid-text-cell h2, .modal h2 {
				font-size: 1.75em;
				line-height: 1.1;
				font-weight: 600;						
				letter-spacing: -1px;					
			}
		
			.unequal-grid-text-cell p {
				font-size: 1.25em;
				line-height:1.6;
			}

			.unequal-grid-text-cell p.cta-paragraph {
				font-size: 1.5em;
				line-height:1.33;
			}
				.unequal-grid-text-cell p.cta-paragraph a:link {
					white-space:nowrap;
				}
			
			.unequal-grid-text-cell li {
				font-size: 1.25em;
				line-height: 1.33 !important;
				padding-bottom: 1em !important;
				-webkit-column-break-inside: avoid;	
			}
			
			.unequal-grid-text-cell .tight-list li {
				font-size:1.25em !important;
				line-height:1.33 !important;
			}
			
				.unequal-grid-text-cell .tight-list li .fa-li {
					margin-top:0;
				}

				.unequal-grid-text-cell .tight-list li a {
					font-weight:600;
				}


.equal-grid {
	display:grid;
	grid-template-columns: 100%;
	column-gap: 0; 
	row-gap: 0; 
	max-width:100%;				
}

.triple-grid {
	display:grid;
	grid-template-columns: 100%;
	column-gap: 2em; 
	row-gap: 0; 
	max-width:100%;				
}

.quad-grid-container {
	border-left:1rem solid transparent;
	border-right:1rem solid transparent;
	border-top:1rem solid transparent;
	background-position:center;
}

	.quad-grid {
		display:grid;
		grid-template-columns: 50% auto;
		grid-template-rows: 1fr 1fr;
		column-gap: 1em;
		row-gap: 1em;
		max-width:100%;
		width:100%;
		height:100%;		
	}

		.quad-grid-cell {
			background-size:cover;
			background-position:center;
		}


.grid-button-grid { 
	display:inline-grid;
	width:auto;
}

.flip-grid-on-mobile .unequal-grid-text-cell {
	grid-column-start: 1;
	grid-column-end: 3;	
	grid-row-start: 2;
	grid-row-end: 3;		
}

.flip-grid-on-mobile .unequal-grid-image-cell {
	grid-column-start: 1;
	grid-column-end: 3;	
	grid-row-start: 1;
	grid-row-end: 2;				
}	

.text-cell-link-flexbox {
	display:flex;
	margin-top:1em;
}

	.text-cell-link-flexbox-cell {
		flex-basis: content;
	}
	
		.text-cell-link-flexbox-cell .fas {
			margin-right:0.5em;
		}
		
		.text-cell-link-flexbox-cell p {
			line-height:1.33;
		}

		.text-cell-link-flexbox-cell a:link {
			font-weight:600;
		}

.standard-modal {
	text-align:left;
	max-width:500px !important;
}

	.modal-header {
		width:100%;
		padding:0.5em;
		background-color:#000;
		border-top-left-radius:0.5em;
		border-top-right-radius:0.5em;
		color:#ccc;
		font-size:0.85em;
		font-weight:600;
	}

	.modal p {
		font-size:1.1em;
		line-height:1.6;
		padding:0.33em 0;
	}
	
	.modal-footer {
		text-align:center;
	}		

/************/
/* CAROUSEL */
/************/

.carousel-tier-container { width:100%; /*background-image:url(/assets-2020/images/body-background-white.jpg);background-size:250%;*/ }
	.carousel-tier { padding:1em 0 3.5em 0; background: linear-gradient(rgba(255,255,255,0) 0 30%,#f6f6f6 30% 100%); }
		.carousel-tier .view-width { width:95%;text-align:center; }
			
/****************/
/* CONTACT FORM */
/****************/

.contact-tier { padding:2em 5%;background:#f5f5f5;min-height:300px; }

	.contact-table-container { padding:0; }
	
		.contact-cell-left {  }									
		.contact-cell-right { padding:2em 1em 4em 1em;background:#f6f6f6;border-radius:0.5em; }				
		
			.contact-cell-right p { font-size:1.1em; line-height:1.5; }
		
			.contact-cell-left p { font-size:1.25em;margin:1em 0;line-height:1.75; }			
			.contact-cell-left p:first-of-type { margin:0 0 1em 0; }
			
			.contact-logo { width:95%; margin:2em 0; }		

			#first-name { margin-bottom:0.5em; }					

			.alert-message { display:none; width:auto; padding:0.5em 1em; margin:0; background:#cf5f6e; color:#fff; border-radius:0.25em;text-align:center;font-size:0.9em;font-weight:700; cursor:pointer;  text-decoration:none; margin-bottom:0.5em; }	
			.sent-message { display:none; width:auto; padding:0.5em 1em; margin:0; background:#708550; color:#fff; border-radius:0.25em;text-align:center;font-size:0.9em;font-weight:700; cursor:pointer;  text-decoration:none; }			

.map-responsive {
	overflow: hidden;
	padding-bottom: 60%;
	position: relative;
	height: 0;	
	margin:0em;				
}
		
.required { color:#cc0000 !important; font-size:1em; font-weight:400; }

/************/
/* SECTIONS */
/************/

.white-section { background-color:var(--white); padding:0 0 2em 0; }
.gray-section { background-color:var(--light-gray); padding:0 0 2em 0; }
.blue-section { background-color:#124f68; color:var(--white); padding:2em 0 1em 0; position:relative; margin-bottom:1em; }
.contact-section {
	padding:4em 2em;
}
.breadcrumb-section {
	padding-top:1rem !important;
	padding-bottom:1rem !important;
	border-bottom:1px solid rgba(0,0,0,0.07);
	background-image:url(https://www.perspectivescorporation.com/assets-2020/images/body-background-white.jpg);
	background-size:cover;
	background-position:top center;
}


@media all and (min-width: 1024px) { 				

	/***********/
	/* GENERAL */
	/***********/

	ul {		
		padding: 1em 1.;			
	}

	.two-column {
		column-count: 2;
		column-width: auto;
		column-gap: 4em;		
	}
	
	.chevron-container {
		background-color:#fff;
		width:100px;
		height:100px;
		border-radius:50%;
		margin:0 auto;
		z-index:999;
		position: absolute;
		top:0;
		left: 50%;
		transform: translate(-50%, -50%);
	}			
				
	/*************/
	/* VIDEO HERO*/
	/*************/
		
	.video-hero-section {
		max-width:100%;
		height:85vh;
		margin-bottom:0;
	}
	
		.video-hero {
			height:100%;
			width:100%;
			display:flex;
			justify-content:center;
			align-items: center;
			text-align: center;
			position:relative;
		}
		
			.video-hero-content {
				position: absolute;
				top: 50px;
				z-index:2;
			}
			
				.video-hero-logo {
					max-width:65%;
					margin:0 auto;
				}
								
				.video-hero-content h1 {
					color:#fff;
					font-weight:800;
					font-size:5em;
					letter-spacing:-3px;							
					line-height:1.2;
					text-transform:uppercase;
				}
				
					.video-hero-content h1 span {
						font-size:5em;
					}
											
				.video-hero-content h2 {
					color:#fff;
					font-weight:800;
					font-size:2em;
					letter-spacing:-1px;
					line-height:1.2;							
				}
				
				.video-hero-overlay {
					width:100%;
					height:100%;
					position:absolute;
					top:0;
					left:0;
					z-index:1;
					/*background:repeating-linear-gradient(transparent, transparent 1px, transparent 2px, rgba(0,0,0,0.25) 3px);*/
				}
				
				video.video-hero-background {
					width: 100%;
					height: 100%;
					position: absolute;
					top:0;
					left:0;
					object-fit: cover;
					z-index: -1;
				}				
		
	/*********/
	/* GRIDS */
	/*********/
						
	.single-grid {
		display:grid;
		grid-template-columns: 100%;
		column-gap: 0; 
		row-gap: 0; 
		max-width:100%;
		margin:0;
	}
	
		.single-grid-cell {		
			width:100%;					
			text-align:center;
			background-size:cover;
			background-position:center;
			background-repeat:no-repeat;
			display:flex;
			justify-content:center;									
		}
		
			.single-grid-cell-content {
				width:65%;
				padding:2em 0;
			}
		
				.single-grid-cell h1 {						
					font-size: 3em;
					line-height: 1.25;	
					font-weight: 800;							
					letter-spacing: -3px;					
				}

				.single-grid-cell h2 {						
					font-size: 2em;
					font-weight:600;
					letter-spacing:-1px;						
					text-align: center;
					line-height: 1.5;
					margin:0 auto;
				}
			
				.single-grid-cell h3 {						
					font-size: 2em;						
					text-align: center;
					line-height: 1.75;
					margin:0 auto;
				}		
				
				.underline-image {
					width:auto;
				}						

	.unequal-grid {
		display:grid;				
		column-gap: 1em; 
		row-gap: 1em; 
		max-width:100%;
	}			
	
	.image-text-grid { grid-template-columns: 1fr 55%;  }
	.text-image-grid { grid-template-columns: 55% 1fr;  }

		.unequal-grid-image-cell {	
			min-height:75vh;
			background-size:cover;
			background-position:right;
			background-repeat:no-repeat;					
		}			

		.unequal-grid-text-cell {
			padding:1em 4em;
		}			
		
			.unequal-grid-text-cell h1, .equal-grid-text-cell h1 {
				font-size: 3em;
				line-height: 1;	
				font-weight: 800;
				margin: 0;
				letter-spacing: -3px;					
			}
			
			.unequal-grid-text-cell h2, .equal-grid-text-cell h2, .modal h2 {							
				font-size: 2em;
				line-height: 1.1;
				font-weight: 600;						
				letter-spacing: -1px;					
			}
			
						
			.unequal-grid-text-cell p {
				font-size: 1.5em;
				line-height:1.6;
			}
			
			.unequal-grid-text-cell li {
				font-size: 1.5em;
				line-height: 1.33 !important;
				padding-bottom: 1em !important;
				-webkit-column-break-inside: avoid;							
			}
			
			.unequal-grid-text-cell .tight-list li {
				font-size:1.25em !important;
				line-height:1.33 !important;
			}					
			
				.unequal-grid-text-cell .tight-list li .fa-li {
					margin-top:0;
				}			
			
	.equal-grid {
		display:grid;
		grid-template-columns: 50% auto;
		column-gap: 4em; 
		row-gap: 1em; 
		max-width:100%;				
	}	

	.triple-grid {
		display:grid;
		grid-template-columns: 33.33% 33.33% auto;
		column-gap: 2em; 
		row-gap: 1em; 
		max-width:100%;				
	}
	
	.quad-grid-container {
		border-left:1rem solid #f6f6f6;
		border-right:none;
		border-top:none;
	}
	
			
	.flip-grid-on-mobile .unequal-grid-text-cell {
		grid-column-start: 1;
		grid-column-end: 2;	
		grid-row-start: 1;
		grid-row-end: 2;		
	}

	.flip-grid-on-mobile .unequal-grid-image-cell {
		grid-column-start: 2;
		grid-column-end: 3;	
		grid-row-start: 1;
		grid-row-end: 2;						
	}
	
	.text-cell-link-flexbox {
		display:flex;
		margin-top:1.5em;
	}			
	
	/****************/
	/* CONTACT FORM */
	/****************/
				
	.contact-table-container { padding:0; }

		.contact-cell-left { background:transparent;width:100%;padding:0; }
		.contact-cell-right { background:transparent;padding:1em 4em; }

			.contact-cell-left p { font-size:1.25em;margin:1em 0;line-height:1.75; }					
			.contact-cell-left p:first-of-type { margin:1em 0; }		

				.contact-logo { width:75%; margin:0 0 2em 0; }			

				#first-name { margin-bottom:0; }					
				
	.map-responsive {
		overflow: hidden;
		padding-bottom: 20%;
		position: relative;
		height: 0;	
		margin:2em 2em 0 2em;
		
	}	
	
	/************/
	/* SECTIONS */
	/************/

	.white-section { background-color:var(--white); padding:2em 0; }
	.gray-section { background-color:var(--light-gray); padding:2em 0; }
	.blue-section { background-color:#124f68; color:#fff; padding:4em 0 4em 0; margin:0 auto 0 auto; }				
	.contact-section {
		padding:4em 8em;
	}
							
}		

/* TABLET? */

/*@media (-webkit-device-pixel-ratio: 1) {*/
/*@media all and (min-width: 641px) {*/
/* Portrait */

@media (-webkit-device-pixel-ratio: 1) {
		
	@media all and (min-width: 1024px) {


	/***********/
	/* GENERAL */
	/***********/

	/*.standard-margin { padding-left:8%; padding-right:8%; }*/
	
	/*************/
	/* VIDEO HERO*/
	/*************/
				
	.video-hero-content {
		position: absolute;
		top: 100px;
		z-index:2;
	}				

				
		.video-hero-content h1 {
			color:#fff;
			font-weight:800;
			font-size:4.5em;
			letter-spacing:-3px;				
			line-height:1.2;
			text-transform:uppercase;
		}
		
			.video-hero-content h1 span {
				font-size:9em;
				display:block;
			}
		
		.video-hero-content h2 {
			color:#fff;
			font-weight:800;
			font-size:2.5em;
			letter-spacing:-1px;
			line-height:1.2;				
			width:85%;
			margin:0 auto;
		}		


		/* GRID */

		.single-grid-cell-content {
			width:75%;
			padding:2em 0;
		}		
		
		.unequal-grid-text-cell {
			padding:1em 8em;
		}
		
	}
	
}	


@media all and (max-width: 1366px ) and (-webkit-min-device-pixel-ratio: 1) {
	body {
		font-size:80%;
	}
}

@media all and (max-width: 1360px ) and (-webkit-min-device-pixel-ratio: 1) {
	body {
		font-size:80%;
	}
}

@media all and (max-width: 480px ) and (-webkit-min-device-pixel-ratio: 1) {
	body {
		font-size:100%;
	}
}
