/*
Theme Name: Perfection
Theme URI: https://proximatesolutions.com/professional-web-design-portfolio/
Author: Proximate Solutions
Author URI: https://proximatesolutions.com/
Description: Wordpress theme designed for Perfection with Blog Integration.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: perfection
Tags: one-column, two-columns, custom-menu, featured-images, left-sidebar, right-sidebar
*/
html, body { overflow-x:hidden; }
body {font-family: 'Montserrat', sans-serif; color:#111; font-size:16px; line-height: 32px;}
img { max-width:100%; height:auto; }
a { transition:all linear 0.2s 0s; -webkit-transition:all linear 0.2s 0s; color:#cd2122;}
a:hover, a:focus { outline:0; color:#000; text-decoration:none;}
h1, h2, h3, h4, h5, h6 {  font-family: 'Montserrat', sans-serif;}
section { padding:60px 0; }

.btn{position:relative;overflow:hidden; -webkit-border-radius:50px !important; border-radius:50px !important;}
.btn:hover:before{opacity:1;transform:translate(0,0)}
.btn:before{content:attr(data-hover);position:absolute;left:0;width:100%;text-transform:uppercase;letter-spacing:3px;opacity:0;transform:translate(-100%,0);transition:all .3s ease-in-out}
.btn:hover div{opacity:0;transform:translate(100%,0)}
.btn div{text-transform:uppercase;letter-spacing:3px;font-weight:800;transition:all .3s ease-in-out}

.btn.btn-lg {padding:15px 44px; font-size: 14px; font-weight: 700 !important; text-transform: uppercase !important; -webkit-transition:all linear 0.2s 0s; transition:all linear 0.2s 0s;}
.btn.btn-sm {padding:10px 30px; font-size: 13px; font-weight: 700 !important; text-transform: uppercase !important; -webkit-transition:all linear 0.2s 0s; transition:all linear 0.2s 0s;}
.btn-danger {background-color: #cd2122; border-color: #cd2122; color: #fff;}
.btn-danger:hover {background-color: #ad1617; border-color: #ad1617; color: #fff;}
.btn-dark {background-color: #111111; border-color: #111111; color: #fff;}
.btn-dark:hover {background-color: #000; border-color: #000; color: #fff;}
.btn-outline-dark {color: #111111; border-color: #111111;}
.btn-outline-dark:hover {background-color: #000; border-color: #000; color: #fff;}
.btn-outline-danger {color: #cd2122; border-color: #cd2122;}
.btn-outline-danger:hover, .btn-outline-danger:focus {background-color: #ad1617; border-color: #ad1617; color: #fff;}
.btn-primary {background-color:#002296; border-color:#002296; }
.btn-primary:hover {background-color:#002ec9; border-color:#002ec9;}

label { margin:0;}
.alignleft { float:left; margin:0 15px 10px 0;}
.alignright { float:right; margin:0 0 10px 15px;}
.aligncenter { text-align:center; margin:0 auto 10px; display:block;}
.alignnone { float:none;}
.wp-caption { border:1px solid #ddd; text-align:center; background-color:#f3f3f3; margin-bottom:1rem; padding:4px; max-width:100%; border-radius:4px; -webkit-border-radius:4px;}
.wp-caption img { margin:0; padding:0; border:0;}
.wp-caption p.wp-caption-text { font-size:12px; padding:0 5px; margin:0;}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.navigation { overflow:hidden;}
.clear { clear:both;}
.clear1 { clear:both; padding:1px 0 0;}
.clear5 { clear:both; padding:3px 0 2px;}
.clear10 { clear:both; padding:5px 0;}
.mrb-10 { margin:0 10px 10px 0;}
.br-0 { border-radius:0; -webkit-border-radius:0;}

.text-primary {color:#002296!important;}
.contents_wrapper {background-color:#fff; z-index: 9999; position:relative; overflow-y:hidden; }
/*header {position: absolute; left: 0; right: 0; top:0; z-index:999999;}*/
.menubar { padding: 12px 0;}
.logo {text-align: center; margin:0; width: 280px;}
.logo a {display: block; font-size: 25px; font-weight:700; text-transform: uppercase; color: #fff;}
.logo a:hover, .logo a:focus {color: #fff;}
ul.top_contact {padding:0; margin:10px 0 15px; list-style: none; text-align: right;}
ul.top_contact li {display:inline-block; margin:0 0 0 15px;}
ul.top_contact li a {color:#000;}
ul.top_contact li a.btn {color:#fff; padding:8px 25px;}
ul.top_contact li a:hover {color:#cd2122; }
ul.top_contact li a.btn:hover {color:#fff;}

#menu {margin:0;}
#menu ul{list-style:none;margin:0;padding:0; display:block; text-align:right;}
#menu ul li{display:inline-block;position:relative;margin:0 4px 0 0;}
#menu ul li a{color:#000; padding:0 15px; -webkit-border-radius: 6px; border-radius: 6px; display:block;text-decoration:none;position:relative; -webkit-transition:all .3s linear;transition:all .3s linear; text-transform: uppercase; font-size: 14px; font-weight: bold; border: #fff solid 1px;}
#menu ul li a:before {position:absolute;}
#menu li > a:after { content: '\f107'; font-family:'FontAwesome'; margin-left:5px; }
#menu li > a:only-child:after { margin-left: 0; content: ''; }
#menu ul li a:hover,#menu ul li.active a,#menu ul li.current_page_item>a,#menu ul li.current-menu-ancestor>a,#menu ul li.current-menu-item>a,#menu ul li.current-menu-parent>a{color:#fff; background:transparent; border:#cd2122 solid 1px; color:#cd2122; border-radius:6px;}
#menu li.active ul li a{color:#fff;background:#000}
#menu li.active ul li a:hover{color:#fff;background:#999}
#menu li>ul{position:absolute;left:0;top:100%;z-index:999;min-width:220px;white-space:nowrap; margin:0; padding:0;}
#menu li>ul li a:after {display:none;}
#menu ul li.active ul li a { background:#fff; color:#333; border: 0;}
#menu li>ul li{background:#fff;border-bottom:1px solid rgba(0,0,0,0.09);display:block;position:relative; text-align:left;}
#menu li>ul li:hover{background:#999;border-bottom:1px solid rgba(0,0,0,0.09)}
#menu li>ul li:hover ul li a{color: #fff;}
#menu li>ul li a{color:#333;font-size:13px;  border-right:0; border:0; }
#menu li>ul li a:hover{color:#fff;text-decoration:none; border:0;}
#menu li ul li.current_page_item>a,#menu li ul li.current-menu-ancestor>a,#menu li ul li.current-menu-item>a,#menu li ul li.current-menu-parent>a{background: #333;color:#fff}
#menu>li{border-left:1px solid #999}
#menu>li:first-child,#menu>li.has-submenu+li{border-left:0}
#menu li>ul>li>ul{position:absolute;left:100%;top:0;margin:0;transition:all linear .2s 0s;-webkit-transition:all linear .2s 0s;visibility:hidden;opacity:0}
#menu li>ul>li:hover>ul{visibility:visible;opacity:1;display:block}
#menu li>ul{transition:all linear .2s 0s;-webkit-transition:all linear .2s 0s;visibility:hidden;opacity:0}
#menu li:hover>ul{visibility:visible;opacity:1}
#menu li>ul li a{padding:10px 23px;transition:all linear .2s 0s;-webkit-transition:all linear .2s 0s}
#menu li:hover>ul li a{border-radius: 0; font-size:11px;}
#menu li>ul li:hover a {color:#fff;}
#menu li>ul li:hover ul li a {color:#000;}
#menu li>ul li ul li a:hover {color:#fff;}

@keyframes menu_sticky {
  0%   {margin-top:-240px;}
  50%  {margin-top: -90px;}
  100% {margin-top: 0;}
}
.menubar.sticky {  margin:0;  position: fixed;  top:0; left:0; width:100%; z-index:99999; animation-name:menu_sticky; animation-duration: 0.60s; animation-timing-function:ease-out;  box-shadow:0 0 5px 0px rgba(0, 0, 0, 0.49); -webkit-box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.49); background:rgba(0,0,0,0.92); padding: 10px 0;}
.menubar.sticky #menu {margin: 20px 0 0;}
.menubar.sticky:before {display:none;}
.menubar.sticky .free_quote_btn {margin:0 0 5px;}
.menubar.sticky .logo {margin-top: 0; width: 100%;}

.lets_talk {position:relative; margin-bottom:6px; margin-right:15px; text-align: right; display:block; font-size: 18px; line-height: 24px;}
.lets_talk a { display:block;}
.search_header {position:relative; margin-bottom:9px; margin-right:15px; text-align: right; display:block;}
.search_header a { display:block; line-height: 25px;}

.sec_heading {text-align:center; margin:0 0 30px; padding:0 0 10px; font-weight:700; position:relative;}
.sec_heading::before {position:absolute; left:50%; transform:translateX(-50%); bottom:0; background:#cd2122; height:2px; width:60px; content:"";}
.sec_heading_left {margin:0 0 30px; padding:0 0 10px; font-weight:700; position:relative;}
.sec_heading_left::before {position:absolute; left:0; bottom:0; background:#cd2122; height:2px; width:60px; content:"";}

.sec_heading_sm {text-align:center; margin:0 0 15px; padding:0 0 8px; font-weight:700; position:relative;}
.sec_heading_sm::before {position:absolute; left:50%; transform:translateX(-50%); bottom:0; background:#cd2122; height:2px; width:40px; content:"";}
.sec_heading_left_sm {margin:0 0 15px; padding:0 0 8px; font-weight:700; position:relative;}
.sec_heading_left_sm::before {position:absolute; left:0; bottom:0; background:#cd2122; height:2px; width:40px; content:"";}

#portfolio_section {display:block; position:relative;}
#portfolio_section .container {max-width:1600px;}
ul.projects_list {list-style: none; padding:0; margin:0; display:block; text-align: center;}
ul.projects_list li {display:inline-block; width:calc(33% - 25px); margin:10px;}
.portfolio_item { position:relative; display:block; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; overflow:hidden;}
.portfolio_item .img_thumb img{ -webkit-border-radius:20px 20px 0 0; border-radius:20px 20px 0 0;}
.portfolio_item .img_thumb { position: relative; display: block; width: 100%; }
.portfolio_item .contents {position: absolute; bottom: -50px; width: 100%; background-color:  #FFF; padding: 15px; border-radius: 0 0 4px 4px; z-index: 9; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; text-align: left;  font-size:12px; text-align: center;}
.portfolio_item .contents .label {color:#999; margin: 5px 0; font-weight: 600; font-size: 12px; line-height: 1.5; text-transform: uppercase; letter-spacing: 1px;}
.portfolio_item .contents h3,  .portfolio_item .contents h3 a {font-size: 27px; line-height: 1.4; color: #333;}
.portfolio_item .contents .ic-arrow-right {color: #ccc;display: none;}
.portfolio_item .contents a.btn {font-size:14px; opacity: 0; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out;}
.portfolio_item:hover .contents a.btn { opacity: 1;}
.portfolio_item:hover .contents {bottom: 0;}

ul.tick_list {padding:0; margin: 0; list-style:none; margin-top:30px; margin-bottom:10px; overflow:hidden;}
ul.tick_list li {color: #333; position: relative; padding:0 0 10px 30px; display: block; background: url(images/icons/tick.svg) no-repeat left 2px; background-size:20px; font-size:17px; line-height: 28px; width:49%; float: left;}
ul.tick_list li:nth-child(even) {float: right;}



.cta_sec { position: relative;  z-index: 999;}
#cta {background-color: #fff; display:block; -webkit-border-radius:30px; border-radius:30px; padding:50px 30px; color: #333; position:relative; -webkit-box-shadow: rgba(0,0,0,0.3) 0 0 10px; box-shadow: rgba(0,0,0,0.3) 0 0 10px; margin-top:10px;}
#cta a { margin-top:5px; }

footer {width:100%; padding:50px 0; background-color: #f2f2f2; color: #000; font-size:15px;line-height:1.2;font-weight:500; position:relative; z-index: 0;}
.footer_top_radius {background-color: #f2f2f2; -webkit-border-radius:100%; border-radius:100%; z-index: -1; position:absolute; left:-50px; right:-50px; top:-100px; height:200px; }

.footer-title{font-size:22px;line-height:1.2;font-weight:500;color:#000;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:15px}
footer p {font-size:12px;line-height:1.2;font-weight:500;color:#000;margin:10px 0}
footer a:hover {color: #ad1617; text-decoration: none;}

ul.footer_contact_list {list-style:none; padding:0; margin:0; display:block;}
ul.footer_contact_list li { display:block; color: #000; margin-bottom:15px; padding-left:20px; position:relative;}
ul.footer_contact_list li a {color: #000; text-decoration: none;}
ul.footer_contact_list li a:hover {color: #ad1617; text-decoration: none;}










ul.footer_list {list-style:none; padding:0; margin:0; display:block;}
ul.footer_list li { float:left; width:48%; margin-bottom:15px; }
ul.footer_list li:nth-child(even) {float:right;}
ul.footer_list li a {color:#000; text-decoration:none; position:relative; padding-left:15px;}
ul.footer_list li a:before {content:"»"; position:absolute; left:0; top:-2px; color: #000; font-size:18px; }

ul.footer_list li a:hover,ul.footer_list li.current_page_item>a,ul.footer_list li.current-menu-ancestor>a,ul.footer_list li.current-menu-item>a,ul.footer_list li.current-menu-parent>a{color:#ad1617;}

ul.footer_list li a:hover:before,ul.footer_list li.current_page_item>a:before,ul.footer_list li.current-menu-ancestor>a:before,ul.footer_list li.current-menu-item>a:before,ul.footer_list li.current-menu-parent>a:before{color:#ad1617;}

ul.services_tick_list {list-style:none; padding:0; margin:0; display:block; text-align: left;}
ul.services_tick_list li { display:block; margin-bottom:10px; position:relative; padding-left:20px; color: #000; text-align: left; margin-left:0!important;}
ul.services_tick_list li:nth-child(even) {margin-left:0!important; color: #000;}
ul.services_tick_list li:before {content: '✓'; position:absolute; left:0; top:0; color: #ad1617; font-size:18px; }

ul.footer_social_icons {list-style:none; padding:0; margin:0; display:block;}
ul.footer_social_icons li { display:inline-block; margin:2px;}
ul.footer_social_icons li a { border: 2px solid #000; color: #000; display: block; width:48px; height: 48px; position:relative; text-align: center; text-decoration: none; border-radius: 0; -webkit-transition:all linear 0.2s 0s; transition: all linear 0.2s 0s; -webkit-border-radius:5px; border-radius:5px;}
ul.footer_social_icons li a i {font-size: 20px; position:absolute; left:50%; top:50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
ul.footer_social_icons li a:hover {background-color: #CC172C; border-color: #CC172C; color: #fff;}

ul.contact_info_list {list-style:none; padding:0; margin:0; display:block;}
ul.contact_info_list li { display:block; color: #000; margin-bottom:15px; position:relative; font-size:20px; padding-left: 40px;}
ul.contact_info_list li a {color: #000; text-decoration: none; }
ul.contact_info_list li i {position:absolute; left:0; top:9px; color: #ad1617;}
ul.footer_contact_list li i {position:absolute; left:0; top:3px; color: #ad1617;}


ul.footer_contact_list2 {list-style:none; padding:0; margin:0; display:block; text-align: center; margin-bottom: 10px;}
ul.footer_contact_list2 li { display:block; color: #000; margin-bottom:15px;  position:relative;}
ul.footer_contact_list2 li i { margin-right: 5px; color: #ad1617; position: relative;}
ul.footer_contact_list2 li a {color: #000; text-decoration: none;}
ul.footer_contact_list2 li a:hover {color: #ad1617; text-decoration: none;}




.contact_map {display:block; position:relative; -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%);  filter: grayscale(100%); margin-top:15px;}
.contact_map iframe{width:100%; height:400px; margin-bottom:-10px;}

.full_screen_wrapper {background-color:rgba(255,255,255,0.95); position:fixed; left:0; top:0; right:0; bottom:0; text-align: center; z-index: 9999999; display:none;}
.full_screen_search {text-align: center; position:absolute; left:50%; top:50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.full_screen_search input.form-control {background-color:transparent; padding:20px 10px 20px 0; color: #000; text-decoration: none; font-size:30px; border:0; border-bottom:#cd2122 solid 2px; width:90%; -webkit-border-radius:0; border-radius:0;}
.full_screen_search input.form-control:focus {box-shadow: none!important; outline: 0!important;}
.full_screen_search .search_button {position:absolute; height: 3.5em; width: 3.5em; right:0; top:15px; background-color:#cd2122; -webkit-border-radius:50%; border-radius:50%; display:inline-block; border:0; color: #fff; font-size:15px; }
.cross_button {position:absolute; right:3%; top:3%; font-size:30px; display:inline-block; color: #cd2122; text-decoration: none;}
.cross_button:hover {color: #000;}
.right_contact_info {padding-left:25px; display:block; text-align: left;}

.submit p { display:none;}
span.wpcf7-not-valid-tip { display:none;}
.wpcf7-not-valid { border:1px solid #F00 !important;}
.wpcf7-checkbox.wpcf7-not-valid { border:none;}
.wpcf7-checkbox.wpcf7-not-valid input[type=checkbox] { outline:1px solid #F00;}
span.wpcf7-list-item { margin:0 1em 0 0;}
div.wpcf7-response-output { margin:0 !important; font-size:16px;}

.custom_pagination{text-align:center}
.page-numbers{display:inline-block;padding:0;margin:0}
.page-numbers>li{display:inline}
.page-numbers>li>a,.page-numbers>li>span{position:relative;float:left;padding:5px 15px;font-size:14px;margin-left:-1px;line-height:1.42857143;color:#333;text-decoration:none;background-color:#fff;border:1px solid #ddd}
.page-numbers>li:first-child>a,.page-numbers>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}
.page-numbers>li:last-child>a,.page-numbers>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}
.page-numbers>li>a:hover,.page-numbers>li>span:hover,.page-numbers>li>a:focus,.page-numbers>li>span:focus{color:#ad1617;background-color:#eee;border-color:#ddd}
.page-numbers>.active>a,.page-numbers>.active>span,.page-numbers>.active>a:hover,.page-numbers>.active>span:hover,.page-numbers>.active>a:focus,.page-numbers>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#ad1617;border-color:#ad1617}
.page-numbers .current,.page-numbers .current:hover{z-index:2;color:#fff;cursor:default;background-color:#ad1617;border-color:#ad1617}
.page-numbers>.disabled>span,.page-numbers>.disabled>span:hover,.page-numbers>.disabled>span:focus,.page-numbers>.disabled>a,.page-numbers>.disabled>a:hover,.page-numbers>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}

#services_section { display:block; position:relative;  text-align: center;}
ul.services_list {list-style: none; padding:0; margin:0; display:block; text-align: center; }
ul.services_list li { display:inline-block; width:calc(25% - 20px); padding:31px; vertical-align: top;}
.service_item { text-align: center; }
.service_item img, .service_item svg { width:80px; margin-bottom:15px; display:inline-block;}

ul.services_list li .service_item svg, ul.services_list li .service_item svg path, ul.services_list li .service_item svg rect { fill:#000 !important; }
ul.services_list li:hover .service_item svg, ul.services_list li:hover .service_item svg path { fill:#000!important; }

.service_item h4 {text-transform: uppercase; color: #000; font-weight: bold; font-size:14px; font-family: 'Montserrat', sans-serif!important; line-height: 19px;}
.service_item:hover h4 {color: #cd2122;}

.grecaptcha-badge { z-index:9999; /*display:none !important;*/}

.captcha-image { border:1px solid #ddd !important; border-radius:0; -webkit-border-radius:0;}
.kc_captcha .wpcf7-not-valid { display:inline-block; border-radius:0; -webkit-border-radius:0;}