@charset "utf-8";
/* CSS Document */

@keyframes opacity-loop {
	0%   { opacity: .3; }
	100% { opacity: 1; }
}

@media all {

	#index-1 {
		background: linear-gradient(0deg,rgba(255,255,255,0.8), rgba(255,255,255,0.8)), url(img/index-1-bg.jpg);
		background-position: top;
		background-size: cover;
		width: 100%;
		height: 100vh;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		position: relative;
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
	}

	#main-logo {
		width: 225px;
		height: 100px;
		margin: auto;
		margin-bottom: 25px;

		*-webkit-filter: drop-shadow(0px 0px 10px #7f7f7f);
		*filter: drop-shadow(0px 0px 10px #7f7f7f);
	}

	#arrow-bottom {
		background-image: url(img/icon/icon-bottom.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		width: 4em;
		height: 4em;
		position: absolute;
		*align-self: flex-end;
		margin: auto;
		left: 0px;
		right: 0px;
		bottom: 0px;
		top: auto;
		animation: opacity-loop 1s infinite;
		animation-direction: alternate-reverse;
	}

	#index-2 {
		height: 583px;
		width: 100%;
		background-image: url(img/index_scr_2_patt.jpg);
		background-repeat: repeat-x;
		background-position: top;
	}

	#index-2-container {
		width: 970px;
		height: 583px;
		margin: 0px auto;
		display: flex;
		justify-content: space-between;
	}

	#index-2-center {
		background-image: url(img/index_scr_2_photo.png);
		background-repeat: no-repeat;
		background-position: center;
		*width: 338px;
		width: 34%;
		height: 583px;
		flex-shrink: 0;
	}

	#index-2-left {
		*width: 338px;
		width: 33%;
		position: relative;
	}

	#index-2-right {
		*width: 294px;
		width: 33%;
		position: relative;
		text-align: center;
	}

	em {
		width: 100%;
		text-align: center;
	}
	
	.short-info {
		position: relative;
		margin: 20px 10px auto 10px;
		background-color: white;
		padding: 20px 15px 30px 15px;
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
		font-size: 12px;
		height: 400px;
	}

	.short-info h3 {
		color: #4a3780;
		margin: 0px auto;
	}

	.short-info ul {
		margin-left: 1em;
	}

	.program-button {
		margin: 2px 0px;
		text-align: center;
		background-color: burlywood;
		background-size: cover;
		background-position-y: 30%;
		background-repeat: no-repeat;
	}

	.program-button p {
		background-color: rgba(255,255,255,0.85);
		padding: 1em;
		transition: all 0.3s;
	}

	.program-button p:hover {
		background-color: rgba(0,0,0,0.4);
		transition: all 0.3s;
		color: white;
	}

	a {
		text-decoration: none;
		color: black;
	}

	.figures {
		display: flex;
		align-items: center;
		justify-content: space-around;
		width: 100%;
		bottom: 0px;
		position: absolute;
	}

	.figures img {
		transform: scale(0.6);	
	}

	hr {
		color: #f58b66;
		background-color: #f58b66;
		border: 0px none;
		height: 4px;
		clear: both;
	}

	.arrow-l-dark, .arrow-r-dark {
		width: 4em;
		background-repeat: no-repeat;
		background-size: 40px;
		background-position: center;
		background-size: 4em 4em;
		opacity: 0.2;
		transition: all 0.3s;
		flex-shrink: 0;
		align-self: stretch;
		z-index: 20;
		background-color: #FFFFFF;
	}

	.arrow-l-dark {
		background-image: url(img/icon/icon_left_dark.png);
	}

	.arrow-r-dark {
		background-image: url(img/icon/icon_right_dark.png);
	}

	.arrow-l-dark:hover, .arrow-r-dark:hover {
		opacity: 0.7;
		transition: all 0.3s;
	}

	.container-inner {
		display: flex;
		align-items: flex-start;
		position: absolute;
	}

	.certs-container {
	/*	overflow: hidden;*/
		position: relative;
		height: 150px;
		width: 100%;
	}

	.certs-gallery {
		display: flex;
		overflow: hidden;
	}

	.cert {
		width: 130px;
		height: 130px;
		flex-shrink: 0;
		flex-grow: 0;
		padding: 5px;
		display: flex;
		align-items: center;
		border: thin solid rgba(185,185,185,0.00);
		transition: all 0.3s;
		margin: 5px;
		border-radius: 3px;
	}

	.cert img {
		flex-shrink: 0;
		margin: auto;
	}

	.cert:hover {
		border: thin solid rgba(185,185,185,1.00);
		transition: all 0.3s;
		background-color: rgba(255,255,255,0.7);
	}

	.logo-container {
		*overflow: hidden;
		position: relative;
		height: 140px;
		width: 100%;
	}

	.logo-gallery {
		display: flex;
		background-color: rgba(255,255,255,0.6);
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
		margin-top: 100px;
		margin-bottom: 100px;
		overflow: hidden;
	}

	.logo {
		*width: 160px;
		height: 120px;
		flex-shrink: 0;
		flex-grow: 0;
		padding: 5px;
		display: flex;
		align-items: center;
		border: thin solid rgba(185,185,185,0.00);
		transition: all 0.3s;
		margin: 5px 20px;
		border-radius: 3px;
	}

	.logo img {
		height: 100%;
		flex-shrink: 0;
		margin: auto;
	}

	 .logo:hover {
	/*	border: thin solid rgba(185,185,185,1.00);*/
		transition: all 0.3s;
		background-color: rgba(255,255,255,0.7);
	} 

	.review-container {
		overflow: hidden;
		position: relative;
		height: 400px;
		width: 100%;	
	}

	.review-gallery {
		display: flex;
		align-items: flex-start;
		background-color: rgba(255,255,255,1.0);
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
		width: 900px;
		margin: 0px auto;
		margin-top: 50px;
		position: relative;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.review-one-sized {
		width: 380px;
		height: 380px;
		margin: 10px;
		display: flex;
		transition: all 0.3s;
		flex-shrink: 0;
	}

	div::-webkit-scrollbar {
		width: 0.3em;
	}

	div::-webkit-scrollbar-track {
		-webkit-box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
		box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
	}

	div::-webkit-scrollbar-thumb {
	  background-color: rgba(0,0,0,0.2);
	  outline: 1px solid slategrey;
	}

	.photo-gallery {
		width: 90%;
		display: flex;
		background-color: #252525;
		box-shadow: inset 0 0 20px rgba(0,0,0,0.3);
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
		position: relative;
	}

	.arrow-l-light, .arrow-r-light {
		width: 4em;
		background-repeat: no-repeat;
		background-size: 40px;
		background-position: center;
		background-size: 4em 4em;
		opacity: 0.5;
		transition: all 0.3s;
		flex-shrink: 0;
		align-self: stretch;
		z-index: 20;
		background-color: #252525;
	}

	.arrow-l-light {
		background-image: url(img/icon/icon_left.png);
	} 

	.arrow-r-light {
		background-image: url(img/icon/icon_right.png);
	}

	.arrow-l-light:hover, .arrow-r-light:hover {
		opacity: 0.8;
		transition: all 0.3s;
	}

	.photo-container {
		position: relative;
		height: 300px;
		width: 100%;
	}

	.container-inner-center {
		display: flex;
		align-items: flex-start;
	}

	.photo {
		height: 280px;
		flex-shrink: 0;
		flex-grow: 0;
		padding: 5px;
		display: flex;
		align-items: center;
		border: thin solid rgba(185,185,185,0.00);
		transition: all 0.3s;
		margin: 5px;
		border-radius: 3px;
	}

	.photo:hover {
		border: thin solid rgba(185,185,185,1.00);
		transition: all 0.3s;
	}

	.cert img {
		flex-shrink: 0;
		margin: auto;
	}

	#index-bg-bottom {
		background-image: url(img/index_bg_last.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top;
		padding-top: 100px;
	}


	/*review.css*/

	#reviews-all {
		width: 900px;
		margin-top: 50px;
		margin-bottom: 50px;
		margin-left: auto;
		margin-right: auto;
	}

	.review-video-all {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	.review-video-one {
		margin: 20px 10px;
		width: 250px;
	}
	
	video {
		width: 250px;
	}

	.pr-link a {
		text-decoration: none;
		color: #003276;
	}

	.review-text-all {
		background-color: white;
		box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
		margin: 50px 0px;
	}

	.review-one {
		display: flex;
		padding-top: 20px;
		padding-right: 20px;
		padding-bottom: 30px;
		padding-left: 20px;
	}

	.review-avatar {
		width: 50px;
		flex-shrink: 0;
		align-self: flex-start;
		border-radius: 3px;
	}

	.review-client-logo {
		height: 50px;
	}

	.review-inner {
		width: 100%;
		padding: 10px;
		overflow-x: hidden;
		overflow-y: auto;

	}

	.pr-link-pad {
		padding: 10px 0px;
		font-style: italic;
	}

	.review-head {
		display: flex;
	}

	.review-head-text {
		width: 100%;
	}

	.review-text {
		text-align: justify;
	}
	
	#program-photo-container {
		width: 900px;
		margin: 0px auto;
		background-color: #252525;
		box-shadow: inset 0px 0px 20px 1px black;
		height: 250px;
		padding: 20px 1px;
		position: relative;
		margin-top: 50px;
	}

	#program-photo {
		width: 100%;
		height: 100%;
		overflow-y: scroll;
		overflow-x: hidden;

		justify-content: center;
		align-content: center;
		text-align: center;
	}
	
	h2.section {
		width: 900px;
		margin: auto;
		margin-top: 70px;
		font-weight: normal;
		text-transform: uppercase;
	}
}

@media all and (max-width: 1023px) {
	
	#program-photo-container {
		width: 90%;
		margin: 0px auto;
		background-color: #252525;
		box-shadow: inset 0px 0px 20px 1px black;
		height: 500px;
		padding: 20px 1px;
		position: relative;
		margin-top: 50px;
	}
	
	#reviews-all {
		width: 90%;
	}
	
	.review-container {
		overflow: hidden;
		position: relative;
		height: 80vh;
		width: 100%;	
	}
	
	.review-one-sized {
		width: calc(100vw - 8em - 10px);
		height: calc(80vh - 10px - 5vh);
		margin-bottom: 5vh;
	}
	
	.review-video-one {
		width: 100%;
	}
	
	.review-avatar {
		display: none;
	}
	
	video {
		width: 100%;
	}
	
	.review-one, .review-video-one {
		font-size: 0.9em;
	}
	
	.pr-link-pad {
		padding: 1em 0px;
	}
	
	h2.section {
		text-align: center;
		width: auto;
	}
	
	#main-logo {
		width: 450px;
		height: 200px;
	}

	#index-1 div p {
		width: 60%;
		margin: 1em auto auto auto;
	}
	
	#index-2 {
		height: auto;
		background-image: url(img/index_scr_2_patt.jpg);
		background-repeat: repeat;
		background-position: top;
		
	}
	
	#index-2-container {
		width: auto;
		height: auto;
		flex-direction: column;
		justify-content: center;
	}
	
	#index-2-center {
		*background-image: url(img/index_scr_2_photo.png);
		*background-repeat: no-repeat;
		*background-position: center;
		*width: 338px;
		width: 100%;
		*height: 583px;
		flex-shrink: 0;
		margin: auto;
	}

	#index-2-left {
		*width: 338px;
		margin: auto;
		width: 100%;
		*position: relative;
	}
	
	#index-2-left .short-info {
		padding: 1em;
	}
	
	#index-2-right {
		*width: 294px;
		*width: 33%;
		margin: auto;
		width: 100%;
		*position: relative;
	}
	
	.figures {
		display: none;
	}
	
	.short-info {
		font-size: 1em;
		margin: auto;
		margin-bottom: 2em;
		padding-left: 0px;
		padding-right: 0px;
		height: auto;
	}
	
	.certs-container {
		height: calc(10em + 20px);
	}
	
	.cert {
		width: 10em;
		height: 10em;
	}
	
	.logo-container {
		height: calc(7em + 20px);
	}

	.logo {
		*width: 10em;
		*height: 7em;
		
		height: 7em;
	}
	
	.photo-gallery {
		width: 100%;
	}
	
	.review-gallery {
		width: 100%;
		margin: 0px auto;
		margin-top: 50px;
		position: relative;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}