:root{
	--primary: #2f5aa3;
	--green: #a1fb4e;
	--light-green: #f1fee5;
	--black:  #000;
	--content: 'Lato', sans-serif;
	--lora:  'Lora', serif;
	--poppins: 'Poppins', sans-serif;
	--adelle: 'adelle',serif;
}
*{
	outline: none !important;
}
/*
font-family: 'Lato', sans-serif;
font-family: 'Lora', serif;
font-family: 'Poppins', sans-serif; light: 300;regular: 400; medium: 500; semi-bold: 600; bold: 700;
*/
body{
	font-family: var(--content);
	color: var(--black);
    overflow-x: hidden;
}
a{
	text-decoration: none;
}
.bg-primary{
	background-color: var(--primary) !important;
}
.bg-l-green{
	background-color: var(--light-green);
}
/*header top*/
.header-top{
	background: var(--green);
	text-align: right;
    font-size: 19px;
    text-transform: uppercase;
}
.header-top a{
	font-weight: 700;
	color: var(--primary);
	font-family: var(--poppins);
	    display: inline-block;
    padding: 11px 0;
}
#navbarNav {
    justify-content: flex-end;
}
.nav-link {
    font-weight: 700;
    font-size: 19px;
    text-transform: uppercase;
    padding: 0 17px !important;
    color: var(--black);
}
.navbar-brand {
    max-width: 292px;
}
div#navbarNav.collapse:not(.in) {
    display: none;
}
div#navbarNav.collapse.in {
    display: block;
}
.navbar-brand img {
    width: 100%;
}
nav.navbar {
    padding: 26px 0;
}
.navbar-nav .nav-link.active{
	color: var(--primary);
}

/*banner*/
.slider-inner > div {
    width: 50%;
}

.slider-inner {
    display: flex !important;
}

.slider-content h1 {
    font-size: 85px;
    font-family: var(--poppins);
    text-transform: uppercase;
    font-weight: 500;
    line-height: 0.9;
        margin-bottom: 15px;
}

.slider-content {
    max-width: 603px;
    padding: 106px 20px 76px 20px;
}
.slider-content h3 {
    max-width: 372px;
    font-size: 28px;
    line-height: 36px;
    padding-top: 18px;
    border-top: 3px solid var(--green);
}

.slider-left {
    display: flex;
    justify-content: flex-end;
    color: #fff;
}

.slider-right {
    background-position: right center !important;
    background-size: cover !important;
}
.slick-dots li button:before {
    width: 15px;
    height: 15px;
    background: #d4cfcf;
    border-radius: 50%;
    color: transparent !important;
    opacity: 1;
}

.slick-dots li.slick-active button:before {
    background: var(--green);
}

.slider .slick-dots {
    bottom: 17px;
}

/*about us section*/
.about-section .container{
	max-width: 950px;
}

.about-section h2 {
    font-size: 40px;
    line-height: 1.1;
    color: var(--primary);
    font-family: var(--adelle);
    font-weight: 500;
    text-align: center;
    margin-bottom: 23px;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.about-section h6 {
    font-size: 20px;
    line-height: 1.2;
    font-family: var(--lato);
}

.about-section .left-col {
    width: 47%;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: -0.1px;
    padding-right: 40px;
    margin-top: 26px;
}

.about-section .container {
    display: flex;
    flex-wrap: wrap;
}

.about-section .right-col {
    width: 53%;
    font-size: 26px;
    line-height: 1.23;
    color: var(--primary);
    font-style: italic;
    text-align: center;
    padding: 0 25px;
    margin-top: 26px;
}

.slider .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.about-section {
    padding: 70px 0 500px 0;
        background: url(../images/bg-101.png)no-repeat;
    background-position: bottom left;
}

/*services section*/
.services h2 {
    font-size: 70px;
    text-align: center;
    color: #fff;
    font-family: var(--adelle);
    font-weight: 500;
    margin-bottom: 0;
}

.services {
    padding: 83px 0 80px 0;
}

.services h3 {
    color: var(--green);
    text-align: center;
    font-size: 47px;
    font-family: var(--adelle);
}

.services-col {
    display: flex;
    margin: 44px 0;
}

.services-col > div {
    width: 50%;
}

.services-col .col-left {
    color: #fff;
    font-size: 21px;
    line-height: 1.38;
    font-family: var(--lora);
    margin-bottom: 22px;
    padding-right: 60px;
}

.services .container {
        max-width: 1030px;
}
.services-col .col-right {
    padding-left: 10px;
}

.cta {
    color: var(--primary);
    background: var(--green);
    font-size: 19px;
    font-family: var(--poppins);
    display: inline-block;
    padding: 18px 25px;
    border-radius: 10px;
    text-transform: uppercase;
    min-width: 209px;
    text-align: center;
        font-weight: 800;
}

a.cta:hover {
    background: var(--light-green);
}

.cta-div {
    text-align: center;
}
ul.c_listing li {
    font-family: var(--poppins);
    font-size: 28px;
    line-height: 1.32;
    color: #fff;
    list-style-type: none;
    position: relative;
    padding-left: 40px;
    margin-bottom: 16px;
}

ul.c_listing {
    padding: 0;
    margin: 0;
}

ul.c_listing li:before {
    position: absolute;
    width: 25px;
    height: 25px;
    background: url(../images/check.png)no-repeat center/contain;
    content: "";
    left: 0;
    top: 5px;
}
.c_listing ul li {
    font-family: var(--poppins);
    font-size: 28px;
    line-height: 1.32;
    color: #fff;
    list-style-type: none;
    position: relative;
    padding-left: 40px;
    margin-bottom: 16px;
}

.c_listing ul{
    padding: 0;
    margin: 0;
}

.c_listing ul li:before {
    position: absolute;
    width: 25px;
    height: 25px;
    background: url(../images/check.png)no-repeat center/contain;
    content: "";
    left: 0;
    top: 5px;
}

/*projects gallery*/
.project-gallery {
    padding: 80px 0;
}

.project-gallery .container > h2 {
    font-family: var(--adelle);
    color: var(--primary);
    font-weight: 500;
    margin-bottom: 45px;
    font-size: 47px;
}

.ps-slide {
    padding: 0 15px;
}

.project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-image {
    height: 365px;
    margin-bottom: 12px;
}

.project-gallery .container {
    max-width: 1176px;
}

.project-slider .slick-list {
    margin: 0 -15px;
}

.ps-slide h2 {
    color: #17305b;
    font-size: 22px;
    line-height: 1.31;
    font-family: var(--lora);
}
.project-slider .slick-arrow {
    width: 58px;
    height: 58px;
    top: -70px;
    right: 0px;
    background: var(--primary) !important;
}

.project-slider .slick-arrow:before {
    display: inline-block;
    content: "";
    height: 0;
    width: 0;
    border: 15px solid transparent;
    border-right: 0;
    border-left: 15px solid #fff;
    opacity: 1;
}

.project-slider .slick-arrow:hover {
}

.project-slider .slick-prev.slick-arrow {
    right: 73px;
    left: auto;
}

.project-slider .slick-prev.slick-arrow:before {
    transform: rotate(-180deg);
}

/*features section*/
ul.c_listing.style2 li::before {
    width: 22px;
    height: 22px;
    top: 1px;
}

ul.c_listing.style2 li {
    color: #13161e;
    font-size: 20px;
    line-height: 1.25;
    letter-spacing: -0.8px;
    font-family: var(--lato);
    margin-bottom: 13px;
}
.c_listing.style2 ul li::before {
    width: 22px;
    height: 22px;
    top: 1px;
}

.c_listing.style2 ul li {
    color: #13161e;
    font-size: 20px;
    line-height: 1.25;
    letter-spacing: -0.8px;
    font-family: var(--lato);
    margin-bottom: 13px;
}

.left-col-sec h2 {
    font-size: 40px;
    line-height: 1.25;
    font-family: var(--adelle);
    color: var(--primary);
    text-align: center;
    font-weight: 500;
    margin-bottom: 48px;
}

.two-col-content .left-col-sec, .two-col-content .right-col-sec {
    width: 50%;
    margin: 30px 0;
}

.two-col-content .container {
    display: flex;
    flex-wrap: wrap;
    max-width: 1140px;
    position: relative;
}

.left-col-sec ul.c_listing.style2 {
    padding-left: 44px;
}

.left-col-sec .c_listing.style2 ul{
    padding-left: 44px;
}

.two-col-content {
    padding: 70px 0;
}

.two-col-content .left-col-sec {
    padding: 30px 70px 0 0;
}
.right-col-sec img {
    width: 100%;
}

/*full width content*/
.full-content h2 {
    font-family: var(--adelle);
    font-weight: 700;
    font-size: 50px;
    line-height: 1.2;
    margin-bottom: 25px;
}

.full-content p {
    font-size: 20px;
    line-height: 1.35;
    font-family: var(--lora);
}

.full-content.bg-primary p, .full-content.bg-primary h2 {
    color: #fff;
}

.full-content {
    padding: 103px 0 95px 0;
}

.full-content.bg-primary .cta {
    margin-top: 26px;
}

.full-content .container {
    max-width: 810px;
}


/*two col cards*/

.two-col-cards .container {
    max-width: 1074px;
}

.single-card {
   width: 50%;
    padding: 0px 13px;
}
.single-card .card-inner {
    border: 1px solid #a1a2a5;
    border-radius: 7px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0 30px 65px 30px;
    height: 100%;
    overflow: hidden;
}

.card-image {
    height: 203px;
    overflow: hidden;
    margin: 0 -30px 38px -30px;
}

.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.two-col-cards {
    padding: 87px 0 83px 0;
}

.cta.cta-blue {
    background: var(--primary);
    color: #fff;
}

.cta.cta-blue:hover {
    background: var(--green);
    color: var(--primary);
}

.single-card .cta {
    margin: 30px auto 0 auto;
    min-width: 272px;
}

.single-card h2 {
    font-size: 40px;
    line-height: 1;
    color: var(--primary);
    font-family: var(--adelle);
    text-align: center;
    margin-bottom: 16px;
}

.single-card h6 {
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 25px;
}

.single-card p {
    font-size: 18px;
    line-height: 1.3;
}

.card-outer {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -13px;
}
.card-inner a {
    color: var(--primary);
    font-weight: 800;
}
.card-inner a:hover, .content-section p a:hover{
    color: var(--green);
}
.content-section h2 {
    font-size: 32px;
}

.content-section h3 {
    font-size: 28px;
}

.content-section h4 {
    font-size: 24px;
}

.content-section h5 {
    font-size: 22px;
}

/*footer*/
.footer-col-outer {
    display: grid;
    grid-template-columns: 46.5% 1fr;
    grid-template-rows: auto auto;
    grid-gap: 15px;
}

.f-col1 {
    display: flex;
}
.social-icons a {
    width: 48px;
    height: 48px;
    display: inline-block;
    background: url(../images/fb-icon.png)no-repeat center/contain ;
}
.social-icons a:hover{
    background: url(../images/fb-icon-blue.png)no-repeat center/contain ;
}
.social-icons a.li-icon{
    background: url(../images/li-icon.png)no-repeat center/contain ;
}
.social-icons a.li-icon:hover{
background: url(../images/li-icon-blue.png)no-repeat center/contain ;
}
.f-col2 {
    grid-column: 2/3;
    grid-row: 1/3;
    display: flex;
}
.f-col-first {
    width: 62%;
}

.f-main-nav {
    display: flex;
    flex-direction: column;
}

a.f-nav, .f-col-inner label, .f-contact li, .f-contact a {
    color: #000;
    font-weight: 700;
    font-size: 19px;
    line-height: 1.42;
    margin-bottom: 35px;
}

.f-col-inner label, .f-contact li {
    margin-bottom: 0;
}

.f-col-inner, .f-col-inner a {
    font-size: 17px;
    line-height: 1.47;
    color: #000;
}

.f-col-inner ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}


.location-col {
    width: 45%;
}

.service-col {
}

.social-icons {
    margin-left: auto;
}

.footer-col-outer > div {
    padding-top: 20px;
}

footer {
    padding: 80px 0;
}

.location-col p {
    margin-bottom: 30px;
}

.copyright-col p {
    font-size: 15px;
    line-height: 1.6;
}

.copyright-col a {
    padding: 6px;
    margin-bottom: 6px;
    display: inline-block;
}

.copyright-col a:first-of-type {
    padding-left: 0;
}

a.footer-logo {
    max-width: 210px;
    margin-bottom: 15px;
    display: inline-block;
}

a.footer-logo img {
    width: 100%;
}

.slider-banner.slider-banner h1 {
    font-size: 46px;
    line-height: 1.6;
    border-bottom: 3px solid var(--green);
}

.slider-banner .slider-content {
    max-width: 590px;
    width: 100%;
    display: flex;
    align-items: center;
}

.slider-banner .slider-inner {
    height: 445px;
}

/* ABout us page */
.content-section h1 {
    font-size: 36px;
    line-height: 1.25;

}
.content-section h1, .content-section h2,
.content-section h3, .content-section h4,
.content-section h5{
        font-weight: 700;
    font-family: var(--adelle);
    color: var(--primary);
        margin-top: 25px;
        margin-bottom: 10px;

    line-height: 1.23;
}
.content-section p {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 300;
}

.content-section p a {
    font-weight: 500;
    color: var(--primary);
}
.content-section {
    padding-top: 80px;
    padding-right: 0px;
    padding-bottom: 30px;
    padding-left: 0px;
}
/*responsive*/
@media (min-width: 1400px){
.container {
    max-width: 1200px;
}
}

@media all and (max-width:  1100px){
    .about-section {
    background-position: bottom right;
}
}

@media all and (max-width:  992px){
    .navbar-brand {
    max-width: 160px;
}

.slider-content h1 {
    font-size: 50px;
}

.slider-content h3 {
    font-size: 24px;
}

.container {
    max-width: 100%;
}

.footer-col-outer {
    display: flex;
    flex-wrap: wrap;
}

.footer-col-outer > div {
    flex-wrap: wrap;
    width: 100%;
}

.f-col-inner {
    width: 50%;
}

.f-col-inner.social-icons {
    width: 100%;
}

.about-section h2,
.services h3,
.project-gallery .container > h2,
.left-col-sec h2,
.full-content h2,
.single-card h2{
    font-size: 30px;
}

.about-section .right-col {
    font-size: 22px;
}
.header-top {
    font-size: 16px;
}
.services h2 {
    font-size: 50px;
}
ul.c_listing li {
    font-size: 22px;
}
.c_listing ul li {
    font-size: 22px;
}
}

@media all and (max-width: 800px){
    .two-col-content .left-col-sec, .two-col-content .right-col-sec,
.single-card, .slider-content{
    width: 100%;
}

.two-col-content, .services, .full-content ,
.project-gallery{
    padding: 40px 0;
}

.about-section {
    padding-bottom: 400px;
}

.single-card {
    margin-bottom: 30px;
}

.cta {
    padding: 13px 25px;
    font-size: 16px;
}
.project-slider .slick-arrow {
    width: 45px;
    height: 45px;
}

.project-slider .slick-prev.slick-arrow {
    right: 60px;
}

.project-slider .slick-arrow:before {
    border: 11px solid transparent;
    border-left: 11px solid #fff;
    border-right: 0;
}
.two-col-content .left-col-sec {
    margin-top: 0;
}
.slider-inner {
    flex-wrap: wrap;
    flex-direction: column-reverse;
}

.slider-inner > div {
    width: 100%;
}
.slider-banner .slider-inner{
    height: auto;
}

.slider-content, .slider-banner .slider-content {
    padding: 50px 20px;
        max-width: 100%;
}

.slider-right {
    height: 300px;
}
nav.navbar{
    padding: 15px 0;
}
}

@media all and (max-width:  767px){
    .project-image {
    height: 225px;
    margin-bottom: 12px;
}
    .slider-content h1, .slider-banner.slider-banner h1,
    .content-section h1 {
    font-size: 34px;
}
.content-section h2{
    font-size: 30px;
}
.content-section h3{
    font-size: 26px;
}
.content-section h4{
    font-size: 22px;
}
.content-section h5{
font-size: 20px;
}
.slider-right {
    height: 200px;
}

.slider-content h3 {
    font-size: 20px;
}

.about-section .left-col, .about-section .right-col ,
.services-col .col-left,
.services-col .col-right, .f-col-inner{
    width: 100%;
    padding: 0;
}

.services-col{
    flex-wrap: wrap;
}
.services h2 {
    font-size: 35px;
}

.about-section h2, .services h3, .project-gallery .container > h2, .left-col-sec h2, .full-content h2, .single-card h2 {
    font-size: 22px;
}

ul.c_listing li, .services-col .col-left,.c_listing ul li,
.single-card h6{
    font-size: 18px;
}

.left-col-sec ul.c_listing.style2,.left-col-sec .c_listing.style2 ul {
    padding-left: 0;
}

.two-col-content .left-col-sec {
    padding-right: 0;
}
.single-card p{
    font-size: 16px;
}

.single-card .cta {
    margin-top: 15px;
}

.two-col-cards, footer {
    padding: 40px 0;
}

a.f-nav, .f-col-inner label, .f-contact li, .f-contact a {
    margin-bottom: 10px;
}

.f-col-inner.social-icons {
    margin-top: 15px;
}
}
/* Developer Edits */

.left-col-sec.c_listing.style2 ul {
    padding-left: 44px;
}
.services-col .col-left p{
	margin:0;
}
.ccm-page {
  overflow: hidden;
}
@media (max-width: 767px){
.left-col-sec.c_listing.style2 ul {
    padding-left: 0;
}
}
img{
	max-width: 100%;
	height: auto;
}
div#ccm-panel-dashboard ul.nav li {
  width: 100%;
}

div#ccm-theme-grid-edit-mode-row-wrapper {
  display: flex;
  width: 100%;
}

/* Child Menu */

nav.navbar .navbar-nav li.nav-item{
	position: relative;
	    padding: 7px 0;
}
nav.navbar .navbar-nav li.nav-item.has-submenu{
	padding-right: 0;
}
nav.navbar .navbar-nav li.nav-item.has-submenu span.drop-arrow{
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	right: 0;
	color: var(--black);
	font-size: 22px;
}
nav.navbar .navbar-nav li.nav-item.has-submenu span.drop-arrow::before{
	content: "\f107";
	display: inline-block;
}
nav.navbar .navbar-nav li.nav-item.has-submenu>a{
	padding-right: 21px !important;
}
nav.navbar .navbar-nav li.nav-item ul li{
	list-style: none !important;
	padding: 0;
}
nav.navbar .navbar-nav li.nav-item ul li a{
	list-style: none !important;
	font-weight: 400;
	transition: all .3s;
	background: none;
	color: #fff !important;
	text-transform: uppercase;
	padding: 7px 16px !important;
	opacity: 1 !important;
	font-size: 16px;
	text-decoration: none !important;
}

@media (min-width:992px){

nav.navbar .navbar-nav li.nav-item:hover ul{
	display: block;
}
nav.navbar .navbar-nav li.nav-item ul li a:hover,
nav.navbar .navbar-nav li.nav-item ul li a.active{
	color: var(--primary) !important;
	background: var(--green) !important;
}
nav.navbar .navbar-nav li.nav-item ul{
	display: none;
	position: absolute;
	left: 17px;
	top: 100%;
	z-index: 2;
	background-color: rgb(47,90,163,0.92);
	padding: 0;
	margin: 0;
  min-width: 235px;
}
nav.navbar .navbar-nav li.nav-item.has-submenu>a.active+span.drop-arrow::before{
  color: var(--primary) !important;
}

}
@media (max-width:991px){

nav.navbar .navbar-nav li.nav-item.has-submenu span.drop-arrow{
	position: relative;
	display: inline-block;
	top: 0;
	transform: none;
	transition: all .3s;
	width: 22px;
	text-align: center;
}
nav.navbar .navbar-nav li.nav-item.has-submenu.open span.drop-arrow::before{
    content: "\f106";
}
nav.navbar .navbar-nav li.nav-item.has-submenu>a.active+span.drop-arrow::before{
	    color: var(--primary) !important;
}
nav.navbar .navbar-nav li.nav-item.has-submenu>a {
    padding-right: 8px !important;
    display: inline-block;
}
nav.navbar .navbar-nav li.nav-item ul {
    display: block;
    position: relative;
    top: 0;
    z-index: 2;
    background-color: transparent;
    padding: 0 0 0 15px;
    margin: 0;
		max-height: 0;
		overflow: hidden;
    min-width: auto;
    transition: all .3s;
}
nav.navbar .navbar-nav li.nav-item.open ul {
	display: block;
	max-height: 500px;
}
nav.navbar .navbar-nav li.nav-item.has-submenu >ul>li:first-child{
	margin-top: 5px;
}
nav.navbar .navbar-nav li.nav-item ul li a {
	color: var(--black) !important;
}
nav.navbar .navbar-nav li.nav-item ul li a:hover,
nav.navbar .navbar-nav li.nav-item ul li a.active{
  color: var(--bs-nav-link-hover-color) !important;
}

}
