/* 	
#######################################
	Main Classes
#######################################
*/

* {
	padding:0;
	margin:0;
	text-decoration:none;
	font-family: 'Montserrat', sans-serif;
	font-weight:300;
	box-sizing:border-box;
}

body {
	overflow: scroll;
}

a {
	display:inline-block;
	transition:all 0.2s;
	cursor:pointer;
}

.grow {
	flex-grow:1;
}

.around {
	justify-content:space-around;
}

.col {
  	flex-direction:column;
}

.center {
	align-items: center;
  	justify-content: center;
}

.flex {
	display:flex;
}

.start {
	justify-content:flex-start;
}

.end {
	display:flex;
	justify-content:flex-end;
}

.between {
	justify-content:space-between;
}

.boxbox {
	width:1200px;
}

@media only screen and (max-width: 1300px) {
	.boxbox {
		width:94%;
		margin:0 3%;
	}
}

.pad {
	padding:50px;
}

.halfpad {
	padding:75px 150px;
}

.sidepad {
	padding-left:50px;
	padding-right:50px;
}

@media only screen and (max-width: 700px) {
	.sidepad {
		padding:0 3%;
	}
}

.hipad {
	padding-top:100px;
	padding-bottom:100px;
}

@media only screen and (max-width: 700px) {
	.hipad {
		padding-top:50px;
		padding-bottom:50px;
	}
}


.half {
	width:47%;
}

@media only screen and (max-width: 700px) {
	.half {
		width:100%;
	}
}


.full {
	width:100%;
}

.white {
	background-color:#fff;
}

.gray {
	background-color:#f1f1f1;
}

.anim {
	transition:all 1s !important;
}

/* 	
#######################################
	Content [Module]
#######################################
*/

	#content {
		color:#333333;
	}

	@media only screen and (max-width: 700px) {
		#content {
			text-align:center;
		}
	}

	.content-spacer {
		background-color:#da4323;
		height:10px;
		width:100px;
		margin-bottom:30px;
	}

	@media only screen and (max-width: 700px) {
		.content-spacer {
			margin-left:auto;
			margin-right:auto;
		}
	}

	#content h3 {
		font-size:48px;
		font-weight:400;
		margin-bottom:30px;
		text-transform:uppercase;
	}

	@media only screen and (max-width: 700px) {
		#content h3 {
			font-size:32px;
		}
	}

	#content p {
		font-size:18px;
	}

	@media only screen and (max-width: 700px) {
		#content p {
			font-size:24px;
		}
	}

/* 	
#######################################
	Main Top [Module]
#######################################
*/

	.main-wrap {
		position:relative;
		height:100vh;
	}

	#main-top {
		background-image:url('images/big-bg.jpg');
		background-size:cover;
		background-position:bottom;
		height:100vh;
		overflow:hidden;
	}

	#main-top h5 {
		color:#df5b24;
		font-size:22px;
		font-style:italic;
		font-weight:600;
	}

	#main-top h4 {
		color:#fff;
		font-size:52px;
		max-width:90%;
		text-transform:uppercase;
	}

	#main-top p {
		font-size:22px;
		color:#fff;
		max-width:70%;
		margin:10px 0 20px 0;
	}

	#main-top .news-slider a, .footer-sub input[type=submit], .news-bottom {
		padding:15px 20px;
		font-size:18px;
		font-weight:bold;
		color:#fff;
		text-transform:uppercase;
		background-color:#0f2738;
		border:0;
	}

	#main-top .news-slider a:hover, .footer-sub input[type=submit]:hover, .news-bottom:hover {
		background-color:#da4323;
	}

	@media only screen and (max-width: 1300px) {
		#main-top h4, #main-top p {
			text-align:center;
			margin:auto;
			max-width:70%;
		}
		#main-top h4 {
			font-size:42px;
			margin-bottom:20px;
		}
		#main-top p {
			margin-bottom:20px;
		}
		#main-top h5 {
			display:none;
		}
		.news-slider a {
			margin:auto;
			width:50%;
			display:block;
			text-align:center;
		}
		.news-slider a:hover {
			width:55%;
		}
	}
	@media only screen and (max-width: 700px) {
		#main-top h4 {
			font-size:32px;
			margin-bottom:20px;
		}
		#main-top p {
			display:none;
		}
	}

/* 	
#######################################
	Lower Bar Logo & Menu [Module]
#######################################
*/

.lower-logo {
	width:300px;
	background-image:url('images/pivit-logo.png');
	background-repeat:no-repeat;
	background-position:center left;
	background-size:contain;
	margin:18px;
	margin-left:0;
}

@media only screen and (max-width: 1300px) {
	.lower-logo {
		margin:10px;
	}
}

.lower-menu li, .lower-menu .head-link {
	position:relative;
	list-style-type:none;
	font-weight:bold;
	color:#fff;
	font-size:16px;
	padding:30px 0;
	margin-left:70px;
	border:1px solid transparent;
	cursor:pointer;
	text-transform:uppercase;
	border:0;
	border-bottom:3px solid transparent;
}

.lower-menu li a {
	color:#fff;
}

.lower-menu li:hover, .lower-menu li:hover a, .lower-menu .head-link:hover {
	color:#da4323;
	border-color:#da4323	;
}

.lower-menu li ul {
	position:absolute;
	top:82px;
	display:none;
	background-color:white;
	min-width:180px;
}

.lower-menu li:hover ul {
	display:block;	
}

.lower-menu li ul li {
	margin-left:0;
	display:block;
	padding:10px;
	padding-top:15px;
	font-weight:400;
	font-size:16px;
	white-space: nowrap;
	text-transform:uppercase;
	color:#254441;
}

.lower-menu li ul li:hover {
	background-color:#da4323;
	color:#fff;
	border-bottom-color:#da4323;
}

.lower-menu li ul a:not(:last-child) {
	border-bottom:1px solid #ddd;
}

.lower-menu li ul a {
	display:block;
}

/* 	
#######################################
	News Slider [Module]
#######################################
*/

	.news-slider {
		width:100vw;
		height:100%;
		position:absolute;
		transition:left 1s;
		transition-timing-function: ease-in-out !important;
	}

	.news-button {
		position:absolute;
		z-index:9999;
		top:50%;
		height:50px;
		width:50px;
		position:absolute;
		background-repeat:no-repeat;
		background-size:contain;
		background-position: center center;
		opacity:.5;
		cursor:pointer;
	}

	.news-button:hover {
		opacity:1;
	}

	.news-left {
		left:20px;
		background-image:url('images/arrow-left.png');
	}

	.news-left:hover {
		background-position:center left;
	}

	.news-right:hover {
		background-position:center right;
	}

	.news-right {
		right:20px;
		background-image:url('images/arrow-right.png');
	}

	@media only screen and (max-width: 1300px) {
		.news-article {
			margin:10px;
		}
	}

/* 	
#######################################
	Content Top Bar
#######################################
*/

#content-top h4 {
	color:#fff;
	font-size:52px;
	text-transform:uppercase;
	margin-bottom:20px;
}

#content-top {
	background-image:url('images/big-bg.jpg');
	background-size:cover;
	background-position:center;
	overflow:hidden;
	padding:180px 0 50px 0;
}

@media only screen and (max-width: 1300px) {
	#content-top {
		text-align:center;
	}
}

@media only screen and (max-width: 900px) {
	#content-top h4 {
		font-size:36px;
	}
}

/* 	
#######################################
	Side Bar
#######################################
*/

.sidewidth {
	width:30%;
	background-color:#f1f1f1;
	border-right:1px solid #ccc;
}

	@media only screen and (max-width: 1300px) {
		#contact .sidewidth {
			display:block;
			margin-right:20px;
			width:50%;
		}
		#contact .boxbox {
			margin:0;
		}
	}

	@media only screen and (max-width: 700px) {
		#content .sidewidth {
			display:none;
		}
		#contact .flex {
			flex-wrap:wrap;
		}
		#page-cont .flex {
			flex-wrap:nowrap;
		}
		#contact .sidewidth {
			width:100%;
			display:block;
			border:1px solid #ccc;
			margin-right:0;
		}
		#contact .boxbox {
			margin:0 3%;
		}
	}

.sidebar {
	margin-right:-20px;
}

.sidebar a {
	font-size:20px;
    text-transform:uppercase;
    color:#233745;
    transition:all .3s;
    padding:10px;
    padding-left:0;
    cursor:pointer;
    display:block;
    margin-bottom:10px;
    background-position:center right;
}

.sidebar a:hover {
	background-color:#da4323;
    color:#fff;
    padding-left:10px;
}

.sideactive {
	font-size:20px;
    text-transform:uppercase;
    color:#fff;
    transition:all .3s;
    padding:10px;
    padding-left:10px;
    background-color:#153951;
    cursor:default;
    display:block;
    margin-bottom:10px;
}

.side-pdf {
	transition:all .6s;
}

.side-pdf:hover {
	background-image:url('images/pdf-blue.png');
	background-position:center right 10px;
	background-repeat:no-repeat;
}

.side-mail, .mail-top {
	transition:all .6s;
	background-position:center right 20px;
}

.side-mail:hover, .mail-top:hover {
	background-image:url('images/sub-email.png');
	background-position:center right 10px;
	background-repeat:no-repeat;
}

#mo-side {
	display:none;
}

/* 	
#######################################
	Contact Version Side Bar
#######################################
*/

	.sidebar p {
		line-height:30px;
		margin-bottom:20px;
		color:#666;
	}

	.sidebar p b {
		font-weight:bold;
		color:#111;
	}

	.contact-con {
		list-style-type:none;
		background-position:center left;
		background-repeat:no-repeat;
		padding-left:36px;
		font-weight:400;
		margin-top:20px;
	}

	@media only screen and (max-width: 700px) {
		.contact-con {
			display:table;
			margin-left:auto;
			margin-right:auto;
			font-size:24px;
		}
	}

	@media only screen and (max-width: 400px) {
		.sidebar p, .contact-con {
			font-size:18px !important;
		}
	}

	.con-tel {
		background-image:url('images/con-tel.png');
	}

	.con-email {
		background-image:url('images/con-email.png');
	}

	.con-fax {
		background-image:url('images/con-fax.png');
	}

/* 	
#######################################
	Contact Page
#######################################
*/

.con-top {
	margin-bottom:30px;
	display:none;
}

.con-top div {
	width:50%;
}

.con-top div:last-child {
	margin-left:20px;
}

@media only screen and (max-width: 1300px) {
	.con-top {
		display:flex;
	}
}

@media only screen and (max-width: 700px) {
	.con-top {
		flex-wrap:wrap;
		justify-content:space-around;
	}
	.con-top div {
		width:auto;
		display:flex;
		flex-direction:column;
		align-items:center;
	}
	.con-top div:first-child {
		margin-bottom:40px;
	}
	.con-top p, .con-top h4 {
		text-align:center;
	}
	.con-top div:last-child {
		margin:0;
	}
}


/* 	
#######################################
	Main Text
#######################################
*/

.main-text {
	width:64%;
}

@media only screen and (max-width: 1300px) {
	.main-text {
		width:100%;
	}
}

.main-text h3 {
	margin-bottom:0 !important;
	font-size:40px !important;
}

.main-text h4 {
	color:#da4323;
	font-size:30px;
	font-weight:600;
	text-transform:uppercase;
}

.main-text p {
	margin-top:20px;
}

.main-text p:last-child {
	margin-bottom:80px;
}

/* 	
#######################################
	News Page
#######################################
*/

#news h3 {
	text-align:center;
	padding-bottom:20px;
}

#news p {
	text-align:justify;
}

#news p:not(:last-child) {
	margin-bottom:20px;
}

#news strong {
	font-weight:bold;
}

#news li {
	margin-left:30px;
	margin-bottom:10px;
	font-size:18px;
}

#news img {
	display:block;
	margin:auto;
	margin-bottom:20px;
}

@media only screen and (max-width: 1300px) {
	#news img {
		max-width:100%;
	}
}

.news-link {
	padding:15px 40px !important;
	border-radius:3px;
	display:inline-block !important;
	font-weight:bold;
	color:#002929;
	border:1px solid #002929 !important;
	text-transform:uppercase;
}

.news-link:hover {
	color:#fff !important;
	background-color:#002929;
	text-decoration:none !important;
}

.curr-year {
	margin-bottom:10px;
	background-color:#231f20;
	color:#fff;
	padding:10px 0px;
	width:75px;
	text-align:center;
	font-weight:bold;
	cursor:default;
	margin-right:10px;
}

.new-year {
	display:block;
	color:#111;
	padding:10px 0px;
	width:75px;
	text-align:center;
	font-weight:bold;
	border:1px solid #231f20;
	margin-right:10px;
	margin-bottom:10px;
	opacity:.7;
}

.new-year:hover {
	opacity:1;
}

#newslist a, .news-item {
	color:#231f20;
	border-bottom:1px dotted #aaa;
	border-left:1px dotted transparent;
	border-right:1px dotted transparent;
	display:block;
	padding-bottom:20px;
	margin-bottom:20px;
	text-transform:uppercase;
}

#newslist a:last-child, .news-item:last-child {
	border-bottom:0;
}

#newslist a span, .news-item span {
	font-weight:bold;
	display:block;
}

#newslist a:hover, .news-item:hover {
	color:#71d300;
	text-decoration:underline;
}

.mo-around {
	margin-bottom:20px;
}

@media only screen and (max-width: 700px) {
	.mo-around {
		flex-wrap:wrap;
		justify-content:space-around;
	}
	.new-year, .curr-year {
		margin-right:0;
	}
	.news-item {
		text-align:left;
	}
}

/* 	

/* 	
#######################################
	Custom Stylings
#######################################
*/

#content {
	overflow:visible;
}

#content form input, #content form textarea {
	padding:15px;
	border:1px solid #ccc;
	font-size:18px;
}

#content form input[type=text] {
	width:50%;
}

#content form input[type=submit] {
	padding:15px 20px;
	font-size:18px;
	font-weight:bold;
	color:#fff;
	text-transform:uppercase;
	background-color:#0f2738;
	border:0;
	cursor:pointer;
}

#content form input[type=submit]:hover {
	background-color:#da4323;
}

#content form input[type=text]:last-child {
	margin-left:20px;
}

#content form textarea {
	width:100%;
	resize: none;
	margin:20px 0;
	height:300px;
}

#content form input[type=submit] {
	width:100%;
}

#sticky {
	position:fixed;
	z-index:99999;
}

.main-map {
	background-image:url('images/main-map.png');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center right;
	margin-top:-20px;
	position:relative;
}

@media only screen and (max-width: 700px) {
	.main-map {
		display:none;
	}
}


#load-wrap {
	z-index:999999;
	position:fixed;
	width:100vw;
	height:100vh;
	background-color:#fff;
	transition:opacity .5s;
}

.preloader {
	position:absolute;
    border: 5px solid #f3f3f3; /* Light grey */
    border-top: 5px solid #dd4f23; /* Blue */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    left:50%;
    top:50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 	
#######################################
	Stock Page
#######################################
*/

	#tradingview_fddb8 {
		height:400px;
		margin-bottom:30px;
	}

.quote-chart {
	height:400px;
	margin-bottom:50px;
}

@media only screen and (max-width: 500px) {
	.quote-chart {
		height:250px;
	}
}

.stock-structure {
	width:100%;
	border-spacing:0;
	border-left:1px solid #ccc;
	border-top:1px solid #ccc;
}

.stock-structure tr td {
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
	padding:10px;
	text-align:right;
	color:#222;
	padding-left:30px;
}

@media only screen and (max-width: 500px) {
	.stock-structure tr td {
		padding:10px;
		font-size:12px;
	}
}

.stock-structure tr td:first-child {
	text-align:left;
}

.stock-large {
	font-size:24px;
	color:#153951 !important;
	font-weight:600;
}

@media only screen and (max-width: 500px) {
	.stock-large {
		font-size:18px !important;
	}
}

.stock-header {
	padding-left:10px !important;
}

/* 	
#######################################
	System Messages
#######################################
*/

.system {
	width:100%;
	text-align:center;
	color:#fff;
	background-color:#222;
	font-size:18px;
	margin-bottom:20px;
	font-weight:600;
	display:none;
	padding:15px;
}

#footer .system {
	margin-top:20px;
}

.system-yes {
	background-color:#20bf55;
}

.system-no {
	background-color:#da2525;
}