/*
Theme Name: PPI
Theme URI: 
Description: The Wordpress Theme for PPI.
Author: Design Vibe
Version: 1.0
*/

/* Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html */
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td { background:transparent; border:0; margin:0; padding:0 /*vertical-align: baseline; This breaks valign on tables. */ }
body { }
h1, h2, h3, h4, h5, h6 { clear: both; font-weight: normal }
ol, li {margin-left:16px; }
blockquote { quotes: none }
blockquote:before, blockquote:after { content: ''; content: none }
del { text-decoration: line-through }
/* tables still need 'cellspacing="0"' in the markup */
table { border-collapse: collapse; border-spacing: 0 }
a img { border: none }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block }

.grecaptcha-badge {
display: none !important;
}

/* Site styles */
html { /*min-width:393px;*/ background-color:none; font-family: 'Montserrat', sans-serif; font-size:16px; color:#555; line-height:28px; font-weight:400; overflow-x:hidden;   }

h1 { font-size:28px; line-height:28px; margin-bottom:5px; color:#015aac; font-family: 'Montserrat', sans-serif; font-weight:600; }
h2 { font-size:28px; line-height:28px; margin-bottom:5px; color:#015aac; font-family: 'Montserrat', sans-serif; font-weight:600; }
h3 { font-size:19px; line-height:26px!important; color:#4A80B4; font-family: 'Montserrat', sans-serif; font-weight:500; }
h4,h5,h6 { font-size:18px; line-height:30px; color:#232323; }

h1.elementor-heading-title.elementor-size-default { line-height: 1.3em; }
h2.elementor-heading-title.elementor-size-default { line-height: 1.2em; }
h3.elementor-heading-title.elementor-size-default { line-height: 1.4em; }

.column {
box-sizing: border-box;
  float: left;
  width: 49%;
  padding-right: 15px;
}

.row::after {
  content: "";
  clear: both;
  display: table;
}

strong, b, {}
a { color:#2376b7; text-decoration:none }
a:hover { color:#0E4BA0; text-decoration:none; }
p { margin:15px 0; }

#wrapper { position:relative; z-index:10 }

#responsive-menu-title { text-align:center; }
#responsive-menu-title-image { margin-right:0!important; }
#rmp-menu-wrap-1175 .rmp-menu-item-link { box-sizing:border-box; }
#rmp-menu-wrap-1175 .rmp-menu-subarrow { left:auto!important; }
	
#header { height:auto; width: 100%!important;position:fixed; top:0; right: 0;left: 0; margin-bottom: 0; background-color:#fff; padding:0; z-index:200; -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
 -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);  box-shadow: 0 1px 1px rgba(0,0,0,0.1); }
#headbox { padding-top:20px; padding-bottom:20px; }
#headclear { width:100%; height:174px; }

#logo { float:left; margin:0; width:auto; }
#logo img { width:200px; height:auto; vertical-align:top; }

#tel { width:auto; float:right; margin-top:8px; margin-right:5%; font-size:17px; line-height:22px; }
#tel i { padding-top:10px; }
#social { width:auto; float:right; margin-top:20px; }

#navbg { width:100%; display:table; background-color:#e2e8ee; }
nav { background:none; float:left; width:100%; margin:0; padding:0; text-align:center; }
nav ul { height:50px; list-style-type:none; margin:0; line-height:50px; }
nav ul li { width:auto; height:50px; list-style-type:none; margin:0; display:inline-block;  }
nav ul li a { height:20px; line-height:52px; color:#015aac; text-decoration:none; font-size:16px; font-weight:600; padding:0 29px; text-transform:uppercase; border-right:1px solid #bfc5ce;
font-family: 'Montserrat', sans-serif; }
nav ul li:last-child a { border-right:none; }
nav ul li a:hover { color:#0097d8; text-decoration:none; }

nav li ul { display:none; z-index:999999; position:absolute; top:149px; list-style:none; margin:0 0 0 0; background-color:#015aac; text-align:left; width:320px; height:auto; padding:10px 0;  }
nav ul li:hover > ul { display:block; position:absolute; z-index:999999; text-align:left;}
nav li ul li { background-image:none; padding:0 0 0 36px; height:15px; width:90%; }
nav li ul:hover { display:block; }
nav li ul li a { width:100%; text-align:left; color:#fff; padding:0; height:auto; font-size:14px; line-height:15px; text-align:left; float:left; margin:0; border-right:none;  }
nav li ul li a:hover { color:#00A3E6; }
nav li.menu-item-has-children ul li a { background-image:none; padding-right:15px; }

nav li ul li ul { z-index:999999; position:absolute; top:0px; left:300px; list-style:none; margin:0 0 0 0; background-color:#015aac; text-align:left; width:300px; height:auto; padding:10px 0;  }
nav li ul li ul li { background-image:none; padding:0 0 0 20px; height:15px; width:90%; }

/* Home Banner */
#homeban { color:#fff; font-size:20px; line-height:30px; font-weight:400; }
#homeban h3 { font-size:22px; line-height:28px; text-transform:uppercase; color:#fff; font-weight:300; letter-spacing:2px; font-family: 'Montserrat', sans-serif; }
#homeban h1 { font-size:40px; line-height:70px; color:#fff; font-weight:600; margin:0 0 30px 0;  }
#homeban h2 { font-size:80px; line-height:84px; color:#fff; font-weight:600; margin:0 0 30px 0; font-family: 'Montserrat', sans-serif; }
#homeban h2.elementor-heading-title.elementor-size-default { line-height:0.7em; }
#homeban p { margin:0; }

#hb1 { background-color:#015aac; color:#fff; text-transform:uppercase; padding:15px 30px; font-size:17px; font-weight:600; margin-top:30px; letter-spacing:2px; display:inline-block; }
#hb1:hover { background-color:#fff; color:#015aac; }
#hb2 { background-color:#00a3e6; color:#fff; text-transform:uppercase; padding:15px 30px; font-size:17px; font-weight:600; margin-top:30px; letter-spacing:2px; display:inline-block; }
#hb2:hover { background-color:#fff; color:#00a3e6; }

.mainbtn a { background-color:#015aac; color:#fff; text-transform:uppercase; padding:20px 30px!important; font-size:17px; font-weight:600; letter-spacing:2px; display:inline-block;
border-radius:0!important; }
.mainbtn a:hover { background-color:#00a3e6; color:#fff; }

/* Home Intro */
#homeintro img { width:100%; height:auto; }
#homeintro h2 { font-size:25px; line-height:32px; margin:0; color:#242121; font-weight:500; }
#subtext span { color:#4e9bd5; }

#homenews { font-size:15px; line-height:24px; }
#homenews h3 { font-size:17px; line-height:18px; text-transform:uppercase; font-weight:600; letter-spacing:2px; margin-top:10px; }
#homenews a:hover { color:#00a3e6; }

#newsform { text-align:center; }
#newsform .mc-field-group { display:inline-block; width:25%; box-sizing:border-box; padding-right:10px; }
#newsform .mc-field-group input { width:100%; height:50px; padding:12px 16px; border:1px solid #e1e1e1; font-family: 'Montserrat', sans-serif; font-weight:300; box-sizing:border-box; font-size:15px; border-radius:0; -webkit-appearance: none;
border-radius: 0; }
#newsform .button { background-color:#00a3e6; color:#fff; text-transform:uppercase; padding:15px 20px!important; font-size:16px; font-weight:600; letter-spacing:2px; display:inline-block;
border-radius:0!important; border:none; cursor:pointer; -webkit-appearance: none; border-radius: 0; }
#newsform .button:hover { background-color:#fff; color:#015aac; }

/* Home Videos */
.video-responsive { overflow:hidden; position:relative; width:100%; }
.video-responsive video { vertical-align:top; }
.video-responsive a { position:absolute; top:0; bottom:0; left:0; right:0; padding:40px; color:#fff; }
.video-responsive h2 { color:#fff; text-transform:uppercase; font-weight:bold; text-shadow: 0 2px 4px rgba(0,0,0,.5); font-size:30px; margin-bottom:20px; font-family: 'Montserrat', sans-serif; }
.video-responsive span { color:#fff; text-shadow: 0 2px 4px rgba(0,0,0,.5); font-size:20px; font-weight:300; }
.video-responsive .text { position:absolute; z-index:120; width:50%; }
.video-responsive .hover { margin-left:-9999px; margin-top:20px; -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.4s ease-in-out;
    -webkit-animation-delay: 0.4s; }
.video-responsive .hover span { text-transform:none; text-shadow:none; }	
.video-responsive strong { text-transform:uppercase; font-size:18px; border-bottom:1px solid #00a3e6;  }
.video-responsive strong:hover { color:#ccc; }

.video-responsive .overlay { background: linear-gradient(to bottom,#0a0a0a 0,rgba(10,10,10,0) 100%); transform: skew(-30deg); height: 80%; left:-250%;  position: absolute; top: 0;
 -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    -webkit-animation-delay: 0.6s;  width:200%; }
.video-responsive a:hover .overlay { left:-50%; }
.video-responsive a:hover .hover { margin-left:0; }

.hbspace { width:100%; min-height:302px; }

/* About */
#aboutpro { font-size:18px; line-height:28px; font-weight:500; }

#tableblock .tablepress thead th { background-color:#fff!important; color:#015AAC!important; }

/* Project */
#projects h2 { margin:30px 0 20px 0; }

/* Contact */
#c1 { float:left; width:46%; }
#c2 { float:right; width:50%; }
form { margin-top:15px; font-weight:300; }

.wpcf7 label { font-family: 'Montserrat', sans-serif; font-weight:400; }
.wpcf7-text { width:100%; padding:12px; border:1px solid #e1e1e1; font-family: 'Montserrat', sans-serif; margin-bottom:5px; border-radius:5px; font-weight:300; box-sizing:border-box; font-size:15px; -webkit-appearance: none;
border-radius: 0; }
.wpcf7-select { width:100%; padding:12px; border:1px solid #e1e1e1; font-family: 'Montserrat', sans-serif; margin-bottom:5px; border-radius:5px; font-weight:300; box-sizing:border-box; font-size:15px; -webkit-appearance: none;
border-radius: 0; }
.wpcf7-textarea { width:100%; height:120px; padding:12px; border:1px solid #e1e1e1; font-family: 'Montserrat', sans-serif; border-radius:5px; font-weight:300; box-sizing:border-box; font-size:15px; -webkit-appearance: none;
border-radius: 0; }
.wpcf7-submit { background-color:#015aac; color:#fff; text-transform:uppercase; padding:15px 30px!important; font-size:17px; font-weight:600; letter-spacing:2px; display:inline-block;
border-radius:0!important; border:none; cursor:pointer; -webkit-appearance: none;
border-radius: 0; }
.wpcf7-submit:hover { background-color:#00a3e6; color:#fff; }

/* Footer */
footer { padding-top:50px; font-size:15px; background-color:#efefef; }
footer h3 { font-size:16px; font-weight:600; margin-bottom:15px; color:#154b7c; letter-spacing:2px; text-transform:uppercase; }
footer a {  color:#015aac; }
footer a:hover { color:#00a3e6; }

#ft1 { float:left; width:25%;  }
#ft2 { float:left; width:25%;  }
#ft3 { float:left; width:25%;  }
#ft4 { float:left; width:25%; text-align:right;  }
#ft4 img { margin-bottom:10px; }

footer ul { float:left; width:100%; margin:0; padding:0; list-style-type:none; }
footer ul li { display:block; padding:0 0 5px 0; margin:0;  }
footer ul li a:before { content: "\f067"; font-family: FontAwesome;  position: relative;  padding-right: 10px; left: 0; color: #00a3e6; font-size:11px; }
#footmail { margin-left:15px; }

#footcopy { float:left;width:100%; padding:20px 0; text-align:center; font-size:14px; line-height:25px; border-top:1px solid #d8d8d8; margin-top:30px; }

.error, .success { color: #6C7988; margin:5px 0 10px 0 }
#contact_form table tr td { padding:4px 0 }
#contact_form label, #contact_form .label{  font-weight:normal }
#contact_form input[type="text"], #contact_form textarea { width:100%; font-family:Arial, Helvetica, sans-serif }

/* Post page styles */
.entry-header, .entry-content, .entry-meta { margin-bottom:15px }
.entry-content, .entry-meta { line-height:22px; }
#nav-single .nav-previous { float:left }
#nav-single .nav-next { float:right }

/* Common/ Re-usable classes */
.displaynone { display:none }
.alignright { text-align:right; float:right; }
.alignleft { text-align:left; }
.clearfix { *zoom: 1; }
.clearfix:after { content: " ";	display: block;	clear: both; visibility: hidden; font-size: 0; height: 0; }
.clear{ width:100%;	height:0; clear:both; display:block; }

/* Spacing */
.spacer_1{height:1px;width:100%}
.spacer_2{height:2px;width:100%}
.spacer_3{height:3px;width:100%}
.spacer_4{height:4px;width:100%}
.spacer_5{height:5px;width:100%}
.spacer_6{height:6px;width:100%}
.spacer_7{height:7px;width:100%}
.spacer_8{height:8px;width:100%}
.spacer_9{height:9px;width:100%}
.spacer_10{height:10px;width:100%}
.spacer_11{height:11px;width:100%}
.spacer_12{height:12px;width:100%}
.spacer_13{height:13px;width:100%}
.spacer_14{height:14px;width:100%}
.spacer_15{height:15px;width:100%}
.spacer_16{height:16px;width:100%}
.spacer_17{height:17px;width:100%}
.spacer_18{height:18px;width:100%}
.spacer_19{height:19px;width:100%}
.spacer_20{height:20px;width:100%}
.spacer_21{height:21px;width:100%}
.spacer_22{height:22px;width:100%}
.spacer_23{height:23px;width:100%}
.spacer_24{height:24px;width:100%}
.spacer_25{height:25px;width:100%}
.spacer_26{height:26px;width:100%}
.spacer_27{height:27px;width:100%}
.spacer_28{height:28px;width:100%}
.spacer_29{height:29px;width:100%}
.spacer_30{height:30px;width:100%}
.spacer_31{height:31px;width:100%}
.spacer_32{height:32px;width:100%}
.spacer_33{height:33px;width:100%}
.spacer_34{height:34px;width:100%}
.spacer_35{height:35px;width:100%}
.spacer_36{height:36px;width:100%}
.spacer_37{height:37px;width:100%}
.spacer_38{height:38px;width:100%}
.spacer_39{height:39px;width:100%}
.spacer_40{height:40px;width:100%}
.spacer_41{height:41px;width:100%}
.spacer_42{height:42px;width:100%}
.spacer_43{height:43px;width:100%}
.spacer_44{height:44px;width:100%}
.spacer_45{height:45px;width:100%}
.spacer_46{height:46px;width:100%}
.spacer_47{height:47px;width:100%}
.spacer_48{height:48px;width:100%}
.spacer_49{height:49px;width:100%}
.spacer_50{height:50px;width:100%}

.font_size_10{font-size:0.625em}
.font_size_13{font-size:0.813em}
.font_size_15{font-size:0.938em}
.font_size_20{font-size:1.250em}
.font_size_23{font-size:1.438em}
.font_size_25{font-size:1.563em}
.font_size_30{font-size:1.875em}
.font_size_38{font-size:2.376em}
.font_size_40{font-size:2.500em}
.font_size_45{font-size:2.813em}
.font_size_50{font-size:3.126em}
.font_size_60{font-size:3.500em}
.font_size_70{font-size:6.500em}

/*#left-area ul.elementor-icon-list-items, .elementor-edit-area .elementor-element ul.elementor-icon-list-items, .elementor .elementor-element ul.elementor-icon-list-items {
    padding: 0;
    display: none;
}*/
.elementor-widget .elementor-icon-list-items.elementor-inline-items {
    display: none;
    margin-right: -8px;
    margin-left: -8px;
}
/* #Media Queries (Needs to go at the bottom of the stylesheet
================================================== */

	/* Smaller than standard 960 (devices and browsers) */
	@media only screen and (min-width: 960px) and (max-width:1200px) {
		/* This is just used to easily and quickly identify which media query is being used */
		html { border:none }
		
		nav ul li a { padding:0 20px; }
		
		.rsDefault .rsGCaption {  top:91%!important }
		
		/* Home Videos */
		.video-responsive { overflow:hidden; position:relative; width:100%; }
		.video-responsive video { vertical-align:top; }
		.video-responsive a { padding:40px 20px; }
		.video-responsive .text {  width:90%; }
		.video-responsive span { font-size:17px; }
		
		.hbspace { width:100%; min-height:241px; }
	}
	
	/* Tablet Portrait size to standard 960 (devices and browsers) */
	@media only screen and (min-width: 820px) and (max-width: 959px) {
		/* This is just used to easily and quickly identify which media query is being used */
		html { border:none }
		#header { position: relative;}
		#headclear { display:none; }
		
		nav { width:100%; }
		nav ul li { margin: 0; }
		nav ul li a { padding:0 15px; font-size:15px; }
		
		/* Home Videos */
		.video-responsive { overflow:hidden; position:relative; width:100%; }
		.video-responsive video { vertical-align:top; }
		.video-responsive a { padding:40px 20px; }
		.video-responsive h2 { font-size:35px; }
		.video-responsive .text {  width:90%; }
		.video-responsive span { font-size:17px; }
		
		.hbspace { width:100%; min-height: 194px; }
		
		.servbox { line-height:18px; }
		
		.rsDefault .rsGCaption {  top:91%!important }
		
		#news1 { width:38%; }
		#news2 { width:60%; }
		#news3 { width:63%; }
		
		#homebanleft img { width:100%; }

	
		
	}
	
	/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
	@media only screen and (min-width: 480px) and (max-width: 819px) {
		/* This is just used to easily and quickly identify which media query is being used */
		html { border:none }
		
		#logo { }
		#logo img { }
		#headclear { display:none; }
		#social { display:none; }
		#header { position: relative; text-align:left; }
		
		#tel { display:none; }
		
		#navbg { height:10px; }
		nav { display:none; }
		#header nav { display:none; }
		
		.post_content { width:100%; margin:0; }
		
		/* Home Banner */
		#homeban h1 { font-size:40px; line-height:44px; }
		#homeban h2 { font-size:40px; line-height:44px; }
		
		/* Home Videos */
		.video-responsive { overflow:hidden; position:relative; width:100%; }
		.video-responsive video { vertical-align:top; }
		.video-responsive a {  }
		.video-responsive .text {  width:90%; }
		.video-responsive span { font-size:17px; }

		.hbspace { width:100%; min-height:246px; }
		
		#newsform .mc-field-group { width:100%; box-sizing:border-box; padding-right:0; margin-bottom:6px; }
		#newsform .button { width:100%; }
		
		.rsDefault .rsGCaption {  top:91%!important }
		
		#c1 { width:100%; }
		#c2 { width:100%; }
		
		#news1 { float:left; width:100%; clear:left; text-align:center; }
		#news2 { float:left; width:100%; text-align:center; }
		#news3 { width:100%; }
		
		#tipsimage { width:100%; }
		#tipsimage img { width:100%; }
		#sidebar { float:left; width:100%; }
		
		footer { line-height:18px; }
		
		#ft1 { width:50%; }
		#ft2 { width:50%; }
		#ft3 { width:50%; clear:left; margin-top:10px; }
		#ft4 { width:50%; text-align:left; margin-top:10px; }
		
	}
	
	/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
	@media only screen and (max-width: 479px) {
		/* This is just used to easily and quickly identify which media query is being used */
		html { border:none }
		
		#logo { }
		#logo img { }
		#headclear { display:none; }
		#social { display:none; }
		#header { position: relative; text-align:left; }
		
		#tel { display:none; }
		
		#navbg { height:10px; }
		nav { display:none; }
		#header nav { display:none; }
		
		/* Home Banner */
		#homeban h1 { font-size:30px; line-height:34px; }
		#homeban h2 { font-size:30px; line-height:34px; }
		
		.post_content { width:100%; margin:0; }
		
		/* Home Videos */
		.video-responsive { overflow:hidden; position:relative; width:100%; }
		.video-responsive video { vertical-align:top; min-height:270px; }
		.video-responsive a {  }
		.video-responsive .text {  width:90%; }
		.video-responsive span { font-size:17px; }

		.hbspace { width:100%; min-height:270px; }
		
		#newsform .mc-field-group { width:100%; box-sizing:border-box; padding-right:0; margin-bottom:6px; }
		#newsform .button { width:100%; }
		
		#c1 { width:100%; }
		#c2 { width:100%; }
		
		#news1 { float:left; width:100%; clear:left; text-align:center; }
		#news2 { float:left; width:100%; text-align:center; }
		#news3 { width:100%; }
		
		#tipsimage { width:100%; }
		#tipsimage img { width:100%; }
		#sidebar { float:left; width:100%; }
		
		footer { line-height:18px; }
		
		#ft1 { width:100%; margin-bottom:10px; }
		#ft2 { width:100%; margin-bottom:10px; }
		#ft3 { width:100%; margin-bottom:10px; }
		#ft4 { width:100%; text-align:left; }
		
		#background-images { visibility:hidden; }
		.hidden_spacer { display:none; visibility:hidden }
		
		.one_quarter, .two_quarter { float:none; width:100% }

	}