/*
Theme Name: CEC Franchise Theme
Theme URI:
Author: Leverture
Author URI: https://leverture.com/
Description: CEC Franchise Theme theme is based on most powerful framework "Bootstrap 5". Theme alos includes Font Awesome. Theme supports HTML5, CSS3, Nav Menu, Header, Footer, Widgets, Page Tempaltes, Featured Images.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: franchise_theme
Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready, right-sidebar, custom-background, sticky-post, full-width-template
*/


/*  =======================================================
		>>> GENERAL TABLE OF CONTENTS:

		# Normalize/General
		# Accessibility
		# Alignments
		# Captions & Gallery
		# Typography & Buttons
		# Common Content

		>>> SITE DESIGN

		# Header & Navbar
		# Footer
		# FAQ
		# Inquiry Page
		# Media Query
	======================================================= */

/*  =======================================================
		# Normalize/General
	======================================================= */
body { margin: 0; background-color: #fff; -ms-word-wrap: break-word; word-wrap: break-word; -webkit-font-smoothing: auto; text-rendering: optimizeLegibility !important; -moz-osx-font-smoothing: grayscale; font-smoothing: auto; font-family: "Montserrat", Sans-serif; font-size: 18px; font-weight: 400; width: 100%; color: #212529; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
[hidden], template { display: none; }
a { background-color: transparent; color: #000; text-decoration: none; }
a:active, a:hover { outline: 0; color: #328839; }
b, strong { font-weight: 600; }
dfn { font-style: italic; }
mark { background: #ff0; color: #000; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { border: 0; }
svg:not(:root) { overflow: hidden; }
figure { margin: 1em 0; }
hr { box-sizing: content-box; height: 0; background-color: #979797; border: 0; height: 2px; margin-bottom: 1.5em; }
button { overflow: visible; }
button, select { text-transform: none; }
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; padding: 0; }
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0; margin: 0 0 1.5em; width: 100%; }
td, th { padding: 0; }
img { height: auto; max-width: 100%; }
.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before,
.site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after { content: ""; display: table; table-layout: fixed; }
.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after { clear: both; }
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin-bottom: 0; margin-top: 0; padding: 0; }
embed, iframe, object { max-width: 100%; }


/*  =======================================================
		# Accessibility
	======================================================= */
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; color: #21759b; display: block; font-size: 14px; font-size: 0.875rem; font-weight: bold; height: auto; left: 0.313rem; line-height: normal; padding: 0.938rem 1.438rem 0.875rem; text-decoration: none; top: 0.313rem; width: auto; z-index: 100000; }
#content[tabindex="-1"]:focus { outline: 0; }


/*  =======================================================
		# Alignments
	======================================================= */
.alignleft { display: inline; float: left; margin-right: 1.5em; }
.alignright { display: inline; float: right; margin-left: 1.5em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
a img.alignright { float: right; margin: 0.313rem 0 1.25rem 1.25rem; }
a img.alignnone { margin: 0.313rem 1.25rem 1.25rem 0; }
a img.alignleft { float: left; margin: 0.313rem 1.25rem 1.25rem 0; }
a img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption.alignnone { margin: 0.313rem 1.25rem 1.25rem 0; }
.wp-caption.alignleft { margin: 0.313rem 1.25rem 1.25rem 0; }
.wp-caption.alignright { margin: 0.313rem 0 1.25rem 1.25rem; }


/*  =======================================================
		# Captions & Gallery
	======================================================= */
.wp-caption { background: #f1f1f1 none repeat scroll 0 0; border: 1px solid #f0f0f0; max-width: 96%; padding: 0.313rem 0.313rem 0; text-align: center; }
.wp-caption img[class*="wp-image-"] { border: 0 none; height: auto; margin: 0; max-width: 100%; padding: 0; width: auto; }
.wp-caption .wp-caption-text { font-size: 0.688rem; line-height: 1.063rem; margin: 0; padding: 0.625rem; }
.wp-caption-text { text-align: center; }
.gallery { margin-bottom: 1.5em; }
.gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; }
.gallery-item .gallery-columns-2 { max-width: 50%; }
.gallery-item .gallery-columns-3 { max-width: 33.33333%; }
.gallery-item .gallery-columns-4 { max-width: 25%; }
.gallery-item .gallery-columns-5 { max-width: 20%; }
.gallery-item .gallery-columns-6 { max-width: 16.66667%; }
.gallery-item .gallery-columns-7 { max-width: 14.28571%; }
.gallery-item .gallery-columns-8 { max-width: 12.5%; }
.gallery-item .gallery-columns-9 { max-width: 11.11111%; }
.gallery-caption { display: block; }


/*  =======================================================
		# Typography & Buttons
	======================================================= */
h1, h1.elementor-heading-title { color: #FFF; font-family: "Montserrat", Sans-serif; font-size: 48px; line-height: 64px; font-weight: 900; margin: 0; padding: 0; text-transform: uppercase; }
h2, h2.elementor-heading-title { color: #752F8A; font-family: "Montserrat", Sans-serif; font-size: 32px; line-height: 42px; font-weight: 800; margin: 0; padding: 0; text-transform: uppercase; }
h3, h3.elementor-heading-title { color: #752F8A; font-family: "Montserrat", Sans-serif; font-size: 24px; line-height: 32px; font-weight: 700; margin: 0; padding: 0; }
h4, h4.elementor-heading-title { color: #752F8A; font-family: "Montserrat", Sans-serif; font-size: 16px; line-height: 24px; font-weight: 700; margin: 0; padding: 0; }
h5, h5.elementor-heading-title { color: #752F8A; font-family: "Montserrat", Sans-serif; font-size: 18px; line-height: 30px; font-weight: 700; margin: 0; padding: 0; }
h6, h6.elementor-heading-title { color: #752F8A; font-family: "Montserrat", Sans-serif; font-size: 18px; line-height: 30px; font-weight: 400; margin: 0; padding: 0; }
p, p.elementor-heading-title { font-family: "Montserrat", Sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; margin: 0; padding: 0 0 20px; }
ul li, ol li { font-family: "Montserrat", Sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; margin: 0; padding: 0 0 10px; }
.color-white p, .color-white ul li, color-white ol li { color: #fff; }
.elementor-button { background-color: #c52839; font-family: "Montserrat", Sans-serif; font-size: 16px; line-height: 22px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; border-radius: 30px; }
.elementor-button:hover { background-color: #aa0728; }


/*  =======================================================
		# Common Content
	======================================================= */
.sticky .entry-title::before { content: '\f08d'; font-family: "Font Awesome"; font-size: 1.563rem; left: -2.5rem; position: absolute; top: 0.375rem; font-weight: 400; }
.sticky .entry-title { position: relative; }
.page-links { clear: both; margin: 0 0 1.5em; }
.post.hentry { margin-bottom: 4rem; }
.posted-on, .byline, .comments-link { color: #9a9a9a; }
.entry-title > a { color: inherit; }
.modal { z-index: 22222; }
.modal-backdrop { z-index: 11111; }
.search-form { background: url(assets/images/form-bg.png);  max-width: 312px; width: 100%; height: 60px; background-size: 100% auto; border: none;  padding: 10px 15px; display: inline-block; margin: 0 auto; }
.search-form .search-field { color: #363f54; font-family: "Montserrat", Sans-serif; font-size: 18px; line-height: 30px; font-weight: 700; outline: none; box-shadow: none; display: inline-block; width: 250px; height: 40px; padding: 5px 0; vertical-align: top; border: none; }
.search-form button { display: inline-block; padding: 0; margin: 0; vertical-align: middle; border: none; outline: none; box-shadow: none; background: none; }
.page-title-area { padding: 0 0 10px; margin: 0 0 15px; background-size: 100% auto; }
.btn-link { color: #363f54; font-family: "Montserrat", Sans-serif; font-size: 20px; line-height: 1.5em; letter-spacing: 2px; text-transform: uppercase; display: inline-block;}


/*  =======================================================
		# Header & Navbar
	======================================================= */
#site-header { justify-content: space-between; display: flex; flex-wrap: wrap; padding: 0 15px; background: #fff; box-shadow: 0px 0px 5px 2px rgb(0 0 0 / 10%); align-items: flex-end; }
#site-header #site-logo { width: 25%; padding: 25px 10px 15px; position: relative; }
#site-header figure { margin: 0; }
#site-header .site-header-btn { width: 15%; padding: 25px 10px 15px; position: relative; text-align: right; }
#site-header .site-header-btn .header-contact { background: #c52839; padding: 10px 15px; border-radius: 50px; color: #fff; display: inline-block; font-size: 15px; font-weight: 700; line-height: 20px; letter-spacing: 2px; text-transform: uppercase; }

/* ======================[ Navbar ]====================== */
.site-menu { display: flex; width: 60%; flex-direction: row; flex-wrap: wrap; align-items: center; }
#site-header a#menu-btn { display: none; }
.site-menu .menu-main-menu-container { width: 100%; position: static; }
.site-menu ul { list-style: none; padding: 0; text-align: center; display: flex; justify-content: space-evenly; width: 100%; margin: 0 auto; position: static; }
.site-menu ul > li { position: static; padding: 0; font-family: "Montserrat", Sans-serif; font-size: 15px; line-height: 25px; font-weight: 500; height: 60px; display: flex; align-items: center; }
.site-menu ul > li > a { color: #000; position: relative; display: block; }
.site-menu ul > li > a:hover, .site-menu ul > li > a:focus, .site-menu ul > li > a:active {  color: #673685; text-decoration: none; }
.site-menu ul > li.current-menu-item > a { color: #673685; }
.site-menu ul > li > ul { background: #673685; position: absolute; width: 100%; top: 80px; left: 0; z-index: 11111;  display: none; padding: 10px 15px; opacity: 0; -webkit-transition: all 0.35s; transition: all 0.35s; justify-content: center; border: 1px solid #00000026; }
.site-menu ul > li > ul > li { position: relative; padding: 0 10px; display: inline-block; height: auto; flex: unset;	}
.site-menu ul > li > ul > li > a { color: #fff; text-align: left; position: relative;  }
.site-menu ul > li > ul > li > a:hover, .site-menu ul > li > ul > li > a:focus, .site-menu ul > li > ul > li > a:active { color: #fff; text-decoration: none; text-decoration: underline; }
.site-menu ul > li > ul > li.current-menu-item > a { text-decoration: underline; color: #fff; }
.site-menu ul > li:hover > ul { display: flex; opacity: 1; }


/*  =======================================================
		# Footer
	======================================================= */
#site-footer { background: #673685; display: flex; padding: 50px; justify-content: space-evenly; column-gap: 50px; }
#site-footer figure { margin: 0; }
#site-footer .footer-nav h3 { color: #fff; padding: 0 0 15px; }
#site-footer .footer-nav ul { margin: 0; padding: 0 0 0 10px; list-style: none; }
#site-footer .footer-nav ul li { font-size: 16px; line-height: 20px; margin: 0; padding: 0 0 5px; list-style: none; text-transform: capitalize; }
#site-footer .footer-nav ul li a { color: #fff; text-decoration: none; }
#site-footer .footer-nav ul li a:hover, #site-footer .footer-nav ul li a:focus, #site-footer .footer-nav ul li a:active { text-decoration: underline; }
#site-footer .social-media-links a { margin: 0 5px; display: inline-block; }
#site-footer-copyright { background: #673685; color: #fff; font-size: 16px; line-height: 20px; text-align: center; padding: 20px 15px; border-top: 3px solid #fff; }
#site-footer-copyright p { color: #fff; font-size: 16px; line-height: 20px; padding: 0; }


/*  =======================================================
		FAQ
	======================================================= */
.custom-accordion .elementor-accordion-item { border-bottom: 2px solid #000 !imporant; padding: 40px 0; background-size: 100% auto; }
.custom-accordion .elementor-accordion-title:hover { text-decoration: none; }


/*  =======================================================
		Inquiry page
	======================================================= */
.inquiry-form .ct-area { position: relative; padding: 30px 0 0; }
.inquiry-form label { color: #000; font-family: "Montserrat", Sans-serif; font-size: 18px; line-height: 18px; font-weight: 700; padding: 0; margin: 0; display: block; position: absolute; left: 20px; top: 53px; -webkit-transition: all 0.35s; transition: all 0.35s; z-index: 11; }
.inquiry-form label.focused { top: 10px; }
.inquiry-form .ct-field .wpcf7-form-control-wrap { z-index: 111; }
.inquiry-form .ct-field { border: 1px solid #673685; color: #000; font-family: "Montserrat", Sans-serif; font-size: 18px; line-height: 30px; font-weight: 700; width: 100%; height: 50px; outline: none; box-shadow: none; position: relative; z-index: 111; padding: 10px 20px;  }
.inquiry-form .ct-field:focus, .inquiry-form .ct-field:acitve, .inquiry-form .ct-field:hover { box-shadow: none; outline: none; }
.inquiry-form textarea { border: 1px solid #673685; color: #000; font-family: "Montserrat", Sans-serif; font-size: 18px; line-height: 30px; font-weight: 700; width: 100%; height: 120px; outline: none; box-shadow: none; position: relative; z-index: 111; padding: 15px 20px;  }
.inquiry-form textarea:focus, .inquiry-form textarea:acitve, .inquiry-form textarea:hover { box-shadow: none; outline: none; }
.inquiry-form .ct-submit { color: #FFF; background: #c52839; border: none; box-shadow: none; outline: none; font-family: "Montserrat", Sans-serif; font-size: 22px; line-height: 30px; font-weight: 700; letter-spacing: 3px; padding: 10px 25px; margin: 0; text-transform: uppercase; border-radius: 50px; }
.inquiry-form .ct-submit:hover, .inquiry-form .ct-submit:focus, .inquiry-form .ct-submit:active { border: none; outline: none; box-shadow: none; background: #702f8a; }


/*  =======================================================
		# Media Query
	======================================================= */
/* ======================[ Min-Width: 1400px; ]====================== */
@media only screen and ( min-width: 1400px ) {
	/* -----------------[ General ]----------------- */
	.container, .container-xl { max-width: 1400px; }
}

/* ======================[ Max-Width: 1399.98px; ]====================== */
@media only screen and ( max-width: 1399.98px ) {
}

/* ======================[ Max-Width: 1199.98px; ]====================== */
@media screen and ( max-width: 1199.98px ) {

	/* -----------------[ Footer ]----------------- */
	#site-footer { height: auto; padding: 20px 15px; flex-wrap: wrap; column-gap: 20px; }
	#site-footer .copyright { flex: 0 0 100%; text-align: center; padding: 15px 0 0; }

}

/* ======================[ Max-Width: 991.98px; ]====================== */
@media only screen and (max-width: 991.98px) {

	/* -----------------[ Header ]----------------- */
	.site-menu { flex-direction: row-reverse; width: 50px; padding: 20px 0; }
	#site-header #site-logo { width: auto; padding: 20px 15px 20px 0; max-width: 225px }
	#site-header a#menu-btn { color: #673685; display: inline-block; width: 100px; text-align: center; }
	#site-header a#menu-btn::before { content: '\f0c9'; font-family: 'FontAwesome'; font-weight: 400; font-size: 26px; line-height: 26px; }
	#site-header a#menu-btn.open::before { content: '\f00d'; font-size: 30px; line-height: 30px; }
	#site-header a#menu-btn:hover { text-decoration: none; }
	#site-header .menu-main-menu-container { display: none; }
	#mobile-menu { position: absolute; width: 100%; left: 0; top: 70px; z-index: 1111; background-color: #673685; overflow-y: auto; display: none; }
	.mobile-top-menu ul { list-style: none; padding: 0; margin: 0; }
	.mobile-top-menu ul > li { padding: 0; position: relative; border-bottom: 1px solid #fff; }
	.mobile-top-menu ul > li.hide-on-mobile { display: none; }
	.mobile-top-menu ul > li > a { color: #fff; font-family: "Montserrat", Sans-serif; font-size: 17px; font-weight: 400; line-height: 24px; padding: 20px 0; position: static; display: inline-block; margin: 0 0 0 30px; }
	.mobile-top-menu ul > li > a:hover, #mobile-menu ul > li > a:focus, #mobile-menu ul > li > a:active { text-decoration: none; }
	.mobile-top-menu ul > li.menu-item-has-children > .child-item-btn { width: 30px; height: 30px;  position: absolute; right: 20px; top: 15px; z-index: 111; cursor: pointer; color: #fff; }
	.mobile-top-menu ul > li.menu-item-has-children > .child-item-btn::before { content: '\f107'; font-family: 'FontAwesome'; font-weight: 400; font-size: 20px; line-height: 30px; }
	.mobile-top-menu ul > li.menu-item-has-children > .child-item-btn.open::before { content: '\f106'; }
	.mobile-top-menu ul > li > ul { display: none; background: #fff; }
	.mobile-top-menu ul > li > ul > li { border-bottom-color: #000; }
	.mobile-top-menu ul > li > ul > li > a { color: #673685; }
	.mobile-top-menu ul > li > ul > li > a:hover, .mobile-top-menu ul > li > ul > li > a:focus, .mobile-top-menu ul > li > ul > li > a:active { text-decoration: none; color: #000; }

	/* -----------------[ Footer ]----------------- */
	#site-footer { text-align: center; padding: 30px 15px; }
	#site-footer .social-media-links { flex: 0 0 100%; padding: 15px 0 0; }
	#site-footer .logo { flex: 0 0 100%; padding: 0 0 20px; }
	#site-footer .copyright { text-align: center; padding: 15px 0 0; }


}

/* ======================[ Max-Width: 767.98px; ]====================== */
@media only screen and (max-width: 767.98px) {

	/* -----------------[ Typography ]----------------- */
	h1, h1.elementor-heading-title { font-size: 35px; line-height: 55px }
	h2, h2.elementor-heading-title { font-size: 28px; line-height: 38px; }
	h3, h3.elementor-heading-title { font-size: 20px; line-height: 30px }
	h5, h5.elementor-heading-title { font-size: 16px; line-height: 25px; }
	h6, h6.elementor-heading-title { font-size: 16px; line-height: 25px; }

}

/* ======================[ Max-Width: 575.98px; ]====================== */
@media only screen and (max-width: 575.98px) {

}

/* ======================[ Max-Width: 400px; ]====================== */
@media only screen and (max-width: 400px) {

	/* -----------------[ Header ]----------------- */

}