/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/*Global*/
.ctm-justify-content p {
    text-align: justify !important;
}
.fl-icon-wrap .fl-icon {
    vertical-align: top !important;
    padding-top: 5px !important;
}

/*Header*/
#site-navigation {
    order: 2;
}
.ctm-site-headerbox h1 {
	margin-bottom: 10px;
    font-size: 24px;
    font-weight: 600;	
}
.ctm-site-headerbox h1 a,
.ctm-site-headerbox h1 a:hover {
    color: #DA251C;
    font-size: 24px;
    font-weight: 600;
}
.ctm-site-headerbox ul li {
    display: inline-block;
    margin: 0px;
}
.ctm-site-headerbox ul li a {
    text-decoration: none;
    font-size: 15px;
    color: #444444;
}
.ctm-site-headerbox ul li a:hover {
    text-decoration: none;
    color: #da251c;
}
.ctm-site-headerbox ul li:not(:last-child):after {
    content: "|";
    margin: 0px 10px;
	color: #bbbbbb;
}
ul#menu-main-menu {
    position: relative;
}
#primary-menu > ul > li.current-menu-item:after,
#primary-menu > ul > li.current-menu-parent:after {
	content: "";
    background-color: #DA251C;
	width: 100%;
	height: 4px;
	bottom: 0px;
    position: absolute;
}
.menu-item-has-children .dropdown-menu-toggle {
    display: none !important;
}
.menu-item-has-children a {
    padding-right: 20px !important;
}
.menu-item-has-children .sub-menu {
    border: 0px !important;
    box-shadow: 0px 0px 0px 0px !important;
}
.menu-item-has-children .sub-menu li {
    border-top: 1px solid #f3f3f3;
}
.sticky-header {
	box-shadow: 0px -3px 10px 0px #828282;
}

/*section title*/
.theme-design-title .fl-heading-text {
    display: inline-flex;
    align-items: center;
    column-gap: 15px;
}
.theme-design-title .fl-heading-text:before {
	line-height: 0px;
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23DA251C' width='15px'%3E%3Cpath d='M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z'/%3E%3C/svg%3E");
}
.theme-design-title .fl-heading-text:after {
	line-height: 0px;
	content: url("data:image/svg+xml,%3Csvg version='1.2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23DA251C' width='15px'%3E%3Cstyle%3E%3C/style%3E%3Cpath d='m23.6 297.3l352 208.1c28.6 16.9 72.4 0.5 72.4-41.3v-416.1c0-37.5-40.7-60.1-72.4-41.3l-352 208c-31.4 18.5-31.5 64.1 0 82.6z'/%3E%3C/svg%3E");
}

/*homepage*/
#our-project-img-box img {
	transform: scale(1);
	transition: all 0.4s ease 0s;
	width: 100%;
}
#our-project-img-box a:hover img {
    transform: scale(1.2);
}
#our-project-img-box .fl-photo-content {
    overflow: hidden;
}
#our-project-img-box .fl-photo-caption-below {
    padding: 14px 10px !important;
    background: #42424178;
    margin-top: -46px;
    z-index: 2;
    position: relative;
    color: #ffffff;
}

/*Fix sidebar*/
@media(min-width: 769px) {
	.inside-left-sidebar {
		position: -webkit-sticky;
		position: sticky;
		top: 70px;
	}
	.one-container.left-sidebar .site-main {
		margin-left: 15px;
		margin-top: 15px;
		margin-bottom: 15px;
	}	
}
#left-sidebar {
    background: #f7f7f7;
}
#left-sidebar .inside-left-sidebar .widget {
    padding: 1px !important;
}
.fixed-sidebar-hyper-linkset a {
    background-color: #f7f7f7;
    display: block;
    width: 100%;
    padding: 15px;
    border-bottom: 1px solid #eaeaea;
    font-size: 17px;
    font-weight: 500;
    border-left: 4px solid #f7f7f7;
}
.fixed-sidebar-hyper-linkset a.active {
  border-left: 4px solid #da251c;
}
.fixed-sidebar-hyper-linkset a:last-child {
    border-bottom: 0px;
}

/*Services page*/
.page-id-294 #services-page {
	display: block !important;
}

/*Market page*/
.page-id-136 #market-page {
	display: block !important;
}

/*global section*/
.our-client-logo-wrapper {
    padding: 50px 20px;
}
.theme-design-title-heading {
    font-weight: 400;
    font-size: 36px;
    text-align: center;
    color: #DA251C;
}
.our-client-logo-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px; 
	max-width: 700px;
	margin: auto;
	padding: 10px;
}
.our-client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  padding: 20px;
  height: 100%;
  box-sizing: border-box;
  background-color: #fff;
}
.our-client-logo img {
  max-width: 100%;
  max-height: 100px;
	filter: grayscale(100%);
  object-fit: contain;
}
.our-client-logo:hover img {
    filter: none;
}
.our-client-logo-row-2 {
    text-align: center;
    display: flex;
	flex-wrap: wrap;
	align-items: center;
    gap: 40px;
    margin: auto;
    justify-content: center;
}
.our-client-logo-row-2 img {
  max-height: 70px;
}

/*page title wrapper*/
.page-title-wrapper {
    padding: 35px 0px;
    text-align: center;
    background: #a3a3a30f;
}
.ctm-page-title {
    font-size: 30px;
    line-height: 35px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #ffffff;
}
.ctm-page-breadcrumb #breadcrumbs {
    margin-bottom: 0px;
}
.ctm-page-breadcrumb {
    margin-top: 8px !important;
    font-size: 13px !important;
	color: #ffffff;
} 
.ctm-page-breadcrumb a {
    color: #ffffff;
} 
.ctm-page-breadcrumb a:hover {
    color: #ffffff;
	text-decoration: underline;
} 
.ctm-page-breadcrumb #breadcrumbs > span {
    display: inline-flex;
    column-gap: 10px;
}

/*About Us page*/
.download-btn {
    display: flex;
    align-items: center;
    column-gap: 10px;
    background-color: #ffffff;
    border: none;
    padding: 10px;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    max-width: 335px;
    color: #DA251C;
    justify-content: center;
}
.download-icn {
    background-color: #DA251C;
    color: #ffffff;
    line-height: 0px;
    padding: 15px;
	border-radius: 6px;
}
.download-text {
	display: flex;
	flex-direction: column;
}
.download-title {
	font-weight: bold;
	font-size: 16px;
}
.download-subtitle {
    font-size: 14px;
    color: #626262;
}
.download-btn:hover {
    background-color: #DA251C;
    color: #ffffff;
}
.download-btn:hover .download-icn {
    background-color: #ffffff;
    color: #DA251C;
}
.download-btn:hover .download-subtitle {
    color: #ffffff;
}

/*single project page*/
.projects-gallery-content .image-block img {
    transform: scale(1);
    transition: all 0.4s ease 0s;
    width: 100%;
}
.projects-gallery-content .my_projects_container div {
	overflow: hidden;
}
.projects-gallery-content .my_projects_container div:hover .image-block img {
    transform: scale(1.2);
}
.projects-gallery-content .title-block {
    background: #42424178;
    margin-top: -42px !important;
    border: 0px !important;
	padding: 0px 5px;
}
.projects-gallery-content .title-block h3 {
    font-size: 16px !important;
    line-height: 22px !important;
    color: #ffffff !important;
}
.projects-gallery-content .image-block .image-overlay {
    background: none !important;
}
.projects-gallery-content .image-block .image-overlay a {
    background: none !important;
}
.popup-wrapper .title {
    font-weight: 600;
}

/*contact page*/
.contact-from-mwrapper {
    padding: 30px;
    background-color: #F5F5F5;
}
.contact-from-mwrapper input[type="text"],
.contact-from-mwrapper input[type="email"],
.contact-from-mwrapper input[type="tel"],
.contact-from-mwrapper textarea {
    background-color: rgba(255, 255, 255, 1);
    border-color: #EBEBEB;
    width: 100%;
	color: #da251c;
}
.contact-from-mwrapper .frm-btn p {
    margin: 0px;
}
.contact-from-mwrapper .wpcf7-spinner {
    margin: 0px 20px -8px 20px;
}
.wpcf7-not-valid-tip {
	color: #da251c;
    font-size: 14px !important;
    margin-top: 5px;
}
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #da251c !important;
    border-width: 1px !important;
    color: #da251c !important;
    margin: 20px 0px 20px 0px !important;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450;
    border-width: 1px;
    color: #46b450;
    margin: 20px 0px 20px 0px !important;
}

/*footer*/
.footer-widgets .footer-widget-1 {
    flex-basis: 35%;
}
.footer-widgets .footer-widget-2 {
    flex-basis: 37%;
}
.footer-widgets .footer-widget-3 {
    flex-basis: 28%;
}
footer.site-info {
    border-top: 1px solid #d2d2d2;
}
#menu-quick-links {
    column-count: 2;
}
#menu-quick-links a:before {
     content: ">";
    margin-right: 10px;
}
.footer-contact-info li {
	margin-bottom: 15px !important;
	display: flex;
	column-gap: 10px;
    align-items: center;
}
.footer-contact-info svg {
    width: 23px;
}
.social-contact-info a {
    background-color: #fff;
    line-height: 0px;
    padding: 11px;
    display: inline-block;
	margin-right: 10px;
}
.facebook-icn:hover {
    background-color: #1773EA;
    color: #ffffff !important;
}
.google-plus-icn:hover {
    background-color: #da251c;
    color: #ffffff !important;
}
.twitter-icn:hover {
    background-color: #32CCFE;
    color: #ffffff !important;
}
.linkedin-icn:hover {
    background-color: #0073AE;
    color: #ffffff !important;
}

/*our team*/
.ctm-team-grid .member-content {
	background-color: #f5f5f5;
	padding: 15px !important;
	text-align: left !important;
}
.ctm-team-grid .member-content .member-name {
    font-size: 22px !important;
    line-height: 35px;
    font-weight: 500;
    color: #444444 !important;
}
.ctm-team-grid .member-content .member-desc {
	display: none !important;
}
.wp-modal-header .member-popup-info {
    background-color: #00000091 !important;
}
.admin-bar .mfp-wrap .mfp-close,
.admin-bar .mfp-wrap .mfp-close:active,
.admin-bar .mfp-wrap .mfp-close:hover,
.admin-bar .mfp-wrap .mfp-close:focus {
    top: 0px !important;
    right: 10px !important;
}
.ctm-team-grid .teamshowcase-image-bg {
    border: 1px solid #f5f5f5;
}
a.view-cv-btn {
    color: #ffffff;
    background-color: var(--accent);
    border: 1px solid transparent;
    cursor: pointer;
    -webkit-appearance: button;
    padding: 10px 20px;
}
a.view-cv-btn:hover {
    color: #ffffff;
    background-color: var(--global-color-3);
}

/*Responsive*/
@media (min-width:769px){
	.site-header {
		position: sticky;
		top: 0;
		z-index: 99;
		width: 100%;
	}	
	.sticky-header #primary-menu > ul > li > a {
		line-height: 50px;
	}
	.sticky-header .header-image {
		width: 40px;
	}	
}
@media (max-width:768px){	
	#left-sidebar {
		display: none !important;
	}		
	#mobile-menu-control-wrapper .menu-toggle {
		font-size: 25px !important;
		color: #0095eb !important;
	}
    .has-inline-mobile-toggle .inside-header {
        justify-content: center;
    }
    .has-inline-mobile-toggle .mobile-menu-control-wrapper {
        position: absolute;
        right: 0;
        top: 0;
    }	
	.ctm-site-headerbox h1 {
		font-size: 28px;
		margin-bottom: 0px;
	}	
    .site-header .header-widget {
        margin-top: 10px !important;
    }	
	#generate-slideout-menu, .slideout-overlay {
		max-width: 75%;
	}
    .slideout-overlay {  
        margin-left: auto;
		background-color: #252525 !important;
    }	
	.slideout-exit.has-svg-icon .gp-icon svg {
		fill: #ffffff !important;
	}
	.slideout-menu li a {
		color: #ffffff !important;
		font-weight: 400 !important;
		font-size: 14px;
        letter-spacing: 0.4px;
	}
	.slideout-menu li {
		border-bottom: 1px solid rgba(255, 255, 255, .03);
	}	
	.menu-item-has-children .dropdown-menu-toggle {
		display: unset !important;
		font-size: 20px;
        padding: 0px 10px;
	}	
	.menu-item-has-children .sub-menu li {
		border-top: 0px !important;
		padding-left: 8px;
	}
	.ctm-site-headerbox ul {
		display: none;
	}
	.our-client-logo {
		padding: 10px;
	}	
	.our-client-logo img {
		max-height: 50px;
	}	
	#our-project-img-box .fl-photo-caption-below {
		font-size: 19px;
	}	
	.theme-design-title .theme-design-title-heading {
		font-size: 33px;
	}	
	.theme-design-title.title-res-sm .theme-design-title-heading {
		font-size: 21px;
	}	
	.my_projects_container .portelement {
		max-width: 100% !important;
	}	
}

