:root {
  --color-red: #e71328;
  --color-red-rgb: 231, 19, 40;
  --color-black: #222;
  --color-black-rgb: 34, 34, 34;
  --color-white: #f6f6f8;
  --color-white-rgb: 246, 246, 248;
  --color-light-gray: #e3e3e3;
  --color-light-gray-rgb: 227, 227, 227;
  --color-dark-gray: #363031;
  --color-dark-gray-rgb: 35, 31, 32;
  --color-gray: #3e3e3e;
  --color-gray-rgb: 62, 62, 62;
  --color-brown: #c0b6ac;
  --color-brown-rgb: 192, 182, 172;
  --color-cyan: #13e7d2;
  --color-cyan-rgb: 19, 231, 210;
  --color-magenta: #6813e7;
  --color-magenta-rgb: 104, 19, 231;
  --shadow-black: 1px 1px black;
}

body.fade {
  opacity: 0;
  transition: opacity 1s ease;
}

body {
	color: var(--color-gray);
	display: flex;
	opacity: 1;
	transition: opacity 1s ease;
}

.red {
  color: var(--color-red);
}

.redBadge {
  background-color: var(--color-red);
  color: white;
  padding: 0 0.25em;
  border-radius: 0.25em;
}

.redLine {
  text-decoration: underline;
  text-decoration-color: var(--color-red);
}

.dark {
	background-color: var(--color-light-gray);
	color: var(--color-dark-gray);
}

h5 {
  all: unset;
  color: var(--color-red);
  background-color: inherit;
  font-size: inherit;
  font-weight: normal;
  line-height: normal;
  display: inline;
  text-shadow: none;
}

ol, ul { margin-left:.7rem }
ul { list-style:square outside }
ul > li::marker { color: var(--color-red); }

.white-btn {
	font-family: "novecento_sans_widedemibold", "Helvetica", "Tahoma", "Geneva",
    "Arial", sans-serif;
	font-size: 1em;
	font-weight: bold;
	color: #fff !important;
	border: 2px solid #fff;
	padding: 0.3em 1em;
}

.white-btn:hover {
	background: rgba(255, 255, 255, 0.2);
}

/*** Side Menu ***/
#sidemenu, #sb-site {
	flex: 1;
}

#sidemenuBtn {
	cursor: pointer;
	background-color: #fff;
	width: 2rem;
	height: 2rem;
	border-radius: 0 0.3rem 0.3rem 0;
	padding: 0;
	margin: 0;
	box-shadow: 5px 0 7px -2px rgba(0,0,0,0.5);
	z-index: 100;
	float:right;
	margin-right: -3rem;
}

#sidemenuBtn span {
	font-size: 1.25rem;
	color: var(--color-red) !important;
	text-shadow: 0 0 1px rgba(0,0,0,1);
}


#sidemenu {
	position: relative;
	width: 11rem;
	max-width: 11rem;
	min-height: 100%;
	background-color: #222;
	color: #fff;
	z-index: 99;
	box-shadow: 5px 0 7px -2px rgba(0,0,0,0.5);
	padding-top: 1rem;
}

.sidemenuCollapsed #sidemenu {
	margin-left: -11rem;
}

#sidemenu #sidemenuFixed {
	position: fixed !important;
	top: 1rem;
	width: 10rem;
}

#sidemenu #navbar ul.navigation {
	width: 100%;
}
#sidemenu #navbar ul.navigation li {
	list-style: none;
	cursor: pointer;
	width: 100%;
}
#sidemenu #navbar ul.navigation li a {
	text-transform: uppercase;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.17em;
	font-size: 0.9rem;
	text-wrap-mode:nowrap;
}

#sidemenu #navbar ul.navigation {
	margin: 0.5rem;
	margin-left: 0;
	margin-top: 1rem;
	line-height: 0.97;
}
#sidemenu #navbar ul.navigation li {
	padding: 0.5rem;
	padding-left: 1rem;
	margin-bottom: 1rem;
	border-radius: 0 0.5rem 0.5rem 0;
}

#sidemenu #navbar ul.navigation :hover {
	background-color: var(--color-gray);
}

#sidemenu #navbar ul.navigation li.active {
	background-color: var(--color-red);
}

#sidemenu #sidemenuFixedFooter {
	position: fixed;
	width: 11rem;
	padding: 0.75rem;
	bottom: 0;
	text-align: center;
}

#sidemenu #sidemenuFixedFooter img {
	width: 7rem;
	margin: 0;
}

#sidemenu #sidemenuFixedFooter p {
	font-size: 0.7rem;
	text-align: justify;
	margin: 0.15rem;
	line-height: 1.5;
}

#sidemenu #sidemenuFixedFooter hr {
	margin: 0.25rem;
}

/*** Header & Logo ***/
#header {
	background-image: var(--image-header-background);
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}

#header .logo {
	border-bottom: 1px solid var(--color-red);
	padding: 0.5rem 1.25rem;
	height: auto !important;
}

#header .logo img {
	width: max(50vw, auto);
	filter: drop-shadow(1px 1px rgba(0, 0, 0, 0.5));
}

#header #navbar a, .modular .showcase h2 {
  text-shadow: var(--shadow-black);
}

/*** Content Slide (Showcase) ***/
#content-slide .showcase h1 + h2 {
	max-width: min(80em, 90vw);
	margin: 0.5em auto 0.7em;
	letter-spacing: 0.03em;
	line-height: 1.2em;
}
#content-slide .arrow {
	position: absolute;
	display: block;
	padding-bottom: 0;
	padding-left: 0.8rem;
	padding-right: 0.8rem;
	padding-top: 0;
	cursor: pointer;
	z-index: 50;
	text-align: center;
	line-height: 3.8rem;
	background: #fff;
	top: 50%;
	border-radius: 100%;
	font-size: 2.5rem;
	opacity: 0.5;
	color: #000;
}

/*** Modular Contents ***/
.modular-row.features.big .feature-items .feature h4 {
	line-height: 1.25em;
	padding-bottom: 1.25em;
}

#our_services + .modular-row .feature ul {
	list-style: none;
	padding: 0 1rem;
	margin: 0 auto;
	display: inline-block;
	text-align: center;
	width: 100%;
}
#our_services + .modular-row .feature li {
	line-height: 1.1;
	margin-bottom: 1em;
}

#our_services + .modular-row .feature li::first-letter {
	color: var(--color-red);
	letter-spacing: 0.1em;
	font-size: 1.1em;
	font-weight:500;
}

#our_services + .modular-row .feature li::before {
	content: '■';
	display: inline-block;
	color: var(--color-red);
	margin-right: 0.5em;
	margin-top: 0.15em;
	flex-shrink: 0;
	font-size: 0.75em;
	vertical-align:text-top;
}

#one_stop_solution + .modular-row .feature_icon {
	font-size: 3.5rem;
}

#one_stop_solution + .modular-row .feature-content h4 {
	color: var(--color-red);
}

.modular-row.features .feature-items .feature i.fa {
  color: var(--color-red);
}

.sectionTitle {
	font-weight:bold;
	color: var(--color-red);
	text-transform: uppercase;
	font-size: 1.5rem;
	margin: 0.5em 0 0;
	padding-top: 0.5em;
	text-align: center;
	letter-spacing: 0.03em;
}
.sectionText {
	border-bottom: 1px solid var(--color-red);
}
.sectionText p {
	margin: 0.25em 1em;
	text-align: center;
}
.services .cards .card {
	margin-top: 0.7em;
	padding: .5em;
}

.services .cards .card .title {
	display: block;
	font-weight: bold;
	color: var(--color-black);
	font-size: 1.2rem;
}

.services .cards .card .subtitle {
	display: block;
	font-weight: bold;
	color: var(--color-gray);
	font-size: 0.95rem;
	text-align: right;
	font-variant:all-petite-caps;
	border-bottom: 1px solid var(--color-red);
}

.services .cards .card .text {
	font-size: 1rem;
	text-align: justify;
	padding-top: 0.2em;
	hyphens: auto;
}

.services .cards .card .text p {
	margin: 0 0 0.77rem;
}

.services .cards .card .text ul,
.services .cards .card .text ul li:first-of-type {
	margin-top: 0;
}

.services .cards .card .text li {
	line-height: 1.5;
	margin-bottom: 0.5em;
}

.services .cards .card .link {
	display: block;
	margin: 1em 0.25em;
	text-align: right;
	font-weight: bold;
	text-decoration: underline;
}