:root {
	--primary-color: #F15959;
	--primary-shade-light-bg: #FFF9F9;
	--secondary-color: #171C38;
    --title-border-color: #E7DCDF;
    --form-border-color: #B8B9C2;
	--white-color: #ffffff;
	--black-color: #000000;
    --error-border: #FFCBD7;
}

/* only ipad 1024 and bigger screen landscape screen */
@media only screen and (min-width: 1151px) {
	a, input[type="button"], input[type="submit"], button, table th, table td { -webkit-transition: background-color 350ms cubic-bezier(0,.34,.74,.99), color 350ms cubic-bezier(0,.34,.74,.99); transition: background-color 350ms cubic-bezier(0,.34,.74,.99), color 350ms cubic-bezier(0,.34,.74,.99); }
	.allanim, .getintouchinfo li a:before, .servicesbtn:before , .btn:before, .btn span:after, #header, a { -webkit-transition: all 350ms cubic-bezier(0,.34,.74,.99); transition:all 350ms cubic-bezier(0,.34,.74,.99); }
	a:hover { text-decoration:underline; }
	#mainmenu > ul { display: flex !important; }
	#mainmenu li a:hover { background-color: #FEEAEA; color: var(--primary-color); text-decoration: none; }
	#footer .footerbottom a:hover { color: var(--primary-color); }
	.fmenu li a:hover { opacity: 1; text-decoration: none; }
	input[type="button"]:hover, input[type="submit"]:hover, button:hover { background:#d71802; color:var(--white-color); }
	.btn:hover { text-decoration: none; }
	.btn:hover:before { width: 100%; right: auto; left: 0; }
	.btn:hover span:after { background-position: 0 0; }
	.btn-secondary:hover { color: var(--white-color); }
	.tabnav li a:hover { background-color:var(--white-color); color:var(--primary-color) }
	.tabcontent p a:hover, .accordion-data p a:hover { color:var(--secondary-color) }
	.sliderarrow:hover { background-color: #DDDDDF; }
	.prevsliderarrow:hover { background-position: -47px 0; }
	.nextsliderarrow:hover { background-position: 0 0; }
	.servicesbtn:hover { text-decoration: none; border-color: #D64848; }
	.servicesbtn:hover:before { width: 100%; left: 0; right: auto; }
	.getintouchinfo li a:hover { text-decoration: none; }
	.getintouchinfo li a:hover:before { background-position: 0 -46px; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 1440px) {
	#mainmenu li a { padding: 12px 20px; }

	.serviceslistingwrapper .cols .col { flex:0 0 50%; max-width: 50%; }
	
	h1,h2 { font-size:58px;  }
	h3 { font-size:54px; }
	h4 { font-size:40px; }
	h5 { font-size:34px; }
	h6 { font-size:30px; }

	.secpadding { padding: 70px 0; }
	#herobanner { padding-bottom: 70px; }

	.aboutsectioninfo:before { height: 70%; }
	.aboutelement.lefttopelement { display: none; }

	.sectitlewrapper { margin-bottom: 30px; }
	#services .sectitlewrapper { margin-bottom: 0; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 1300px) {
	
	h1,h2 { font-size:50px; }
	h3 { font-size:50px; }
	h4 { font-size:38px; }
	h5 { font-size:32px; }
	h6 { font-size:26px; }

	#mainmenu > ul > li { margin: 0 0 0 20px; }

	.secpadding { padding: 50px 0; }
	#herobanner { padding-bottom: 50px; }
	.titleborder { max-width: calc(100% - 250px); }

	.aboutsectioninfo:before { height: 80%; }

	.contactinfoleft { flex:0 0 400px; max-width: 400px; width: 100%; }
	.contactinforight { flex:0 0 calc(100% - 400px); max-width: calc(100% - 400px); width: 100%; padding-left: 80px; }
	.contactformwrap { padding: 24px; }

	.aboutsectioncontent .aboutsectioncontentleft { flex:0 0 450px; max-width: 450px; width: 100%; }
	.aboutsectioncontent .aboutsectioncontentright { flex: 0 0 50%; max-width: 50%; width: 100%; padding-left: 40px; }

	#chooseplan .cols .col { flex:0 0 50%; max-width: 50%; }
	.pricingplanheading { padding: 16px 26px; min-height: 86px; }
	.planprice strong { font-size: 56px; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 1150px) {
	#mainmenu { margin-left: 50px; }
	#mainmenu > ul { display:none; position:absolute; left:0; width:100%; top:100%; background: var(--secondary-color); z-index:5; }
	#mainmenu ul li { float:none; margin:0; padding:0; border-bottom: solid 2px rgba(255, 255, 255, 0.1); }
	#mainmenu ul li a { padding:14px; display:block; color: var(--white-color);  }
	#mainmenu ul li.active a { background-color: transparent; color: var(--primary-color); }
	
	/* Responsive Menu line icon*/
	#menu { display: flex; align-items: center; background-color: var(--primary-color); border-radius: 50%; width: 50px; height: 50px; display: block; padding: 9px 15px 12px; }
	.menulines-button { padding:0; cursor: pointer; user-select: none; text-transform:uppercase; font-size:16px; color:var(--primary-color); text-decoration:none; }
	.menulines-button em { font-style:normal; font-weight:bold; margin-left:10px; }
	.menulines-button:hover { text-decoration:none; }
	.menulines { display: inline-block; width: 25px; height: 2px; background: var(--white-color); position: relative; top: -2px; left: -2px; margin:0; -moz-transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); -ms-transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); -webkit-transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000);  border-radius: 50px; opacity:1; }
	.menulines:before, .menulines:after { display: inline-block; width:25px; height: 2px; background: var(--white-color); position: absolute; left: 0; content:''; -moz-transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); -ms-transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); -webkit-transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); transition:all 550ms cubic-bezier(0.450, 1.000, 0.320, 1.000); -webkit-transform-origin: 0.28571rem center; -moz-transform-origin: 0.28571rem center; -ms-transform-origin: 0.28571rem center; transform-origin: 0.28571rem center; border-radius: 50px; }
	.menulines:before { top: 7px; }
	.menulines:after { top: -7px; }
	.menuopen .menulines { background:none; }
	.menuopen .menulines:before, .menuopen .menulines:after {  -webkit-transform-origin: 50% 50%;  -moz-transform-origin: 50% 50%;  -ms-transform-origin: 50% 50%; transform-origin: 50% 50%; top: 0; } 
	.menuopen .menulines:before { -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); } 
	.menuopen .menulines:after {  -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); }

	h1,h2 { font-size:42px; }
	h3 { font-size:36px; }
	h4 { font-size:32px; }
	h5 { font-size:30px; }
	h6 { font-size:24px; }

	.sectitlewrapper .bgline { width: calc(100% - 70px); }
}
/*==========================================================================================================*/
@media only screen and (max-width: 1150px) and (min-width: 880px) {
	.servicebtnleft { flex: 0 0 100%; padding-right: 0; margin-bottom: 15px; }
	.servicebtnright { flex: 0 0 100%; }
}
/*==========================================================================================================*/
@media only screen and (max-width: 1024px) {
	body { min-width:320px; }
	img{ max-width: 100%; width:auto; height:auto; }
	.wrap { width:100%; padding:0 20px; }

	h1,h2 { font-size:40px;  }
	h3 { font-size:40px; }
	h4 { font-size:34px; }
	h5 { font-size:28px; }

	.cols { margin: 0 -10px; }
	.cols .col { padding-left:10px; padding-right:10px; }

	#header { padding: 12px 0; }
	.headerpadding { padding-top: 80px !important; }
	#logo, .flogo { width: 70px; }
	#logo img { max-width: 100%; width: 100%; }
	.secpadding { padding: 60px 0; }
	#herobanner { padding-bottom: 60px; }

	.aboutsectioninfo:before { height: 90%; }
	.aboutsectioncontent .aboutsectioncontentleft { flex:0 0 400px; max-width: 400px; width: 100%; }
	.aboutsectioncontent .aboutsectioncontentright { flex: 0 0 calc(100% - 400px); max-width: calc(100% - 400px); width: 100%; padding-left: 40px; }

	
	.btn { font-size: 15px; padding: 7px 18px; }

	.herobannerleft, .slidercontrols { flex:0 0 400px; max-width: 400px; }
	.herobannerright { flex:0 0 calc(100% - 400px); max-width: calc(100% - 400px); padding-left: 40px; }
	.slick-counter { font-size: 18px; }
	.slider-progress { flex: 0 0 calc(100% - 200px); max-width:calc(100% - 200px); }

	.servicesboxinfo .servicesboxtitle { font-size: 22px; padding-right: 100px; }
	.timetag { padding: 10px 12px 9px 12px; font-size: 15px; }
	.servicesboxtitle em { font-size: 15px; flex: 0 0 34px; max-width: 34px; height: 34px; line-height: 32px; }
	.pricetag { font-size: 15px; }
	.servicesbtn { font-size: 16px; padding: 8px 8px 8px 12px; }
	
	.contactinfoleft { flex:0 0 300px; max-width: 300px; width: 100%; }
	.contactinforight { flex:0 0 calc(100% - 300px); max-width: calc(100% - 300px); width: 100%; padding-left: 40px; }
	.contactformwrap { padding: 24px; }
	
	.getintouchinfo li a { font-size: 17px; padding: 18px 0 18px 50px; }
	.getintouchinfo li a:before { width: 35px; height: 40px; }
	#contactform .cols { margin: 0 -10px; }
	#contactform .col {padding: 0 10px; }
	.inputgroup, .message { margin-bottom: 20px; }
	.inputgroup img { top: 17px; right: 16px; width: 18px; height: auto; }
	input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="search"], input[type="url"], select { padding: 12px 60px 12px 18px; height: 50px; }	

	.footertop { padding: 34px 0; }
	.fmenu li { padding: 0 24px; }
	.fmenu li:before { top: 50%; right: -2px; width: 7px; height: 7px; }
	.footerbottom { padding: 16px 0; }

	#chooseplan .cols .col { margin-bottom: 20px; }
} 

/*==========================================================================================================*/
@media only screen and (max-width: 1023px) {
	.innerbannerright { display: none; }
	.innerbannerleft { text-align: center; flex: 0 0 100%; max-width: 100%; }
	.aboutbanner .innerbannerright { display: block; padding-left: 0; }
	.aboutbanner .innerbannerleft { text-align: left; }
	#chooseplan .cols .col { flex:0 0 100%; max-width: 100%; margin-bottom: 20px; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 880px) {
	.serviceslistingwrapper .cols .col { flex:0 0 100%; max-width: 100%; margin: 0 0 30px; }
	.serviceslistingwrapper .cols .col:last-child { margin-bottom: 0; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 768px) {
	body { font-size: 15px; line-height: 24px; }
	#header { padding: 10px 0; }
	.cols2 .col, .cols3 .col, .cols4 .col { flex:0 0 100%; max-width:100%; width:100%; }
	.secpadding { padding: 40px 0; }
	#herobanner { padding-bottom: 0; }

	h1,h2 { font-size:36px;  }
	h3 { font-size:36px; }
	h4 { font-size:30px; }
	h5 { font-size:26px; }


	.btn { padding: 12px 18px; }

	.herobannerwrap, .contactinfo { flex-direction: column; }
	.herobannerleft { margin-bottom: 20px; }
	.herobannerleft, .slidercontrols { flex:0 0 100%; max-width: 100%; }
	.herobannerright, .contactinfoleft, .contactinforight { flex:0 0 100%; max-width: 100%; padding-left: 0; }
	.herobannerleft h1 strong span { font-size: 20px; }
	.mapimg { display: none; }
	
	.pricetag, .timetag { font-size: 14px; }
	.servicesboxinfobottom { align-items: center; }
	.headerpadding { padding-top: 90px !important; }

	.heroslider .item .bgimg { height: 400px; }
	.slidercontrols { position: static; background: rgba(0, 0, 0, 0.08); width: 100%; margin: 0 auto 10px; padding: 10px 12px 10px 20px; border-radius: 50px; }
	.slider-progress { background-color: #b9b9b9; }
	.sliderarrow { background-color: var(--white-color); }

	.aboutsectioncontent { flex-direction: column-reverse; }
	.aboutsectioncontent .aboutsectioncontentleft { margin-top: 20px; }
	.aboutsectioncontent .aboutsectioncontentleft, .aboutsectioncontent .aboutsectioncontentright { flex:0 0 100%; max-width: 100%; padding-left: 0; }
	.aboutsectioninfo:before, .aboutblockelements { display: none; }

	.wrap.wfull .wrap { padding: 0; }

	.aboutsecimg img { border-radius: 14px; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 767px) {
	
	.default-grid.cols3 .col { width:50%; }
	.tabnav { display:none; }
	.tab-container { padding:0; border:none;}
	.tab-data { margin:0 0 30px; }
	.tab-data .tabnav { display:none; }
	.tab-container .tabMobiletrigger { background:#f3f3f3; border:medium none; font-size:15px !important; text-transform:uppercase; margin:0 0 7px; padding:16px 54px 16px 16px; position:relative; cursor:pointer; font-weight:bold; }
	.tabMobiletrigger:after { border-left:8px solid rgba(0, 0, 0, 0); border-right:8px solid rgba(0, 0, 0, 0); border-top:8px solid #848690; content:""; margin-top:-3px; position:absolute; right:19px; top:50%; }
	.tabMobiletrigger:before { background:rgba(0, 0, 0, 0.08); content:""; height:100%; position:absolute; right:0; top:0; width:54px; z-index:1; }
	.tabcontent { padding:15px 0; margin:0; }
	.tabMobiletrigger.rotate:after { border-top-color:#272c2f; -webkit-transform:rotate(180deg); -moz-transform:rotate(180deg); -ms-transform:rotate(180deg); transform:rotate(180deg); }
	
	h1,h2 { font-size:34px; }
	h3 { font-size:34px; }
	h4 { font-size:26px; }
	h5 { font-size:24px; }


	.header-row > .btn.btn-secondary { display: none; }
	#logo, .flogo { width: 55px; }
	#menu { width: 40px; height: 40px; padding: 6px 12px; }
	.menulines, .menulines::before, .menulines::after { width: 20px; }

	.herobannerleft h1 strong span { font-size: 18px; }

	.btn { padding: 10px 18px; }

	.aboutsectioncontent .aboutsectioncontentright figure img { border-radius: 10px; }

	.footertop { padding: 26px 0; }
	.footertopinner { flex-direction: column; padding: 0; }
	.footerbottom { text-align: center; line-height: 1.3; }
	.fmenu { display: none; }

	.footerbottominner  { flex-direction: column; }
	#footer p.copyright { margin-bottom: 10px; }

	.titleborder { max-width: calc(100% - 190px); }

	.sectionbg:before, .sectionbg:after { background: #fbd4d4; }
	.sectionbg:after { bottom: 0; left: 0; right: 0; margin: 0 auto; width: 100%; }

	.smpb-0 { padding-bottom: 0 !important; }

	.aboutinnerbannerinfo .cols { flex-direction: column-reverse; }
	.aboutinnerbannerinfo .cols .col .aboutsecimg { margin-bottom: 25px; }

	.mainpadding { padding-top: 40px; }
}

/*==========================================================================================================*/
@media only screen and (max-width: 567px) {
	.servicesboxinfobottom  { flex-direction: column; padding: 0; }
	.servicebtnleft, .servicebtnright { flex:0 0 100%; max-width: 100%; width: 100%; padding: 0; }
	.servicebtnright { margin-top: 15px; }
	.servicesboxinfo .servicesboxtitle { padding-top: 31px; padding-right: 0; }
	.timetag { top: 0; left: 0; right: auto; }
	.servicesboxinfo { bottom: 5px; padding: 16px; }
	.servicesbox { border-radius: 24px; }
	.servicesbox:before { height: 61%; }

	.sliderarrowwrapper { flex: 0 0 90px; max-width: 90px; }
	.slick-counter { font-size: 16px; }
	.slider-progress { flex: 0 0 calc(100% - 160px); max-width: calc(100% - 160px); }
	.sliderarrow { width: 42px; height: 29px; background-position: 0 0 !important; }

	.sectitlewrapper { flex-direction: column; }
	.sectitlewrapper .sectitle { margin-bottom: 15px; }
	.bglinewrapper { display: none; }

	.contactformwrap { padding: 20px; }

	.sectitlewrapper.icontilewrapper { flex-direction: column-reverse; text-align: center; }
	.sectitlewrapper.icontilewrapper .sectitle { margin-bottom: 0; }
	.sectitlewrapper.icontilewrapper .titleicon { width: 35px; margin-bottom: 10px; }

	.aboutsecimg img { border-radius: 10px; }
}