:root {
    --primary-font: 'Roboto', sans-serif;
    --base-font-size: 15px;

    --white: 255,255,255;
    --black: 0,0,0;
    --blue: #2d23e1;
    --red: #dc3545;

    --radius: 4px;
    --space: 30px;
    --shadow: 0 0 35px rgba(0,0,0,0.12);
    --transition: all 0.3s ease-in-out;
}

body { font-family: var(--primary-font); font-size: var(--base-font-size); position: relative; color: rgba(var(--black),.85);; }

a, a:hover, a:focus { outline: none; text-decoration: none; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-family: var(--primary-font); color: var(--blue); font-weight: 700; }

.space-15 { height: 15px; }
.space-30 { height: 30px; }

.text-large { font-size: 1.15rem; }
.color-black { color: rgb(var(--black)); }
.font-thin { font-weight: 300; }
.right-side-btn { float: left; margin: 1rem 0; }

.wpcf7-form-control-wrap { display: block; margin-bottom: 1rem; }
.wpcf7-not-valid-tip { font-size: 90%; margin-top: 0.15rem; }
.wpcf7-spinner { top: 8px; margin: 0px 10px; }
.wpcf7 form .wpcf7-response-output { border: 0; padding: 0.75em 1em; margin: 1em 0; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output { background: rgba(255,185,0,0.25); }
.wpcf7 form.sent .wpcf7-response-output { background: rgba(70,180,80,0.25); }
.form-label { display: block; margin-bottom: 0.25rem; font-weight: 700; }
.form-control { margin-bottom: 0; }
textarea { height: 125px; resize: vertical; }
.theme-btn { background: var(--blue); color: rgb(var(--white)); display: inline-block; padding: 0.5rem 1rem; transition: var(--transition); }
.theme-btn:hover { background: var(--red); color: rgb(var(--white)); }

.round-button { height: 46px; line-height: 1.2rem; border: 1px solid rgb(var(--white)); padding-right: 65px; padding-left: 30px; border-radius: 30px; outline: 0; color: #052E45; transition: color ease .3s; background: 0 0; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; max-width: 100%; font-size: 110%; position: relative; }
.round-button:before { content: ''; border-radius: 50%; width: 44px; height: 44px; position: absolute; right: 0; top: 0; background-color: var(--blue); transition: -webkit-transform .3s; transition: transform .3s; transition: transform .3s,-webkit-transform .3s; -webkit-transform: scale(0); transform: scale(0); }
.round-button > span:first-child { max-width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.button__arrow { width: 44px; height: 44px; position: absolute; right: 0; top: 0; border-radius: 50%; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; transition: background-color .3s ease; -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.round-button:hover { color: var(--blue); }
.round-button:hover::before { -webkit-transform: scale(1); transform: scale(1); }
.round-button:hover .button__arrow { color: rgb(var(--white)); }
.round-button-white { background-color:rgb(var(--white)); color: rgb(var(--black)); }
.round-button.round-button-outline { border:1px solid var(--blue); }

.header { padding: 1rem 0; border-bottom: 1px solid rgb(var(--white),.25); }
.home .header { position: absolute; width: 100%; top: 0; z-index: 10; }
.inner-page .header { background: rgb(var(--white)); }
.header .navbar-brand { padding: 0; margin: 0; }
.brand-logo { width: auto; height: 55px; }

.navbar { padding: 0; }
#mainNav li:not(:last-child) { margin-right: 3rem; }
#mainNav a { text-transform: uppercase; color: rgb(var(--white)); font-weight: 500; }
.inner-page #mainNav a { color: rgba(var(--black),.75); }
#mainNav li:hover a, #mainNav li.current-menu-item a { color: var(--blue); }
.mobile-menu-open { display:none; }
.mobile-menu { position: absolute;  width: 250px;  height: 100%; background: rgba(45,35,225,.75); padding: 2rem; z-index: 100; transition: var(--transition); top: 0; left: -250px; }
.mobile-menu.mobile-menu-opened { left: 0; }
.mobile-menu li { margin-bottom: 1rem; }
.mobile-menu li a { color: rgb(var(--white)); }
.mobile-menu-icon img { width: 25px; height: 25px; filter: brightness(0) invert(1); cursor: pointer; }
.mobile-menu-open img { width: 35px; height: 35px; }
.page-home .mobile-menu-open img { filter: brightness(0) invert(1); cursor: pointer; }

.section { padding: 6rem 0; }
.section.full-width-banner { padding: 10rem 0; }
.section-bg-img { background-position: center; background-repeat: no-repeat; background-size: cover; }
.section-title p { font-size: 150%; margin-bottom: 0.5rem; }

.home-header-banner { position: relative; width: 100%; top: 0; padding: 10rem 0; color: rgb(var(--white)); }
.home-header-banner:before { /* content: ""; width: 100%; height: 100%; background: rgb(0,0,0); background: linear-gradient(90deg, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0) 100%); position: absolute; top: 0; */ }
.home-header-banner .container { position: relative; z-index: 10; }
.home-header-banner h1 { margin-bottom: 1.5rem; color: var(--blue); font-weight: 700; font-size: 2.25rem; }
.home-header-banner p { font-size: 16px; color: rgb(var(--black)); margin-bottom: 1.5rem; }
.home-header-banner .theme-btn { background: transparent; border: 1px solid var(--blue); color: var(--blue); }
.home-header-banner .theme-btn:hover { background: var(--red); border-color: var(--red); color: rgb(var(--white)); }

.product-box { height: 295px; text-align: left; box-sizing: border-box; position: relative; border: 1px solid rgba(var(--black),0.1); perspective: 1000px; /*box-shadow: 0 4px 8px 0 rgba(var(--black),0.2);*/ padding: 20px; text-align: center; }
.product-box-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.8s; transform-style: preserve-3d; }
.product-box-img, .product-content { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.product-content { padding: 20px 20px 20px 20px; transform: rotateY(180deg); }
.product-content-inner { position: relative; top: 50%; transform: translateY(-50%); }
.product-box img { width: 100%; max-width: 100%; height: 200px; object-fit: cover; }
.product-box h2 { font-size: 1rem; color: rgb(var(--black)); margin: 1rem 0 0; }
.product-content-inner h2 { color: var(--blue); margin: 0 0 10px; }
.product-box:hover .product-box-inner { transform: rotateY(180deg); }
.product-use-for { margin: 1rem 0; }
.product-short-info { color: rgb(var(--black)); font-size: 13px; }

.service-box { padding: 2rem; border: 2px solid transparent; transition: var(--transition); }
.service-box:hover { border-color: var(--blue); }
.service-box h3 { font-size: 1.35rem; font-weight: 700; margin: 0 0 0 0.5rem; color: rgb(var(--black)); }

.partner-logo img { border: 1px solid rgb(var(--black),.15); padding: 15px; width: auto !important; margin: 0 auto; margin-bottom: 10px; }
.img-carousel .item { position:relative; }
.img-carousel .item:before { content: ""; position: absolute; top: 0; right: 0; width: 100%; height: 100%; background: rgba(var(--black),.2); transition: var(--transition); }
.img-carousel .item:hover:before { background: rgba(var(--black),0); }
.img-carousel .item h4 { font-size: 1.2rem; position: absolute; bottom: 2rem; padding: 0 2rem; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; color: rgb(var(--white)); }

.alliances-logos { text-align: center; }
.alliances-logos .logo-col { float: none; display: inline-block; width: 14%; margin: 0 1%; }
.alliances-logos .alliances-logo { margin-bottom: 10px; }
.alliances-logos .logo-col img { border: 1px solid rgb(var(--black),.15); max-width: 100%; height: auto; transition: var(--transition); }
.alliances-logos .logo-col img:hover { border-color: var(--blue); }

.page-contact-us h1 { font-size: 2rem; }

.footer { background: rgb(var(--black)); color: rgb(var(--white)); padding: 50px 0 10px; font-size: 13px; }
.footer .navbar-nav { display: block; overflow: hidden; }
.footer .navbar-nav .menu-item { float: left; }
.footer .navbar-nav .menu-item:not(:last-child) { margin-right: 5%; }
.footer .navbar-nav a { color: rgb(var(--white)); }
.copyright { margin-top: 30px; border-top: 1px solid rgba(var(--white),.5); padding-top: 20px; }

/* Media quaries */
@media only screen and (max-width:991px) {
	.section { padding: 3rem 0; }
	.home-header-banner { padding: 8rem 0 3rem; }
	.home-header-banner h1 { font-size: 2rem; }
	.home-header-banner p { font-size: 14px; }
	.product-box { padding: 15px; }
	.product-box h2 { font-size: 0.7rem; }
}

@media only screen and (max-width:767px) {
	.mobile-hide { display: none; }
	.text-large { font-size: var(--base-font-size); }
	.mobile-menu-open { display: block; }
	.brand-logo { height: 45px; }
	.section { padding: 3rem 0; }
	.home-header-banner { padding: 6rem 0 3rem; }
	.home-header-banner h1 { font-size: 1.5rem; }
	.home-header-banner p { font-size: 12px; }
	.product-box { padding: 15px; margin-bottom: 30px; height: 330px; }
	.product-box h2 { font-size: 1rem; }
	.product-box img { height: auto; }
	.alliances-logos .logo-col { float: none; display: inline-block; width: 43%; margin: 0 3% 4%; }
	.alliances-logos .logo-col:last-child { margin-bottom: 0; }
	.footer { padding-top: 20px; }
	.footer h5 { margin-top: 30px; }
}