@import url("../icons/fontawesome/css/all.min.css");
@import url("../plugins/slick/slick.css");
@import url("../plugins/slick/slick-theme.css");
@import url("../fonts/stylesheet.css");

/* -------------------*
 *       GLOBAL       
 *------------------- */
html,
body { font-size: 17px; font-weight: 400; color: #222; background: #fff; font-family:'Lato', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
input, select, textarea, button { font-size:15px; font-family:'Lato', Helvetica, Arial, sans-serif; }
ol, ul, p { margin-bottom: 1.5rem; line-height: 1.6em; }
a { color:#004489; text-decoration:underline; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
a:hover, a:focus { color:#004489; text-decoration: none; } 
.nowrap { white-space:nowrap; }
img { max-width:100%; height:auto; }
button { width:auto; padding:0; overflow:visible; cursor: pointer; line-height:normal !important; }
button::-moz-focus-inner { border:0; padding:0;  margin:-1px 0 0 0; }
button:active { box-shadow:inset 1px 1px 2px rgba(0,0,0,0.3); }
.align-middle { display:flex; align-items:center; }
.lead { font-size: 20px; line-height: 1.4em; font-weight: 400; }
.caps { text-transform:uppercase; }
.color { color: #e66b2f; }
hr { margin-top:30px; margin-bottom:30px; }
strong { font-weight: 800; }
.mb-0 { margin-bottom: 0; }
.pb-0 { padding-bottom: 0 !important; }
[data-href] { cursor: pointer; }
.text-primary { color: #004489 !important; }
.text-muted { color: #808080 !important;  }
.hr-dark { background: #000; opacity: 1; }
.border-bottom { border-color: #000 !important; }
.section-dark.border-bottom { border-color: #fff !important; }
.normal { font-weight: 400 !important; }
.h3.normal { text-transform: initial; }

.overflow { overflow: hidden; }
img.alignnone { border-radius: 10px; }

.rounded-img { border-radius: 30px; overflow: hidden; }
.sticky-img { position: sticky; top: 100px; }

.grayscale { opacity: 0.5; filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url('../images/layout/grayscale.svg#greyscale'); filter: gray; -webkit-filter: grayscale(1); -webkit-transition:0.4s; -moz-transition:0.4s; -ms-transition:0.4s; -o-transition:0.4s; transition:0.4s; }
.grayscale:hover { opacity: 1; -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -ms-filter: grayscale(0%); -o-filter: grayscale(0%); filter: none; }

/* headlines
----------------------------------------- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 { color: #004489; font-weight: 700; font-style: italic; font-family: 'Serpentine Pro', Helvetica, Arial, sans-serif; }
h1, .h1 { font-size: 60px; line-height: 1em; margin-bottom: 1rem; } 
h2, .h2 { font-size: 35px; line-height: 1.2em; margin-bottom: 1rem; }
h3, .h3 { font-size: 22px; line-height: 1.2em; margin-bottom: 0.8rem; }
h4, .h4 { font-size: 18px; margin-bottom: 1rem; }
h5, .h5 { font-size: 16px; line-height: 1.3em; }
.subtitle { text-transform: uppercase; color: #004489; opacity: 0.5; font-weight: 600; letter-spacing: 1px; font-size: 14px; padding-bottom: 0.3rem; position: relative; display: block; }
/*.subtitle:before { content: ''; display: block; position: absolute; top: 10px; left: 0; width: 30px; height: 1px; background: #D60000; }*/

/* clear 
----------------------------------------- */
.clear { clear:both; }

/* -------------------*
 *       LAYOUT       *
 *------------------- */

/* header
---------------------------------------- */
header { border: 0; z-index: 50; position: fixed; top: 0; left: 0; right: 0; background: transparent; }
.admin-bar header { top: 32px; }
header .navbar { padding: 20px 0; display: block; z-index: 51; color: #000; background: #fff; /*box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); -webkit-backdrop-filter: blur(10px); -moz-backdrop-filter: blur(10px); -ms-backdrop-filter: blur(10px); backdrop-filter: blur(10px);*/ -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar a { color: #000; }
header .navbar .navbar-brand { line-height: 1em; margin: 0 0 -5px; padding: 0; }
header .navbar .navbar-brand .navbar-brand-logo { margin-right: 15px; }
header .navbar .navbar-nav { list-style: none; padding: 0; align-items: center; }
header .navbar .navbar-nav li { position: relative; padding: 0 25px; line-height: 1em; }
header .navbar .navbar-nav li:first-child { padding-left: 0; border-left: 0; }
header .navbar .navbar-nav li:last-child { padding-right: 0; }
header .navbar .navbar-nav li a { font-size: 18px; font-weight: 600; line-height: 1em; display: block; padding: 12px 0; text-decoration: none; position: relative; font-family: 'Lato', Helvetica, Arial, sans-serif; }
header .navbar .navbar-nav li.current-menu-item > a { color: #004489; }
header .navbar .navbar-nav li a:hover { color: #004489; }
header .navbar .navbar-nav li.menu-item-has-children > a { padding-right: 15px; }
header .navbar .navbar-nav li.menu-item-has-children > a:after {  content: '\f107'; display: block; position: absolute; top: 50%; right: 0; transform: translateY(-50%); font-weight: 400; font-size: 14px; font-family: 'Font Awesome 6 Pro' }
header .navbar .navbar-nav li ul { display: none; list-style: none; position: absolute; top: 100%; left: 0; min-width: 100%; background: #fff; padding: 10px 25px; text-align: left; border-radius: 4px; box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1); }
header .navbar .navbar-nav li:hover ul { display: block; }
header .navbar .navbar-nav li ul li { padding: 3px 0; }
header .navbar .navbar-nav li ul li a { font-size: 16px; display: inline-block; white-space: nowrap; color: #000; font-weight: 500; padding: 5px 0; font-family:'Lato', Helvetica, Arial, sans-serif; }
header .navbar .navbar-nav li ul li a:hover { color: #004489; opacity: 0.8; }
header .navbar .navbar-nav li.highlight > a { border: 2px solid #004489; padding: 12px 16px; border-radius: 5px; color: #004489; -webkit-transition: linear 0.4s; -moz-transition: linear 0.4s; transition: linear 0.4s; }
header .navbar .navbar-nav li.highlight > a i { margin-right: 8px; }
header .navbar .navbar-nav li.highlight > a:hover { color: #fff; box-shadow: inset 140px 0 0 0 #004489; border-color: #004489; }

header .navbar .navbar-nav.navbar-lang ul { left: auto; right: 0; padding-left: 20px; padding-right: 20px; }
header .navbar .menu-lang > a img { border-radius: 50%; border: 1px solid #004489; }
header .navbar .menu-lang a { text-transform: lowercase; }
header .navbar .menu-lang a:first-letter { text-transform: uppercase; }
header .navbar .menu-lang ul a { width: 30px; }
header .navbar .menu-lang ul a img { border-radius: 50%; box-shadow: 0 3px 5px rgba(0,0,0,0.2); }
header .navbar .menu-lang ul a:hover img { box-shadow: none; }

header .navbar-toggler { padding: 0; margin:  0 -5px 0 0; border: 0; width: 50px; height: 50px; outline: none !important; box-shadow: none !important; background: transparent; border-radius: 50%; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .navbar-toggler-text { display: inline-block; vertical-align: middle; text-transform: uppercase; font-weight: 500; }
header .navbar-toggler .burger { display:inline-block; vertical-align: middle; margin: -3px 0 0 0; }
header .navbar-toggler .burger span { width: 30px; height: 2px; background: #004489; display:block; margin: 5px 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .burger span.line-top { margin-top: 1px; -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); }
header .navbar-toggler .burger span.line-bottom { margin-top: -14px; -ms-transform: rotate(-135deg); -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
header .navbar-toggler .burger span.line-middle { opacity: 0; }
header .navbar-toggler.collapsed .burger span.line-top { margin-top: 4px; transform: none; }
header .navbar-toggler.collapsed .burger span.line-middle { opacity: 1; }
header .navbar-toggler.collapsed .burger span.line-bottom { margin-top: 4px; transform: none; }

header .navbar-toggler:hover .burger span { background: #D60000; }

.scroll header .navbar { padding: 10px 0; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

/* main
---------------------------------------- */
main { position: relative; z-index: 1; }


.modal-open main { position: static; }
.modal { text-align: left; }
.modal-content { border-radius: 30px; border: 0; }
.modal-header { border: 0; padding: 40px 40px 5px 50px; }
.modal-body { padding: 60px; }
.modal { -webkit-backdrop-filter: blur(10px); -moz-backdrop-filter: blur(10px); -ms-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* headline
---------------------------------------- */
.headline { padding: 80px 0 0; position: relative; }
.headline.headline-subpage { color: #fff; background-color: #004489; overflow: hidden; }
.headline.headline-subpage h1 { color: #fff; }
/*.headline:after { content: ''; display: block; z-index: 2; background: #000; opacity: 0.7; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.headline:before { content: ''; display: block; z-index: 2; position: absolute; top: 0; right: 0; left: 0; opacity: 0.8; height: 250px; background: rgb(0,0,0); background: -moz-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%); background: -webkit-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%); background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1); }*/

.headline-content-box:before { content: ''; display: block; position: absolute; z-index: 1; top: 0; left: 40%; bottom: 0; width: 50%; opacity: 0.80; background: rgb(0,68,137); background: -moz-linear-gradient(90deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); background: -webkit-linear-gradient(90deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); background: linear-gradient(90deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
.headline-content-box:after { content: ''; display: block; position: absolute; z-index: 1; top: 0; left: 0; bottom: 0; width: 40%; opacity: 0.80; background: rgb(0,68,137); }
.headline-home .headline-content-box { min-height: 90vh; padding: 100px 0; align-items: center; align-content: center; background: #eee; background-size: cover; background-position: center; }
.headline-home .headline-content-box-text { width: 50%; color: #fff; }
.headline-home .headline-content-box:before,
.headline-home .headline-content-box:after { opacity: 0.4; }

.headline-service .headline-content-box .headline-bg { position: absolute; top: 0; right: 0; bottom: 0; width: 40%; background-size: cover; background-position: center; opacity: 0.7; }
.headline-service .headline-content-box:before { left: 60%; width: 35%; opacity: 1 !important; }
.headline-service .headline-content-box:after { width: 100%; opacity: 0.1 !important; }

.headline-content-box { min-height: 450px; padding: 100px 0 30px; align-items: center; align-content: center; background-size: cover; background-position: center; }
.headline-subpage-small .headline-content-box { min-height: 1px; }
.headline-content { position: relative; margin-bottom: 0 !important; }
.headline-content-box .container-lg { position: relative; z-index: 2; }
.headline-content-box-text { width: 60%; }
.headline-content-box-text .h1 { margin-bottom: 1.5rem; color: #fff; }
.headline-content-box-text p.lead { margin-bottom: 2.5rem; }

/*.headline.headline-centered .headline-content-box { text-align: center; }
.headline.headline-centered .headline-content-box-text { margin: 0 auto; }*/

.headline.headline-subpage .headline-content-box { text-align: center; }
.headline.headline-subpage .headline-content-box-text { margin: 0 auto; }

.headline.headline-simple { color: #004489; background: transparent; }
.headline.headline-simple h1 { color: #004489; }
.headline.headline-simple .headline-content-box { padding-bottom: 1px; min-height: 1px; }
.headline.headline-simple .headline-icon,
.headline.headline-simple .headline-content-box:before,
.headline.headline-simple .headline-content-box:after { display: none; }

body.slug-group-9 .headline-subpage { color: #000; background-color: #88d392; background-position: center calc(50%); }
body.slug-group-9 .headline-content-box h1 { color: #004489; }
body.slug-group-9 .services .service-item .service-item-bg:before,
body.slug-group-9 .headline-content-box:before { opacity: 0.95; background: rgb(136,211,146); background: -moz-linear-gradient(90deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); background: -webkit-linear-gradient(90deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); background: linear-gradient(90deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-9 .services .service-item .service-item-bg:after { background: rgb(136,211,146); background: -moz-linear-gradient(180deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); background: -webkit-linear-gradient(180deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); background: linear-gradient(180deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-9 .headline-content-box:after { opacity: 0.95; background: rgb(136,211,146); }
body.slug-group-9 .section-gray { background: rgb(136,211,146, 0.2); }

body.slug-group-9 .services .service-item { background-color: #88d392; }
body.slug-group-9 .services .service-item:after { opacity: 0.2; }
body.slug-group-9 .services .service-item * { color: #004489; }
body.slug-group-9 .services-products .product-item-content:after { background: rgb(136,211,146); background: -moz-linear-gradient(0deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); background: -webkit-linear-gradient(0deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); background: linear-gradient(0deg, rgba(136,211,146,1) 0%, rgba(136,211,146,0) 100%); }
body.slug-group-9 .services-products .product-item:hover .product-item-content:after { background: rgb(136,211,146); }


body.slug-group-11 .headline-subpage { color: #000; background-color: #ffdd72; background-position: center calc(50%); }
body.slug-group-11 .headline-content-box h1 { color: #004489; }
body.slug-group-11 .services .service-item .service-item-bg:before,
body.slug-group-11 .headline-content-box:before { opacity: 0.8; background: rgb(255,221,114); background: -moz-linear-gradient(90deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); background: -webkit-linear-gradient(90deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); background: linear-gradient(90deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-11 .services .service-item .service-item-bg:after { background: rgb(255,221,114); background: -moz-linear-gradient(180deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); background: -webkit-linear-gradient(180deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); background: linear-gradient(180deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-11 .headline-content-box:after { opacity: 0.8; background: rgb(255,221,114); }
body.slug-group-11 .section-gray { background: rgb(255,221,114, 0.2); }

body.slug-group-11 .services .service-item { background-color: #ffdd72; }
body.slug-group-11 .services .service-item:after { opacity: 0.2; }
body.slug-group-11 .services .service-item * { color: #004489; }
body.slug-group-11 .services-products .product-item-content:after { background: rgb(255,221,114); background: -moz-linear-gradient(0deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); background: -webkit-linear-gradient(0deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); background: linear-gradient(0deg, rgba(255,221,114,1) 0%, rgba(255,221,114,0) 100%); }
body.slug-group-11 .services-products .product-item:hover .product-item-content:after { background: rgb(255,221,114); }


body.slug-group-13 .headline-subpage { color: #FFF; background-color: #a292bf; background-position: center calc(50%); }
body.slug-group-13 .headline-content-box h1 { color: #FFF; }
body.slug-group-13 .services .service-item .service-item-bg:before,
body.slug-group-13 .headline-content-box:before { opacity: 0.8; background: rgb(162,146,191); background: -moz-linear-gradient(90deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); background: -webkit-linear-gradient(90deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); background: linear-gradient(90deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-13 .services .service-item .service-item-bg:after { background: rgb(162,146,191); background: -moz-linear-gradient(180deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); background: -webkit-linear-gradient(180deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); background: linear-gradient(180deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-13 .headline-content-box:after { opacity: 0.8; background: rgb(162,146,191); }
body.slug-group-13 .section-gray { background: rgb(162,146,191, 0.2); }

body.slug-group-13 .services .service-item { background-color: #a292bf; }
body.slug-group-13 .services .service-item:after { opacity: 0.2; }
body.slug-group-13 .services .service-item * { color: #fff; }
body.slug-group-13 .services-products .product-item-content:after { background: rgb(162,146,191); background: -moz-linear-gradient(0deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); background: -webkit-linear-gradient(0deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); background: linear-gradient(0deg, rgba(162,146,191,1) 0%, rgba(162,146,191,0) 100%); }
body.slug-group-13 .services-products .product-item:hover .product-item-content:after { background: rgb(162,146,191); }


body.slug-group-15 .headline-subpage { color: #000; background-color: #73d3f6; background-position: center calc(50%); }
body.slug-group-15 .headline-content-box h1 { color: #004489; }
body.slug-group-15 .services .service-item .service-item-bg:before,
body.slug-group-15 .headline-content-box:before { opacity: 0.8; background: rgb(115,211,246); background: -moz-linear-gradient(90deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); background: -webkit-linear-gradient(90deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); background: linear-gradient(90deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-15 .services .service-item .service-item-bg:after { background: rgb(115,211,246); background: -moz-linear-gradient(180deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); background: -webkit-linear-gradient(180deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); background: linear-gradient(180deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-15 .headline-content-box:after { opacity: 0.8; background: rgb(115,211,246); }
body.slug-group-15 .section-gray { background: rgb(115,211,246, 0.2); }

body.slug-group-15 .services .service-item { background-color: #73d3f6; }
body.slug-group-15 .services .service-item:after { opacity: 0.2; }
body.slug-group-15 .services .service-item * { color: #004489; }
body.slug-group-15 .services-products .product-item-content:after { background: rgb(115,211,246); background: -moz-linear-gradient(0deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); background: -webkit-linear-gradient(0deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); background: linear-gradient(0deg, rgba(115,211,246,1) 0%, rgba(115,211,246,0) 100%); }
body.slug-group-15 .services-products .product-item:hover .product-item-content:after { background: rgb(115,211,246); }


body.slug-group-17 .headline-subpage { color: #000; background-color: #f58488; background-position: center calc(50%); }
body.slug-group-17 .headline-content-box h1 { color: #004489; }
body.slug-group-17 .services .service-item .service-item-bg:before,
body.slug-group-17 .headline-content-box:before { opacity: 0.8; background: rgb(245,132,136); background: -moz-linear-gradient(90deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); background: -webkit-linear-gradient(90deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); background: linear-gradient(90deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-17 .services .service-item .service-item-bg:after { background: rgb(245,132,136); background: -moz-linear-gradient(180deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); background: -webkit-linear-gradient(180deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); background: linear-gradient(180deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-17 .headline-content-box:after { opacity: 0.8; background: rgb(245,132,136); }
body.slug-group-17 .section-gray { background: rgb(245,132,136, 0.2); }

body.slug-group-17 .services .service-item { background-color: #f58488; }
body.slug-group-17 .services .service-item:after { opacity: 0.2; }
body.slug-group-17 .services .service-item h3 { color: #004489; }
body.slug-group-17 .services .service-item * { color: #000; }
body.slug-group-17 .services-products .product-item-content:after { background: rgb(245,132,136); background: -moz-linear-gradient(0deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); background: -webkit-linear-gradient(0deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); background: linear-gradient(0deg, rgba(245,132,136,1) 0%, rgba(245,132,136,0) 100%); }
body.slug-group-17 .services-products .product-item:hover .product-item-content:after { background: rgb(245,132,136); }


body.slug-group-19 .headline-subpage { color: #000; background-color: #cbdae7; background-position: center calc(50%); }
body.slug-group-19 .headline-content-box h1 { color: #004489; }
body.slug-group-19 .services .service-item .service-item-bg:before,
body.slug-group-19 .headline-content-box:before { opacity: 0.8; background: rgb(203,218,231); background: -moz-linear-gradient(90deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); background: -webkit-linear-gradient(90deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); background: linear-gradient(90deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-21 .services .service-item .service-item-bg:after,
body.slug-group-19 .services .service-item .service-item-bg:after { background: rgb(203,218,231); background: -moz-linear-gradient(180deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); background: -webkit-linear-gradient(180deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); background: linear-gradient(180deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
body.slug-group-19 .headline-content-box:after { opacity: 0.8; background: rgb(203,218,231); }
body.slug-group-19 .section-gray { background: rgb(203,218,231, 0.2); }

body.slug-group-21 .services .service-item,
body.slug-group-19 .services .service-item { background-color: #cbdae7; }
body.slug-group-21 .services .service-item:after,
body.slug-group-19 .services .service-item:after { opacity: 0.2; }
body.slug-group-21 .services .service-item *,
body.slug-group-19 .services .service-item * { color: #004489; }
body.slug-group-19 .services-products .product-item-content:after { background: rgb(203,218,231); background: -moz-linear-gradient(0deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); background: -webkit-linear-gradient(0deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); background: linear-gradient(0deg, rgba(203,218,231,1) 0%, rgba(203,218,231,0) 100%); }
body.slug-group-19 .services-products .product-item:hover .product-item-content:after { background: rgb(203,218,231); }

.headline-home .slick-current .headline-box-bg { animation: fadezoom 4s ease-in forwards; }
@keyframes fadezoom { 0% { transform: scale(1); } 100% { transform: scale(1.2); } }

.headline .container-lg { position: relative; z-index: 3; }
.headline .headline-slider { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; margin-bottom: 0 !important; }
.headline-slider .slick-list,
.headline-slider .slick-track { height: 100%; }
.headline-box-bg { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; background-size: cover; background-position: center; background-repeat: no-repeat; }

.headline .headline-icon { display: block; position: absolute; opacity: 0.15; z-index: 1; bottom: -10%; right: 0; width: 410px; height: 500px; background: url(../images/layout/pattern-light.svg) no-repeat left center; background-size: cover; }
.headline-home .headline-icon { background-image: url(../images/layout/pattern.svg); }
.headline.headline-subpage .headline-icon { width: 440px; height: 440px; bottom: auto; bottom: -20px; right: auto; left: 0; background-position: right bottom; }

/* section
---------------------------------------- */
.section { padding: 100px 0; position: relative; }
.section-head { padding-bottom: 2.5rem; width: 1000px; max-width: 100%; margin: 0 auto; }
.section-head h2 a { color: #000; }
.section-gray { background: #edf2f7; }

body:not(.home) .main .section:has(+ .section:not(.section-gray)) { padding-bottom: 0; }
body:not(.home) .main .section + .section:not(.section-gray) { padding-top: 0; }

.post-password-form,
.box-color { padding: 30px 30px 5px; margin-bottom: 1.5rem; border-radius: 5px; background-color: #edf2f7; }

.post-password-form { padding-top: 25px; padding-bottom: 10px; margin-bottom: 2rem; }

.post-password-form p { margin-bottom: 1rem; }

.section-about { position: relative; background: #edf2f7; }
.section-about .container-lg { position: relative; z-index: 3; }
.section-about:before { z-index: 2; content: ''; display: block; position: absolute; top: 0; left: 0; bottom: 0; width: 70%;  background: #edf2f7; background: -moz-linear-gradient(90deg, rgba(243,249,254,1) 60%, rgba(243,249,254,0) 100%); background: -webkit-linear-gradient(90deg, rgba(243,249,254,1) 60%, rgba(243,249,254,0) 100%); background: linear-gradient(90deg, rgba(243,249,254,1) 60%, rgba(243,249,254,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e1e1e1",endColorstr="#e1e1e1",GradientType=1); }
.section-about .map-wrap { position: absolute; bottom: 0; left: 35%; top: 0; right:  0; }
.section-about #map { height: 105%; position: relative; z-index: 1; outline: none; pointer-events: none; }

.section-about .leaflet-tile-pane { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url('../images/layout/grayscale.svg#greyscale'); filter: gray; -webkit-filter: grayscale(1); -webkit-transition:0.4s; -moz-transition:0.4s; -ms-transition:0.4s; -o-transition:0.4s; transition:0.4s;  }
.section-about .about-icon { display: block; position: absolute; opacity: 0.15; z-index: 2; top: -10%; left: 0; width: 310px; height: 400px; background: url(../images/layout/pattern.svg) no-repeat right; center; background-size: cover; }

.cols { margin: 0 -25px; }
.cols > div { padding-left: 25px; padding-right: 25px; }

/*.main { background: url(../images/layout/bg-divide-blue-bottom.jpg) no-repeat bottom right; }*/

/* peoples
---------------------------------------- */
.section-people { border-radius: 10px; margin-top: -3rem; }
.peoples .people-item { padding-bottom: 1.5rem; }

/* services
---------------------------------------- */
.services > div { margin-bottom: 1.5rem; }
.services .service-item { padding: 2rem 2rem 5rem; min-height: 100%; background: #004489; border-radius: 10px; position: relative; overflow: hidden; }
.services .service-item.nolink { padding-bottom: 2rem; }
.services .service-item:after { content: ''; display: block; position: absolute; z-index: 2; top: 0; left: -10%; height: 350px; right: 10%; opacity: 0.1; background-image: url(../images/layout/pattern-light.svg); background-repeat: no-repeat; background-position: right bottom; background-size: 100% auto; }
.services .service-item * { color: #fff; position: relative; z-index: 3; }
.services .service-item ul,
.services .service-item ol,
.services .service-item p { font-size: 15px; }
.services .service-item p:last-child,
.services .service-item ul:last-child { margin-bottom: 0; }
.services .service-item .btn { position: absolute; bottom: 2rem; left: 2rem; }
.services .service-item h3 { margin-bottom: 1rem; }
.services .service-item ul a { text-decoration: none; }
.services .service-item ul a:hover { text-decoration: underline; }
.services .service-item ul li:before { top: 12px; }
.services .service-item .service-item-icon { font-size: 60px; line-height: 1em; height: 60px; display: block; margin-bottom: 1.5rem; }
.services .service-item .service-item-icon-img { }
.services .service-item .service-item-icon-img img { width: auto; max-height: 100%; }
.services .service-item .service-item-bg { z-index: 1; position: absolute; bottom: 0; right: 0; left: 0; height: 40%; max-height: 200px; min-height: 150px; background-repeat: no-repeat; background-size: 100% auto; background-position: center bottom; opacity: 0.4; }
.services .service-item .service-item-bg:before { content: ''; opacity: 0.8 !important; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.services .service-item .service-item-bg:after { content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 50%; left: 0; background: rgb(0,68,137); background: -moz-linear-gradient(180deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); background: -webkit-linear-gradient(180deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); background: linear-gradient(180deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#004489",endColorstr="#004489",GradientType=1); }

.services-products { padding: 1rem 0 2rem; }
.services-products .col-md-4 { margin-bottom: 1.5rem; min-height: 450px; }
.services-products .product-item { display: flex; flex-wrap: wrap; color: #fff; justify-content: center; align-items: flex-end; overflow: hidden; font-size: 16px; min-height: 100%; background: #edf2f7; border-radius: 10px; background-size: cover; background-position: center; position: relative; }
.services-products .product-item h3 { color: #fff; }
.services-products .product-item-content:after { content: ''; display: block; position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; background: rgb(0,68,137); background: -moz-linear-gradient(0deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); background: -webkit-linear-gradient(0deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); background: linear-gradient(0deg, rgba(0,68,137,1) 0%, rgba(0,68,137,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#004489",endColorstr="#004489",GradientType=1); -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.section-gray .services-products .product-item,
.section-gray .services-products .product-item:after { background-color: #fff; }
.services-products .product-item-content > *,
.services-products .product-item > div { position: relative; z-index: 3; }
.services-products .product-item-image { height: 250px; padding: 1rem; display: flex; align-content: center; justify-content: center; }
.services-products .product-item-image img { width: auto; max-height: 100%; /*height: 100%; object-fit: cover;*/ }
.services-products .product-item-content { width: 100%; padding: 3rem 2rem 0.5rem; }
.services-products .product-item-content ul li { font-size: 15px; padding-bottom: 2px; padding-top: 2px; }
.services-products .product-item-content ul li:before { top: 10px; background-color: #D60000; }
.services-products .product-item-content-others { display: none; padding-bottom: 1rem; }
.services-products .product-item-content a { color: #fff; }

.services-products .product-item:before { content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.services-products .product-item:hover:before { opacity: 1; -webkit-backdrop-filter: blur(5px); -moz-backdrop-filter: blur(5px); -ms-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.services-products .product-item:hover .product-item-content { min-height: 450px; align-content: flex-end; }
.services-products .product-item:hover .product-item-content:after { opacity: 0.8; }
.services-products .product-item:hover .product-item-content-others { display: block; }

/*.services.slick-initialized,
.services-products.slick-initialized { padding-bottom: 4rem; }*/
.services.slick-initialized .col-md-4,
.services-products.slick-initialized .col-md-4 { padding: 0 10px; margin: 0; }
.services.slick-initialized .slick-list,
.services-products.slick-initialized .slick-list { /*overflow: visible;*/ display: grid; }
.services.slick-initialized .slick-slide,
.services-products .slick-slide { height:  100% !important; }
.services.slick-initialized .slick-track,
.services-products .slick-track { height: 100%; }
.services.slick-initialized .slick-slide > div,
.services.slick-initialized .slick-slide > div .col-md-4,
.services-products .slick-slide > div,
.services-products .slick-slide > div .col-md-4 { height: 100%; }

.services .slick-prev { left: -45px; }
.services .slick-next { right: -45px; }
.services .slick-dots { position: relative; bottom: auto; left: auto; right: auto; text-align: center; transform: none; /*bottom: -45px;*/ }

.text-page .services ul li:before { background: #004489; }

.products-slider-nav { display: flex; justify-content: center; }
.products-slider-nav .slick-dots { margin: -2rem 0 2rem; }

.benefits .benefit-item { text-align: center; }
.benefits .benefit-item .benefit-item-icon { font-size: 3rem; color: #D60000; display: block; margin-bottom: 1rem; }

/* categories
---------------------------------------- */
/*.section-categories { background: url(../images/layout/bg-divide-blue.png) no-repeat top left; }*/
.categories { justify-content: center; margin: 0 -10px 20px; }
.categories > div { padding: 10px; }
.categories .category-item { font-size: 15px; color: #222; position: relative; overflow: hidden; display: block; padding: 2rem; text-align: center; min-height: 100%; text-decoration: none; background: #fff; border-radius: 10px; }
.categories .category-item:after { content: ''; display: block; position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; left: 0; opacity: 0.5; background-image: url(../images/layout/bg-service-item.png); background-position: center; background-size: cover; }
.categories .category-item * { position: relative; z-index:2;  }
.categories .category-item i { font-size: 50px; color: #004489; display: block; margin-bottom: 1rem; }
.categories .category-item .category-item-icon { width: 60px; height: 60px; display: flex; justify-content: cneter; align-items: center; margin: 0 auto 1rem; }
.categories .category-item .category-item-icon img { max-width: 140%; height: auto; }
.categories .category-item p { margin-bottom: 0; }
.categories .category-item-title { -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.categories .category-item:hover { box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); transform: scale(1.06); }
/*.categories .category-item:hover { color: #fff; background: #004489; }
.categories .category-item:hover .category-item-title { color: #fff; }*/

/* articles
---------------------------------------- */
.articles > div { padding-top: 1rem; padding-bottom: 1rem; }
.articles .article-item { display: block; text-decoration: none !important; min-height: 100%; border-radius: 10px; padding: 0 0 1.5rem; position: relative; }
.articles a.article-item:hover .btn-article { color: #D60000; }
.articles .article-item-image { margin-bottom: 0.5rem; border-radius: 5px; overflow: hidden; }
.articles .article-item-image img { -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.articles a.article-item:hover .article-item-image img { transform: scale(1.1); }
.articles .article-item-date { opacity: 0.5; display: block; margin-bottom: 5px; }
.articles .article-item .btn-article { font-size: 14px; color: #004489; position: absolute; bottom: 0; left: 0rem; padding: 0; text-align: center; height: 30px; line-height: 30px; }
.articles .article-item .btn-article i { font-size: 16px; }

.article-detail { width: 800px; max-width: 100%; margin: 0 auto; }
.article-detail .article-meta { font-size: 14px; }

/* boxes
---------------------------------------- */
.boxes { padding-top: 1rem; }
.boxes .box { padding: 1.5rem 0; }
.boxes .box img { border-radius: 10px; }
.boxes .box .box-content { padding-left: 60px; }
.boxes .box:nth-child(odd) .box-img { order: 2; }
.boxes .box:nth-child(odd) .box-text { order: 1; }
.boxes .box:nth-child(odd) .box-content { padding-left: 0; padding-right: 60px; }

/* gallery
---------------------------------------- */
.gallery { margin: 0 -10px 20px; }
.gallery > div { padding: 10px; }
.gallery .gallery-item { display: block; position: relative; color: #fff; overflow: hidden; border-radius: 5px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.gallery .gallery-item img { margin-bottom: 0; border-radius: 0; }
.gallery .gallery-item-overlay { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; background: #004489; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.gallery .gallery-item-overlay i { font-size: 50px; display: block; position: absolute; top: 150%; left: 50%; transform: translateX(-50%) translateY(-50%); -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.gallery .gallery-item:hover .gallery-item-overlay { opacity: 0.8; }
.gallery .gallery-item:hover .gallery-item-overlay i { top: 50%; }

/* attachments
---------------------------------------- */
.attachments { padding-top: 10px; }
.attachments li { padding-bottom: 10px; position: relative; }
.attachments li:before { display: none !important; }
.attachments li i { position: absolute; top: 4px; left: 0; font-size: 20px; color: #D60000; }
.attachments li a { color: #222; text-decoration: none; }
.attachments li a:hover { text-decoration: underline; color: #D60000; }
.attachments li .btn { margin-left: 10px; }

/* pagination
---------------------------------------- */
.wp-pagenavi { font-size: 20px; text-align: center; padding: 2rem 0; }
.wp-pagenavi:after { content: ''; display: block; clear: both; }
.wp-pagenavi .pages { float: left; line-height: 50px; opacity: 0.5; border: 0; display: none; }
.wp-pagenavi .current { font-weight: 400; opacity: 1; min-width: 50px; line-height: 46px; border-radius: 50%; color: #fff; background: #004489; display: inline-block; text-align: center; margin: 0 4px; border: 2px solid #004489; }
.wp-pagenavi a { color: #222; min-width: 50px; line-height: 46px; text-decoration: none !important; display: inline-block; text-align: center; border-radius: 50%; margin: 0 4px; border: 2px solid transparent; }
.wp-pagenavi a i { display: inline-block; vertical-align: middle; font-size: 18px; margin-top: -2px; }
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink { color: #222 !important; margin: 0 4px; opacity: 1 !important; }
.wp-pagenavi a:hover { color: #004489 !important; text-decoration: none; }

/* text page
---------------------------------------- */
.text-page blockquote { font-size: 38px; font-style: italic; text-transform: uppercase; font-family: 'Lato', Helvetica, Arial, sans-serif; }
.text-page blockquote p { line-height: 1.2em; letter-spacing: -1px; }
.text-page ul,
.text-page ol { list-style: none; padding-left: 0; }
.text-page ul li { padding-left: 20px; padding-top: 4px; padding-bottom: 5px; position: relative; }
.text-page ul li:before { content: ''; display: block; width: 10px; height: 10px; background: #004489; opacity: 0.4; border-radius: 50%; position: absolute; top: 14px; left: 0; }
.text-page ol li { counter-increment: step-counter; position: relative; padding-left: 20px;  }
.text-page ol li:before { font-weight: 400; width: 20px; text-align: left; position: absolute; top: 0; left: 0; content: counter(step-counter)'.'; }
.text-page a:not(.btn) { text-decoration: underline; background-image: none; }
.text-page a:not(.btn):hover { text-decoration: none; }

/* slick slider
---------------------------------------- */
main .slick-dotted.slick-slider { margin-bottom: 2rem !important; }
.slick-list * { outline: none !important; box-shadow: none !important; }
.slick-list .slick-slide { transform: translateZ(0) !important; }
/*.slick-list .slick-slide > div { font-size: 0; }*/
.slick-arrow { box-shadow: none !important; width: 45px; height: 45px; border-radius: 50%; background: #004489; background: transparent !important; }
.slick-arrow.slick-disabled,
.slick-arrow.slick-disabled:focus,
.slick-arrow.slick-disabled:active,
.slick-arrow.slick-disabled:hover { opacity: 0.3; color: #004489; background: transparent; cursor: default; }
.slick-arrow,
.slick-arrow:focus,
.slick-arrow:active { z-index: 10; color: #004489; }
.slick-arrow:hover { color: #D60000; background: #D60000; }
.slick-arrow:after { font-size: 40px; display: block; font-family: 'Font Awesome 6 Pro' !important; speak: never; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-arrow:before { display: none; }
.slick-prev { left: 20px; }
.slick-prev:after { content: "\f104"; }
.slick-next { right: 20px; }
.slick-next:after { content: "\f105"; margin-right: -2px; }
.slider-nav.slider-nav-light .slick-arrow { color: #fff; border-color: #fff; }
.slider-nav.slider-nav-light .slick-arrow:hover { color: #222; background: #fff; border-color: #fff; }

.section-dark .slick-arrow { color: #fff; }

.slider-nav { width: 135px; position: relative; }
.slider-nav:has( > button) { height: 60px; }
.slider-nav .slick-arrow { width: 60px; height: 60px; }
.slider-nav .slick-prev { left: 0; }
.slider-nav .slick-next { right: 0; }
.slider-nav-light .slick-arrow { border-color: #fff; color: #fff; }
.slider-nav-light .slick-arrow:hover { border-color: #004489; }

.slick-dots { width: auto; bottom: 2rem; z-index: 6; left: 50%; right: auto; transform: translateX(-50%); }
.slick-dots li { width: auto; height: auto; margin: 0; padding: 0 5px !important; }
.slick-dots li:before { display: none !important; }
.slick-dots li button { box-shadow: none !important; padding: 0; width: 15px; height: 15px; background: #eee; border-radius: 10px; }
.slick-dots li button:before { display: none; }
.slick-dots li button:hover,
.slick-dots li.slick-active button { background: #004489; }

/* footer
---------------------------------------- */
footer { color: #fff; background: #004489; position: relative; overflow: hidden; }
footer .container-lg { z-index: 2; position: relative; }
footer:after { content: ''; display: block; position: absolute; z-index: 1; top: 20px; right: 0; width: 510px; height: 600px; opacity: 0.1; background: url(../images/layout/pattern-light.svg) no-repeat left center; background-size: cover; }
footer a { color: #fff; text-decoration: none; }
footer a:hover { color: #fff; opacity: 0.7; }

footer .footer-content { font-size: 14px; padding: 40px 0; }
footer .footer-content ul { list-style: none; margin: 0 0 1rem; padding: 0; }
footer .footer-content ul li { padding-bottom: 8px; }
footer .footer-content ul li i { font-size: 20px; display: inline-block; vertical-align: middle; margin-top: -3px; margin-right: 2px; }
footer .footer-title { font-size: 14px; letter-spacing: 1px; font-weight: 800; text-transform: uppercase; color: #fff; display: block; margin-bottom: 1rem; }
footer .footer-socials a { font-size: 20px; color:#004489; display: inline-block; margin-left: 5px; }
footer .footer-socials a:hover { color: #fff; }

footer .footer-copy { font-size: 13px; padding: 15px 0; border-top: 1px solid rgba(255, 255, 255, 0.1); }

/* buttons
---------------------------------------- */
.login-form .button-primary,
.btn { font-size: 15px; font-weight: 700; font-style: normal; padding: 15px 30px; letter-spacing: 1px; text-transform: uppercase; white-space: nowrap; border-radius: 5px; overflow: hidden; text-decoration: none !important; position: relative; font-family:'Lato', Helvetica, Arial, sans-serif; -webkit-transition: linear 0.4s; -moz-transition: linear 0.4s; transition: linear 0.4s; }
.btn i { font-size: 16px; margin-left: 10px; margin-top: -3px; display: inline-block; vertical-align: middle; }
.btn.btn-lg { font-size: 20px; font-weight: 500; padding: 15px 30px; }
.btn.btn-md { font-size: 15px; text-transform: initial; padding: 10px 20px; }
.btn.btn-sm { font-size: 13px; text-transform: initial; padding: 8px 15px; }

.btn.btn-primary { color: #fff; background: #004489 !important; border-color: #004489; }
.btn.btn-primary:hover { color: #fff; box-shadow: inset 300px 0 0 0 #000 !important; border-color: #000; }

.login-form .button-primary,
.btn.btn-secondary { color: #fff; background: #D60000 !important; border-color: #D60000; box-shadow: none !important; }
.login-form .button-primary:hover,
.btn.btn-secondary:hover { color: #fff; box-shadow: inset 300px 0 0 0 #b80101;  }

.btn.btn-light { color: #fff; background: transparent !important; border-color: transparent !important; padding: 14px 0 14px 60px; }
.btn.btn-light:after { content: '\f061'; color: #fff; display: block; width: 48px; line-height: 48px; text-align: center; font-size: 18px; background: #004489; border-radius: 50%; position: absolute; top: 0; left: 0; font-family: "Font Awesome 6 Pro"; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.btn.btn-light:hover:after { color: #222; background: #fff; }

.btn.btn-link { color: #004489; padding: 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.btn.btn-link:hover { color: #e2b55d; }

.btn.btn-circle { width: 50px; height: 50px; padding: 0; }

.buttons-group .btn { margin-right: 5px; margin-bottom: 10px; }
.buttons-group .btn:last-child { margin-right: 0; }


/* forms
---------------------------------------- */
.form-group { margin-bottom: 15px; }
.login-form label,
form label { font-size: 14px; font-weight: 400; margin-bottom: 5px; }
.form-group:not(.form-group-checkbox) label { font-size: 14px; font-weight: 600; }
.form-group label input { margin-right: 5px; }
.form-group label a { color: #838383; }
.form-group-checkbox { color: #838383; }
.login-form input[type="text"],
.login-form input[type="password"],
.form-control { font-size: 15px; color: #1d1d1b !important; padding: 10px 15px; border: 1px solid #ddd !important; background: transparent !important; border-radius: 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.form-control:focus { box-shadow: none !important; border-color: #004489 !important; }
.btn-block { width: 100%; }
.req { color: #ff0000; }
form p { margin-bottom: 0; }

.login-form form { background: #edf2f7; padding: 20px; margin-bottom: 3rem; border-radius: 10px; }
.login-form label { display: block; }
.login-form input[type="text"],
.login-form input[type="password"] { width: 100%; background: #fff !important; }
.login-form .login-remember { padding: 5px 0; }

html .wpcf7 form .wpcf7-not-valid-tip { font-size: 15px; font-weight: 400; padding: 3px 0 0; color: #ff0000; }
html .wpcf7 form .wpcf7-response-output { font-size: 16px; margin: 10px 0 30px 0; padding: 1rem 1.5rem !important; }
html .wpcf7 form.invalid .wpcf7-response-output,
html .wpcf7 form.unaccepted .wpcf7-response-output,
html .wpcf7 form.payment-required .wpcf7-response-output { border: 0 !important; color: #fff; background: #ff0000 !important }
html .wpcf7 form.sent .wpcf7-response-output { border: 0 !important; color: #fff; background: green !important }

/* -------------------*
 *         IE         *
 *------------------- */
.clearfix { zoom:1\9; }

/* -------------------*
 *     RESPONSIVE     *
 *------------------- */

@media all and (max-height:700px) {
	/*.headline-home { padding-top: 0; }
	.headline-home .headline-content-box { min-height: 100vh; }
	.headline-home .headline-content-box > div { padding-top: 50px; }*/
	/*.headline-home .headline-content-box-text { width: 60%; }	*/
}

@media all and (max-width:1400px) {
	.section-about .map-wrap { left: 40%; }
}
@media all and (max-width:1199px) {
	header .navbar .navbar-nav li { padding: 0 13px; }
	header .navbar .navbar-nav li a { font-size: 15px; }

	header .navbar .navbar-brand .navbar-brand-logo { width: 180px; }
    header .navbar .navbar-brand .navbar-brand-extra { width: 140px; }

	h1, .h1 { font-size: 50px; }

	.categories .category-item { min-width: 25vw; }

}
@media all and (max-width:991px) {
    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { padding-left: 25px; padding-right: 25px; }

    .show-navigation { overflow: hidden; }
	.show-navigation header { position: fixed; }
	.show-navigation header .navbar { background: rgba(255, 255, 255, 0.7) !important; height: 100vh; align-items: flex-start; overflow-y: auto; webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; -o-transition:0s; transition:0s; -webkit-backdrop-filter: blur(15px); -moz-backdrop-filter: blur(15px); -ms-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
	.show-navigation header .navbar-collapse { min-height: calc(100vh - 115px); display: flex; flex-wrap: wrap; align-content: flex-start; justify-items: center; }
	.show-navigation header .navbar-collapse:not(.show) { height: auto !important; }
	.show-navigation header .navbar-collapse .navbar-nav { width: 100%; text-align: center; padding-top: 30px; }

	header .navbar .navbar-nav li { padding: 1px 0; border: 0; }
	header .navbar .navbar-nav li.highlight { margin: 10px 0; }
	header .navbar .navbar-nav li a { font-size: 20px; display: inline-block; }
	header .navbar .navbar-nav li ul { position: static; top: auto; left: auto; text-align: center; }

	.categories .category-item { min-width: 40vw; }

	.services.slick-initialized { margin-left: -25px; margin-right: -25px; }
	.services.slick-initialized .slick-list { padding-left: 15px; padding-right: 15px; }
}
@media all and (max-width:767px) {
	.section { padding: 60px 0; }

	h1, .h1 { font-size: 40px; }
	h2, .h2 { font-size: 30px; line-height: 1.1em; }
	h3, .h3 { font-size: 20px; }
	h4, .h4 { font-size: 17px; }

	.lead { font-size: 17px; }

	.subtitle { font-size: 13px; padding-bottom: 0; }

	.headline-home .headline-content-box { background-position: right -20vw center; }
	.headline-home .headline-content-box-text { width: 90%; }
	.headline-service .headline-content-box .headline-bg { opacity: 0.2; }

	.headline .headline-icon { width: 250px; height: 280px; bottom: 0; right: -20px; }

	.headline-content-box:before { width: 120% }
	.headline-content-box-text { width: 90%; }

	.section-about:before { display: none; }
	.section-about .map-wrap { position: relative; width: 100%; left: auto; right: auto; bottom: auto; top: auto; height: 60vw; margin-top: 50px; }

	.boxes .box .box-img { order: 1 !important; }
	.boxes .box .box-text { order: 2 !important; }
	.boxes .box .box-content { padding: 30px 0 !important; }
	.box .box-content { padding: 2rem 0 3rem; }
}
@media all and (max-width:575px) {
    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { padding-left: 20px; padding-right: 20px; }

    .headline-content-box { padding: 60px 0 40px; min-height: 1px; }
    .headline.headline-subpage .headline-icon { width: 250px; height: 250px; }
    .headline.headline-home .headline-icon { display: none; }
    .headline-home .headline-content-box { min-height: calc(92vh - 80px); }
    .headline.headline-simple .headline-content-box { padding: 20px 0 10px; }

    	
    .headline-service .headline-content-box .headline-bg { width: 100%; }
    .headline-service .headline-content-box:before { left: 0; width: 80%; }

    .articles > div { padding-top: 0; }

    .subtitle { padding-bottom: 5px; }
    .section-head { padding-bottom: 1rem; }
    .section-about .map-wrap { height: 100vw; }

    .gallery .gallery-item-overlay i { font-size: 30px; }
}
@media all and (max-width:475px) {
	h1, .h1 { font-size: 30px; }
	h2, .h2 { font-size: 23px; }
	.lead { font-size: 18px; }

	header .navbar { padding: 15px 0; }

	header .navbar .navbar-brand .navbar-brand-logo { width: 150px; }
    header .navbar .navbar-brand .navbar-brand-extra { width: 100px; }

	.categories .category-item { min-width: 80vw; }

	.btn { font-size: 14px; padding: 12px 20px }
}
@media all and (max-width:370px) {
    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { padding-left: 15px; padding-right: 15px; }

    .col-cxs-12 { min-width: 100%; }

    header .navbar .navbar-brand .navbar-brand-logo { width: 130px; margin-right: 5px; }
    header .navbar .navbar-brand .navbar-brand-extra { width: 90px; }

}


.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}
