/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------- Vista Maritime CSS - CONTENTS -------------------------------------------------*/
/*
Filename: main.css
Site: Vista Maritime
version: 0.1
Created: 2024/02/26
Author: Nick Melas
Description: Default styles for all site pages
*/ 
/* ## Font Glossary */
/*

*/

/* ## Colors
white: #F9F8F6
gold: var(--blue)
black: #000000

*/
:root {
  --white: #ffffff;
  --blue: #1e3c6e;
  --light-blue: #5aaadc;
  --light-blue2: #bccbe4ff;
  --lightest-blue: #ebf0f7ff;
  --main-wrapper: 1440px;
}

/* 1. GENERAL PURPOSE CLASSES */
/* 2. HEADER PART */
/* 3. FOOTER PART  */
/* 4. Main Website */
/* 5. Home Page */
/* 6. About */

/* 100. Plugins Rewrites */

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*------------------------------------General Purpose Classes {1. GENERAL PURPOSE CLASSES}---------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/
/*
	Fluid Baseline Grid v1.0.0
	Base stylesheet with CSS normalization, typographic baseline grid and progressive responsiveness
*/
/* HTML5 DECLARATIONS */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, dialog {display: block}
audio[controls],canvas,video {display: inline-block; *display: inline; zoom: 1}
/* BASE */
html { height: 100%; -webkit-text-size-adjust: 100%;width:100%!important;margin:0;padding:0;} /* Force scrollbar in non-IE and Remove iOS text size adjust without disabling user zoom */
body { font-family: 'CFPanoptik', sans-serif; font-size: 16px; line-height: 1em; margin: 0; background: #ffffff; color: var(--blue); min-height: 100%; -webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;width:100%;overflow:hidden; overflow-y: scroll; font-weight: normal; height: 100%;  } /* Improve default text rendering, handling of kerning pairs and ligatures */
body, button, input, select, textarea {font: 100%/1.5; } /* IE7 and older can't resize px based text */
p, blockquote, q, pre, address, hr, code, samp, dl, ol, ul, form, table, fieldset, menu, img {margin: 0 ; padding: 0}
/* TYPOGRAPHY */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin: 0.5em 0; line-height: 1.3em; font-weight: 300; font-family: 'CFPanoptik', serif; }
h1, .h1 { font-size: 2em; }
h2, .h2 { font-size: 2em; }
h3, .h3 { font-size: 1.2em; color: var(--light-blue); }
h4, .h4 { font-size: 1em; font-weight: bold; }
h5, .h5 { font-size: 0.9em; }
h6, .h6 { font-size: 0.8em; }
p, ul, blockquote, pre, td, th, label { margin: 0; } 
p, legend { line-height: 1.4em; margin-bottom: 20px; }
h2 p { line-height: 1.3em; }
small, p.small {margin: 0; font-size: 0.875em; line-height: 1.7142857142857142857142857142857em; margin-bottom: 1.7142857142857142857142857142857em} /* 14px / 24px */
/* CODE */
pre {white-space: pre; white-space: pre-wrap; word-wrap: break-word} /* Allow line wrapping of 'pre' */
pre, code, kbd, samp {font-size: 1em; line-height: 1.5em; margin-bottom: 1.5em; }
/* TABLES */
table {border-collapse: collapse; border-spacing: 0; margin-bottom: 1.5em}
th {text-align: left}
tr, th, td {padding-right: 1.5em; }
/* FORMS */
form {margin: 0}
fieldset {border: 0;padding: 0; margin-bottom: 20px; }
textarea {overflow: auto; vertical-align: top}
legend {margin-bottom: 10px; margin-left: 0; padding: 0; }
button, input, select, textarea {vertical-align: baseline; *vertical-align: middle;outline:none; border-radius: 0; } /* IE7 and older */
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; }
button, input {line-height: normal; *overflow: visible}
button, input[type="button"], input[type="reset"], input[type="submit"] {cursor: pointer;-webkit-appearance: button}
input[type="checkbox"], input[type="radio"] {box-sizing: border-box; background: transparent; }
input[type="search"] {-webkit-appearance: textfield; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box}
input[type="search"]::-webkit-search-decoration {-webkit-appearance: none}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance:textfield; }
button::-moz-focus-inner, input::-moz-focus-inner {border: 0; padding: 0}
input[type="text"] {letter-spacing: 0px;}
/* QUOTES */
blockquote, q {quotes: none}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none}
blockquote, q, cite {font-style: italic}
blockquote {padding-left: 1.5em; border-left: 3px solid #ccc;}
blockquote > p {padding: 0;}
/* LISTS */
ul, ol {list-style-position: inside; padding: 0}
li ul, li ol {margin: 0 1.5em;}
ul li , ol li {list-style-type:none;}
dl dd {margin-top: .5em; margin-left: 0; }
dt { margin-top: 2em; }
/* HYPERLINKS */
a { color: var(--blue); text-decoration: none; outline:none; transition: color 0.3s; outline: 0; }
a:hover { color: #000000; text-decoration: none; }
a:hover, a:active {outline:none} /* Better CSS Outline Suppression */
a:hover span {text-decoration: none;}
/* MEDIA */
figure {margin: 0 0 0.5em; }
figure img { width: 100%; }
img, object, embed, video, audio {height: auto;outline: 0; max-width: 100%;	_width: 100%} /* Fluid images */
img {border: 0;	-ms-interpolation-mode: bicubic} /* Improve IE's resizing of images */
svg {height: auto;}
svg:not(:root) {overflow: hidden} /* Correct IE9 overflow */
/* ABBREVIATION */
abbr[title], dfn[title] {border-bottom: 1px dotted #333; cursor: help}
/* MARKED/INSERTED/DELETED AND SELECTED TEXT */
ins, mark {text-decoration: none}
mark {}
ins {}
del {text-decoration: line-through}
/*::-moz-selection { color: #000000; text-shadow: none} /* selected text */
/*::selection { color: #000000; text-shadow: none} /* selected text */
/* OTHERS */
strong, b, dt { font-weight: bold; }
dfn {font-style: italic}
var, address {font-style: normal}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline} /* Position 'sub' and 'sup' without affecting line-height */
sup {top: -0.5em} /* Move superscripted text up */
sub {bottom: -0.25em} /* Move subscripted text down */
span.amp{font-style:italic;font-size:110%;line-height:0;position:relative;vertical-align:baseline} /* Best available ampersand */
/* MICRO CLEARFIX HACK */
.cf:before, .cf:after, .clearfix:before, .clearfix:after {content:"";display:table} /* For modern browsers */
.cf:after, .clearfix:after {clear:both}
.cf {zoom:1} /* For IE 6/7 (trigger hasLayout) */
/* DEFAULT MOBILE STYLE */
.OuterWrap {width: 98%; margin: 0 auto}
.mobile { display: none; }
/* Center page without wrapper */

.hidden {display:none;}
/*alignment*/
.alignLeft {text-align: left}
.alignRight {text-align: right}
.alignCenter {text-align: center}
/*floation*/
.floatRight {float:right;}
.floatLeft {float:left;}
/*borders*/
.Noborder  {border:0;}
.NoborderBtm {border-bottom:none;}
/*paddings*/
.NoPadding {padding:0;}
.NoPaddingTop {padding-top:0!important;}
.PB20 {padding-bottom:20px;}
/*margins*/
.NOmargin {margin:0;}
.MT2 {margin-top:2em;}
.MT4 {margin-top:4em;}
.MT5 {margin-top:5em;}
.MT10 {margin-top:10px;}
.MT15 {margin-top:15px!important;}
.MT20 {margin-top:20px!important;}
.MT30 {margin-top:30px!important;}
.MT35 {margin-top:35px;}
.MT40 {margin-top:40px;}
.MT50 {margin-top:50px;}
.MB2 {margin-bottom:2em;}
.MB5 {margin-bottom:5px;}
.MB10 {margin-bottom:10px;}
.MB20 {margin-bottom:20px;}
.MB25 {margin-bottom:25px;}
.MB50 {margin-bottom:50px !important;}
.ML50 {margin-left:50px;}
.NomarginTop {margin-top:0;}
.NomarginBtm {margin-bottom:0;}
/*colors*/
.red { color: #cc0c42; }
.blue { color: #0a1947; }
.grey { color: #666666; }

/*-------------------------------*/
/* TEMPLATE GLOBALS */
/*-------------------------------*/

.noclick { pointer-events: none; }

/*--Wrappers--*/
.pageWrapper { width: 100%; min-height: 100%; margin: 0; padding: 0; transition: transform 0.3s; -webkit-transition: -webkit-transform 0.3s; position: relative; background: #ffffff; box-sizing: border-box; display: flex; flex-direction: column; padding-top: 7.5em; }
.mainContent { flex: 1 0 auto; overflow: hidden; margin-bottom: 0; }
.mainWrapper { width: 100%; box-sizing: border-box; margin: 0 auto; padding: 0 3em; max-width: var(--main-wrapper); }
.caption { margin: 1em 0; font-style: italic; font-size: 0.9em; text-align: center; }

article p { }
.pull-none.item-image img,
.articleBody img { width: 100%; }
.articleBody .pull-left { float: left; margin: 0 1em 2em 0; width: calc(50% - 1em); }
.articleBody .pull-right { float: right; margin: 0 0 2em 1em; width: calc(50% - 1em); }
.com-content-article__body p,
.com-content-article__body li { font-size: 1.1em; }

/*--Button Styles--*/

.buttonWrapper { text-align: center; padding: 2em 0; } 

.cta,
button,
.btn,
input[type="button"], input[type="reset"], input[type="submit"] { line-height: 1; font-family: 'CFPanoptik', sans-serif; display: inline-block; padding: 0.7em 1.2em; position: relative; margin: 0; font-size: 1em; font-weight: normal; letter-spacing: 0.2em; transition: 0.3s; color: #ffffff; background: var(--blue); text-align: center; border-radius: 0.4em; border: 0; }
.cta:hover,
.btn:hover,
button:hover,
input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { background: #000000; color: #ffffff; }

.control-group .controls { position: relative; }
.input-password-toggle { position: absolute; top: 0; right: 0; padding: 0 1em; height: 2.5em; border: none; border-radius: 0; }
.control-group .controls .visually-hidden { display: none; }

.com_users .main { max-width: 1000px; margin: 0 auto; } 
.form-check { display: flex; align-items: center; margin: 1em 0; }
.form-check input[type="checkbox"] { border-radius: 0; width: 1em; height: 1em; }
.form-control-feedback { font-size: 0.8em; color: #aaaaaa; margin-left: 2em; line-height: 1; }
.com-users-login__options.list-group a { display: block; margin: 1em 0; }
.com-users-profile__core legend { display: none; }

.readmore a { font-weight: bold; color: #1f3e6f; font-size: 18px; }
.readmore a svg { margin-left: 3px; transition: all 0.4s ease-out;}
.readmore a svg * { transition: all 0.4s ease-out; fill: #1f3e6f; }
.readmore a:hover { color: #d4aa00; }
.readmore a:hover svg { transform: translateX(2px); }
.readmore a:hover svg * { fill: #d4aa00; }
.readmore { margin: 0 0 1em 0; display: inline-flex; line-height: 1; padding: 0; border: 2px solid var(--blue); border-radius: 50%; box-sizing: border-box; width: 3em; height: 3em; align-items: center; justify-content: center; transition: 0.5s ease-out; }
.readmore:hover { background: var(--blue); color: var(--light-blue); }


#jform_com_fields_choose_your_date_btn { display: inline-block; }

dl dd.published { margin: 0 0 1em; font-weight: bold; font-size: 0.8em; }
.tags.inline { font-size: 0.8em; margin-bottom: 1em; }
.tag-category h2 { margin-top: 3em; }
fieldset.filters { display: flex; justify-content: space-between; }
fieldset.filters .clearfix { display: none; }
#filter-search { width: calc(100% - 10em); }
fieldset.filters .btn-group { width: calc(80% - 8em); }
fieldset.filters .btn-group.pull-right { width: 8em; }
/*--Spacers--*/
hr { }

/*--Tables--*/
.tableDiv { display: table; }
.tableCell { display: table-cell; }


/*--Forms--*/
.fieldWrapper { position: relative; }
input { width: 100%; box-sizing: border-box; height: 2.5em; padding: 0 1em; font-size: 1em; background: var(--lightest-blue); border: 0; color: var(--blue); font-family: 'CFPanoptik', sans-serif; }
textarea { width: 100%; box-sizing: border-box; padding: 1em; min-height: 5em; font-size: 1em; background: var(--lightest-blue); border: 0; color: var(--blue); font-family: 'CFPanoptik', sans-serif; }
input:-webkit-autofill,
textarea:-webkit-autofill { -webkit-box-shadow: 0 0 0 2.5em #ededed inset !important; }
.control-group,
.cf-control-group { margin-bottom: 1em; }

.select { position: relative; }
/* .select:after { content: '\f131'; position: absolute; bottom: 8px; right: 10px; transform: rotate(90deg); font-family: flaticon; color: #666666; pointer-events: none; }
.select select:active + .select:after { transform: rotate(90deg); }
.pageWrapper .select select { background: #fafafa; -webkit-appearance: none; } */

label { text-align: left; display: block; font-size: 0.8em; text-transform: uppercase; margin-bottom: 2px; }
.field.required label:after {content: '*';display: inline-block;margin-left: 3px;color: #d68a8a;font-size: 1em;line-height: 1em; vertical-align: top; }

.form-group { margin-bottom: 10px; }

.pageWrapper .datefield,
.pageWrapper select { border: none; border-radius: 0; width: 100%; box-sizing: border-box; height: 2.5em; padding: 0 1em; font-size: 1em; background: var(--lightest-blue); color: var(--blue); font-family: 'GothamGreek', Arial, sans-serif; }

.pageWrapper .datefield { background: #ffffff; }

/*--Notice--*/

/*-- Tooltip --*/
.tooltip { visibility: hidden; opacity: 0; position: absolute; left: 50%; bottom: 100%; margin-bottom: 10px; width: auto; background: #ffffff; white-space: nowrap; padding: 8px 9px 7px 8px; color: #777776; border: 1px solid #dcdcdc; font-size: 13px; box-shadow: 0 2px 16px -10px;  z-index: 9; transition: all 0.2s; box-sizing: border-box; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.tooltip:after { content: ''; position: absolute; width: 10px; height: 10px; bottom: -6px; left: 50%; margin-left: -6px; background: #ffffff; -webkit-transform: rotate(45deg); transform: rotate(45deg); border-right: 1px solid #dcdcdc; border-bottom: 1px solid #dcdcdc;}
.tooltipWrapper { position: relative; }
.tooltipWrapper:hover .tooltip { visibility: visible; opacity: 1; }



/*--Breadcrumb--*/
.breadcrump { }
.breadcrump li{ }
.breadcrump li:after { }
.breadcrump li:last-child:after { }
.breadcrump li a { }
.breadcrump li span { }

/*--Overlay Box--*/

/*-- System messages --*/
#system-message { margin-top: 72px; }
#system-message-container { position: relative; }
#system-message-container .alert { margin-bottom: 0;  }
#system-message-container h4 { margin: 0 40px 0 0; font-size: 16px; text-align: center; line-height: 32px; }
#system-message-container .alert-message { line-height: 1.4em; }
#system-message-container .alert button { background: transparent; color: #aaaaaa; font-size: 30px; border: none; height: auto; padding: 0; text-align: center; transition: all 0s; line-height: 30px; }
#system-message-container .alert button,
#system-message-container a.close { position: absolute; top: 0; right: 10px; font-size: 30px; line-height: 30px; cursor: pointer; }
#system-message-container .alert { padding: 20px 40px 20px 20px; border: 1px solid transparent; border-left-width: 10px; box-sizing: border-box; display: flex; }
#system-message-container .alert.alert-error,
#system-message-container .alert.alert-warning { background: #eed4d4; border-color: #926464; }
#system-message-container .alert.alert-error h4,
#system-message-container .alert.alert-warning h4,
#system-message-container .alert.alert-error button,
#system-message-container .alert.alert-error a.close,
#system-message-container .alert.alert-warning a.close { color: #926464; }
#system-message-container .alert.alert-notice  {background: #e0ecf3;border-color: #95b6ca; }
#system-message-container .alert.alert-notice h4 { color: #95b6ca; }
#system-message-container .alert.alert-notice a.close { color: #aaaaaa; }
#system-message-container .alert .alert-heading:before { font-family: 'FontAwesome'; font-size: 32px; display: block; }
#system-message-container .alert.alert-notice .alert-heading:before { content: '\f05a'; color: #95b6ca; }
#system-message-container .alert.alert-warning .alert-heading:before { content: '\f071'; color: #95b6ca; }
#system-message-container .alert.alert-error .alert-heading:before { content: '\f057'; color: #95b6ca; }

/*-- Back to top --*/
.backToTop { position: fixed; bottom: 20px; right: 20px; box-sizing: border-box; background: rgba(255,255,255,0.8); opacity: 0; visibility: hidden; transition: all 0.4s ease-out; text-align: center; border: 1px solid #c1ac8c; border-radius: 50%; z-index: 9; backface-visibility: hidden; }
.backToTop a { line-height: 64px; width: 60px; height: 60px; display: block; }
.backToTop i { font-size: 32px; transition: color 0.4s ease-out; }
.backToTop:hover { background: #c1ac8c; }
.backToTop:hover i { color: #ffffff; }
html.scrolled .backToTop { visibility: visible; opacity: 1; }

/*-- Tabs --*/
.tabs { margin-top: 10px; }
.tabs li { display: none; }
.tabs li.active { display: block; }
.tabsWrapper { position: relative; }
.tabSelect { position: absolute; top: 30px; left: 0; width: calc(100% - 30px); margin: 0 15px; display: none; border: 1px solid #eeeeee; box-shadow: 2px 2px 10px -3px #000000; padding: 5px; background: #ffffff; }
.tabSelect li { display: block; padding: 5px 10px; border-top: 1px solid #eeeeee; cursor: pointer; }
.tabSelect li:first-child { border-top: none; }
.tabSelect li.active { font-weight: bold; }

/*-- Icons --*/
span[class^="flaticon-"] { font-family: flaticon; }

/*-- Modal --*/
.modalWrapper { opacity: 0; visibility: hidden; position: fixed; z-index: 999999; width: 100%; height: 100%; overflow: hidden; top: 0; left: 0; background: rgba(0,0,0,0.5); transition: 0.8s ease-in-out; display: flex; justify-content: center; align-items: center; }

html.modalOpened .modalWrapper { opacity: 1; visibility: visible;  }
.modalWrapper .modalContent { width: 60%; max-height: 90vh; background: #ffffff; padding: 0; box-sizing: border-box; position: relative; display: flex; }
.modalWrapper .modalContentWrapper { width: 100%; height: auto; overflow: hidden; overflow-y: auto; padding: 40px 0; box-sizing: border-box; }
.modalWrapper h3 { padding: 0 20px 0 0; }
.modalWrapper .moduletable { display: none; padding: 0 40px;}
.modalWrapper .moduletable.active { display: block; }
.closeModal {position: absolute;width: 20px;height: 20px;text-align: center;right: 10px;top: 10px; z-index: 9;transition: 0.4s; cursor: pointer; }
.closeModal:before { content:'\00d7'; font-size: 40px; font-weight: 100; }
.closeModal:hover { color: #1f3e6f; }

/*-- Images --*/
.imgBg { position: relative; overflow: hidden; }
.imgBg img,
.imgBg video { position: absolute; object-fit: cover; top: 0; left: 0; width: 100%; height: 100%; }
.imgBg .noimage { opacity: 0.15; width: 50%; height: 50%; left: 25%; top: 25%; object-fit: contain; }
.imgBg.vimeo { background: #ffffff; overflow: hidden; }
.imgBg.vimeo iframe { position: absolute; top: 50%; left: 50%; width: 100vw; height: calc(100vw/1.777777); transform: translate(-50%,-50%); background: #000000; z-index: 1; pointer-events: none; }
.imgBg.vimeo .playPause { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; z-index: 2; }
.videoIframe { width: 100%; padding-bottom: 56.25%; position: relative; background: #000000; margin-bottom: 2em; }
.videoIframe iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000000; }

.bookingOpened .outro .bookForm { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); transition: 0.4s; z-index: 999; }
.bookingOpened .outro .bookForm form { position: relative; background: rgba(255,255,255,0.9); }
.closeBooking { display: none; color: #ffffff; cursor: pointer; position: absolute; right: 0; top: -1.2em; font-size: 24px; transition: 0.4s; }
.closeBooking:hover { color: #666666; }
.bookingOpened .outro .closeBooking { display: block; }
.bookingOpened .bannerWrapper .bookForm { opacity: 0; }

/* Social */
.socialMenu { display: flex; justify-content: flex-start; margin-bottom: 2em; }
.socialMenu li { margin-right: 10px; display: inline-block; }
.socialMenu a { width: 3em; height: 3em; border: 2px solid var(--blue); display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; transition: 0.5s ease-out; }
.socialMenu a:hover { color: #ffffff; border-color: transparent; }
.socialMenu a[href*="facebook.com"]:hover { background-color: #3B5998; } 
.socialMenu a[href*="instagram.com"]:hover { background-color: #8a3ab9; } 
.socialMenu a[href*="twitter.com"]:hover { background-color: #1DA1F2; } 
.socialMenu a[href*="linkedin.com"]:hover { background-color: #0077b5; } 
.socialMenu a[href*="youtube.com"]:hover { background-color: #FF0000; } 
.socialMenu a[href*="tripadvisor.com"]:hover { background-color: #00AF87; } 
.socialMenu i { font-size: 1em; }

/* not-found-404 */
.not-found-404 { max-width: 10vw; width: 100%; }
.not-found-404 svg { width: 100%; height: auto; }


/*-------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------2. HTML , BODY--------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/

.outro { padding-top: 3em; }
.main a { color: var(--light-blue); }
.main a:hover { color: #000000; }
.address { line-height: 1.4em; }

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------3. HEADER--------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/
.mainHeader { position: fixed; top: 0; left: 0; width: 100%; height: auto; box-sizing: border-box; z-index: 999; transition: all 0.4s ease-out; background: transparent; margin-bottom: -3px; background: rgba(255,255,255,0.8); }
.scrolled .mainHeader { background: var(--white); }

html.menuOpened .mainHeader { height: 100%; }

.header { display: flex; justify-content: space-between; align-items: flex-end; position: relative; z-index: 2; }

.toggleMenu { width: 50px; height: 45px; position: absolute; top: 8px; left: 30px; cursor: pointer; transform: scale(0.75);}
.toggleMenu div { background: #444444; position: absolute; left: 0; top: 11px; width: 100%; height: 2px; transition: all 0.5s ease-out; transform: rotate(0); }
.toggleMenu div:nth-child(2) { top: 22px; } 
.toggleMenu div:nth-child(3) { top: 33px; }

.header .logo { padding: 1em 0; }
.header .logo svg { width: 12vw; height: auto; }
.header .logo img { width: 14em; height: auto; }

.header .lang { margin: 0 0 0 auto; }
.mod-languages { display: inline-block; position: relative; padding: 0; transition: 0s; }
.header div.mod-languages ul { position: relative; top: auto; right: auto; background: transparent; opacity: 1; visibility: visible; transition: none; padding: 0 1em 0 0; box-shadow: none; white-space: nowrap; }
.header div.mod-languages ul.lang-inline li,
.header div.mod-languages ul.lang-inline li a,
.header div.mod-languages img { margin: 0; padding: 0; display: inline-block; line-height: 1; width: auto; }
.header div.mod-languages ul.lang-inline li a { opacity: 0.7; transition: 0.4s; }
.header div.mod-languages ul li a:hover { color: #ffffff; }
.header div.mod-languages ul li:hover,
.header div.mod-languages ul li.lang-active { background: transparent; }
.header div.mod-languages ul li.lang-active { pointer-events: none; }
.header div.mod-languages ul li.lang-active a { background: transparent; opacity: 1; }
.header div.mod-languages ul li:after { content: '|'; color: #ffffff; }
.header div.mod-languages ul li:last-child:after { display: none; }
.visually-hidden { display: none; }

.callButton { border: 2px solid #ffffff; padding: 0.5em; box-sizing: border-box; font-size: 1.5em; border-radius: 50%; color: #ffffff; transition: 0.3s; }
.callButton:hover { color: var(--blue); border-color: var(--blue); }


/*-- Mobile Menu --*/
.mobileMenu { transition: top 0.4s ease-out; position: absolute; width: 5em; height: 60px; cursor: pointer; z-index: 999; right: 0; top: 2.5vw; margin-top: -30px; display: none; }
.mobileMenu div { position: absolute;width: 30px;height: 2px;background: var(--blue);transition: all 0.4s ease-out;left: 20px;transform: rotate(0deg);}
.mobileMenu div:nth-child(1) {top: 22px;}
.mobileMenu div:nth-child(2) {top: 30px;}
.mobileMenu div:nth-child(3) {top: 38px;}
html.menuOpened .mobileMenu div:nth-child(1) { top: 29px; transform: rotate(45deg); }
html.menuOpened .mobileMenu div:nth-child(2) { top: 29px; width: 0; left: 50%; }
html.menuOpened .mobileMenu div:nth-child(3) { top: 29px; transform: rotate(-45deg); }


.mainMenu { text-align: left; box-sizing: border-box; padding: 0; width: 50vw; width: 100%; }
.mainMenu a,
.mainMenu .separator { padding: 0.5em 1em 1em; display: block; position: relative; }
.mainMenu a:hover { color: var(--blue); }
.mainMenu a:after { content: ''; position: absolute; left: 50%; bottom: 0; height: 6px; width: 0; background: var(--light-blue); transition: 0.5s ease-out; }
.mainMenu a:hover:after,
.mainMenu .current > a:after { left: 1em; width: calc(90% - 2em); margin-left: 5%; }
.mainMenu ul { display: flex; align-items: center; justify-content: flex-end; font-size: 1.12em; margin-right: -1em; }
.mainMenu ul li { position: relative; }
.mainMenu ul .mod-menu__sub { display: block; position: absolute; top: 100%; left: 0; white-space: nowrap; margin: 0; padding-top: 0.5em; padding-bottom: 0.5em; background: rgba(255,255,255,0.9); visibility: hidden; opacity: 0; transition: 0.4s ease-out; max-height: calc(100vh - 10em); overflow: hidden; overflow-y: auto; }
.scrolled .mainMenu ul .mod-menu__sub { background: rgba(255,255,255,1); }
.mod-menu__sub li { display: block; }
.mod-menu__sub li a { padding-top: 0.8em; padding-bottom: 0.8em; display: block; }
.mainMenu ul li.parent:hover .mod-menu__sub { visibility: visible; opacity: 1; }
.mainMenu .mod-menu__sub { font-size: 0.95em; }
.mainMenu .mod-menu__sub a:after { left: 1em; margin-left: 0; }

.mainMenu .noteLink {position: absolute;bottom: 100%;margin-bottom: 3.4em;width: 10em;background: var(--blue); color: var(--white); text-align: center;right: 1em;padding: 0.8em 1em 0.7em; transition: 0.3s; }
.mainMenu .noteLink:after { display: none; }
.mainMenu .noteLink:hover { background: var(--light-blue); color: var(--white); }

.subMenu { background: var(--lightest-blue); }
.subMenu ul { display: flex; margin: 0; padding: 0; }
.subMenu > ul { max-width: var(--main-wrapper); margin: 0 auto; padding: 0 3em; background: var(--lightest-blue); margin: 0 auto; box-sizing: border-box; }
.subMenu li { align-items: center; margin-left: -1.5em; }
.subMenu > ul > li { display: none; }
.subMenu li.current,
.subMenu > ul > li.active { display: flex; }
.subMenu li a { padding: 2em; font-size: 1.1em; position: relative; }
.subMenu li a:after,
.subMenu li.current li.current a { content: ''; position: absolute; left: 50%; bottom: 0; height: 6px; width: 0; background: var(--light-blue); transition: 0.5s ease-out; }
.subMenu li.current a:hover:after,
.subMenu li.current > a:after { left: 2em; width: calc(100% - 4em); }

.searchField { Position: absolute; top: 0; right: 0; }
.mod-finder.js-finder-searchform { width: 100%; max-width: 300px; }
.mod-finder__search.input-group { display: flex; }
.searchField .btn { color: var(--blue); background: var(--lightest-blue); border-radius: 0; }
	
.contentMenu {position: absolute;width: calc(100% - 200px);height: 100%;left: 0;top: 0;font-weight: 300;line-height: 1;display: flex;}
.contentMenu > div {box-sizing: border-box;border-right: 2px solid #ffffff;font-size: 45px;color: #888888;box-sizing: border-box;vertical-align: middle;padding: 20px;position: relative;transition: all 0.3s;width: 33.3%;align-items: center;flex-direction: column;display: flex;justify-content: center;background: #e1e1e1; }
.contentMenu li a { color: #888888; }
.contentMenu li a:hover { color: #333333; }
.contentMenu ul  {display: none;padding: 30px 0;counter-reset: item;margin: 0;box-sizing: border-box;width: 100%;}
.contentMenu li { display: block; font-size: 24px; font-weight: 300; position: relative; padding-left: 20px; margin-bottom: 40px; }
.contentMenu li:before { content: counter(item) ".  ";  counter-increment: item ; position: absolute; left: 0; top: 0; }
.contentMenu li a { position: relative; }
.contentMenu li a:after { content: ''; position: absolute; left: 0; bottom: -4px; width: 0; height: 1px; background: #888888; transition: all 1s; }
.contentMenu li a:hover:after { width: 100%; }
.contentMenu li:hover:before { color: #333333; }
.contentMenu .moduleHeader { position: relative;width: 100%;}
.contentMenu .moduleHeader h3 { font-size: 38px; font-weight: 300; }
.contentMenu .moduleHeader .expand { position: absolute;top: 5px;right: 10px;width: 30px;height: 30px;border-radius: 50%;background: #ffffff; transition: all 0.3s; cursor: pointer; }
.contentMenu .moduleHeader .expand:before,
.contentMenu .moduleHeader .expand:after { content: ''; position: absolute; top: 15px; left: 5px; width: 20px; height: 1px; background: #888888; transform: rotate(0deg); transition: all 0.5s 0.3s; }
.contentMenu .moduleHeader .expand:after { transform: rotate(90deg); }
.contentMenu .subTitle { position: relative; margin-top: 10px; font-size: 18px; font-weight: normal; }

.contentMenu .moduletable.expanded { background: #ffffff; }
.contentMenu .moduletable.expanded .expand:before  { transform: rotate(225deg); }
.contentMenu .moduletable.expanded .expand:after { transform: rotate(-225deg); }

.mobileBook { display: none; border: 1px solid #403637; padding: 8px 5px 5px; transition: all 0.4s ease-out; margin-top: 10px; position: absolute; top: 0px; z-index: 3; }

.userIcon { position: absolute; cursor: pointer; z-index: 999; left: 30px; top: 2.5vw; margin-top: -0.5em; display: block; line-height: 1; }
.buttonWrapper .com-users-logout__form { display: inline-block; }

header .notice { color: #ffffff; padding: 1em 2em; font-size: 0.7em; text-align: center; margin: 0 auto; display: none; }
.scrolled .homePage header .notice { display: none; }



/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 4. FOOTER --------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/
footer { flex-shrink: 0; background: var(--lightest-blue); margin: 0; color: var(--blue); padding-top: 3em; padding-bottom: 3em; text-align: left; }
.footer .row { display: flex; }
.footer .left { width: 33.3%; padding-right: 2em; box-sizing: border-box; }
.footer .socialMenu { margin-top: 2em; }

.footerLinks { margin: 1em 0; }
.footerLinks li { display: inline-block; padding: 0 1em 0 0; }
.footerLinks li:after { content: '|'; }
.footerLinks li:last-child:after { display: none; }
.footerLinks li a { margin-right: 1em; }

.footerMenu ul { margin-bottom: 4em; columns: 3; }
.footerMenu li { margin-right: 2em; }
.footerMenu a { padding: 0.5em 0.5em 0.5em 0; line-height: 1.3em; display: inline-block; }
.footer a:hover { color: var(--light-blue); }
/* .footerMenu a:before { content: '\f061'; font-family: 'FontAwesome'; line-height: 1; color: var(--light-blue); margin-right: 1em; } */

.footerLogo { max-width: 200px; margin-bottom: 1em; }
.footer-iso { max-width: 100px; margin-bottom: 1em; }

.footer .socialMenu a:hover  { color: #ffffff; }

.footer .address h4 { font-weight: bold; margin: 0; }
.footer address { margin-bottom: 1em; }

.footerCopyright { line-height: 1.4em; }

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 5. Home Page --------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/

.homePage .pageWrapper { padding-top: 0; }
.homePage .main { display: none; }
.homePage .outro { padding-top: 0; }

.banneritem  { height: 70vh; width: auto; background: #000000; text-align: left; padding: 0; }
.banneritem .textWrapper { display: flex; align-items: flex-start; justify-content: flex-start; box-sizing: border-box; padding-top: 5vw; position: relative; z-index: 2; color: #ffffff; height: 100%; flex-direction: column; }
.banneritem h1 { font-size: 2.8em; }
.banneritem p { font-size: 3em; }
.banneritem .cta:hover { color: var(--blue); background: #ffffff; }
.banneritem .textWrapper > * { width: 100%; }

/* HERO 1 */
.hero1 { height: 100vh; align-items: center; text-align: center; justify-content: center; position: relative; display: flex; }
.hero1 .imgBg { height: 100%; width: 100%; position: absolute; top: 0; left: 0; }
.hero1 .imgBg img { transition: 1s; transition-delay: 0.3s; z-index: 2; }
.hero1 .content { position: relative; z-index: 2; padding: 60px 30px; pointer-events: none; color: #ffffff; }
.loading .hero1 h2 { opacity: 0; }
.hero1 h2 { font-size: 4.2vw; font-weight: 900; transition: opacity 1s ease-in-out; opacity: 1; }
.videoPlayed.hero1 .imgBg img  { opacity: 0; }
.hero1 h2 span { opacity: 0; transition: opacity 1s ease-in-out; display: block; }
.videoPlayed.hero1 h2 { opacity: 0; transition: all 0.3s ease-in;  transition-delay: 4.1s; transform: scale(0) translateY(6em); }
.videoPlayed.hero1 h2 span { opacity: 1; transition-delay: 1s; }

.portraitImg { display: none; }


.articlePreview { padding-top: 6em; padding-bottom: 6em; display: flex; align-items: flex-start; min-height: 80vh; }
.articlePreview .textWrapper { width: 40%; }
.articlePreview .textWrapper p { font-size: 1.3em; }
.articlePreview h2 { margin-top: 0; }
.articlePreview h3 { margin-bottom: 0; font-weight: bold; font-size: 1em; }
.articlePreview .textWrapper { position: relative; }
.articlePreview .textWrapper,
.articlePreview .buttonWrapper { text-align: left; padding-top: 0; }


.articlesList { padding-top: 3em; padding-bottom: 3em; text-align: center; background: #e6e6e6; }
.articlesList h2,
.articlesList h3 { color: #192842; }
.articlesList ul { display: flex; align-items: stretch; justify-content: center; }
.articlesList li { flex: 1; width: 25%; box-sizing: border-box; padding: 1em; margin: 0 2em; background: #ffffff; text-align: center; max-width: 600px; position: relative; text-align: left; }
.articlesList .imgBg { width: 100%; padding-bottom: 56.25%; }
.articlesList h3 { font-family: 'Alfa Slab One'; font-weight: normal; }


.contact { display: flex; align-items: center; padding: 3em; background: #000000; color: #ffffff; }
.contact .left,
.contact .right { width: 50%; }
.contactRow .mail { margin-right: 2em; }
.addressRow { display: flex; align-items: flex-start; }
.addressRow .address { margin-right: 2em; line-height: 1.4em; }
.addressRow .address .phones { margin: 0.5em 0; }
.contact iframe { width: 30vw; height: 30vw; display: block; margin: 0 auto; border-radius: 0.4em; }
.contact a:hover { color: #ffffff; }
.contact h3 { margin-top: 2em; }

.contactPage .main { display: none; }
.contactPage .contact { color: #000000; background: #ffffff; }
.contactPage .contact a:hover { color: #000000; }
.formModuleWrapper { background: #000000; padding-top: 3em; }
.contactPage .convertforms .cf-form-wrap { padding-left: 0; padding-right: 0; }


.foreignContact { margin: 1em 0; }

.homeServices { background: #000000; color: #ffffff; padding: 3em; box-sizing: border-box; width: 100%; }
.homeServices ul { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; counter-reset: services; }
.homeServices li { width: calc(50% - 2em); margin: 1em 0; }
.homeServices h3 { margin: -0.5em 2em 0; line-height: 1.6em; font-weight: 600; text-align: center; position: relative; }
.homeServices h3 a { color: #ffffff; background: var(--blue); padding: 0.3em; transition: 0.3s; border-radius: 0; }
.homeServices h3 a:hover { color: #000000; background: #ffffff; }
.homeServices h3 a:before { counter-increment: services; content: counters(services, ".", decimal-leading-zero); margin-right: 0.4em; }
.homeServices .imgBg { padding-bottom: 60%; border-radius: 0.4em; }
.homeServices .imgBg img { transition: 0.6s ease-out; }
.homeServices a:hover img { filter: blur(0.2em); }

.latestNews { padding: 3em; box-sizing: border-box; width: 100%; }
.latestNews ul { display: flex; align-items: flex-start; }
.latestNews li { width: 100%; margin: 0; text-align: center; padding: 0.2em; box-sizing: border-box; border: 2px solid #ffffff; transition: 0.3s; border-radius: 0.7em; }
.latestNews li:hover { border-color: #000000; }
.latestNews h3 { font-weight: 600; text-align: center; position: relative; }
.latestNews .imgBg { position: relative; width: 100%; padding-bottom: 130%; transition: 0.6s ease-out; border-radius: 0.4em; }
.latestNews a:hover img { transform: scale(1.02); }
.latestNews .imgBg img { transition: 0.6s ease-out; }
.latestNews .text * { display: inline; }

.iconsWrapper { display: flex; align-items: flex-start; justify-content: space-around; background: var(--blue); padding: 2em 2em; }
.iconsWrapper .item { width: 25%; text-align: center; color: #ffffff; position: relative; padding: 4em 1em; } 
/* .iconsWrapper .item:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../images/fingerprint.svg) no-repeat center center; background-size: contain; opacity: .03; } */
.iconsWrapper img { width: auto; height: 6vw; filter: brightness(100); }
.iconsWrapper h3 { font-size: 1.8em; }

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 6. Categories ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/
.pagination ul { display: flex; justify-content: center; }
.pagination li span,
.pagination li a { display: block; padding: 10px; }
.pagination li span { color: #999999; }
.pagination .counter { text-align: center; }

/* News 
.page-header + .page-header h2 { color: #000000; }
.com-content-category-blog__items { counter-reset: services; }
.blog-item { display: flex; align-items: center; padding: 3em; margin: 0 -3em; }
.blog-item .item-image { width: 40vw; height: 35vw; position: relative; border-radius: 0.6em; overflow: hidden; }
.blog-item .item-image img { position: absolute; object-fit: cover; top: 0; left: 0; width: 100%; height: 100%; }

.blog-items.items-leading .item-content { box-sizing: border-box; padding: 0 0 0 5vw; width: 50%; }
.blog-items.items-leading .blog-item:nth-child(odd) .item-content { padding-left: 0; padding-right: 5vw; }
.blog-item:nth-child(even) { background: #000000; color: #ffffff; }
.blog-item:nth-child(odd)  .item-image { order: 2; }
.com-content-category-blog__items .blog-item h2 { font-size: 2em; padding: 0; background: #000000; color: var(--blue); display: inline-block; border-radius: 0.4em; }
.com-content-category-blog__items .blog-item h2 a { padding: 0.5em 1em; display: inline-block; }
.com-content-category-blog__items .blog-item h2 a:before { counter-increment: services; content: counters(services, ".", decimal-leading-zero); margin-right: 0.4em; }
.com-content-category-blog__items .blog-item h2 a:hover { color: var(--blue); }
.com-content-category-blog__items .blog-item:nth-child(even) h2 { font-size: 2em; padding: 0.5em 1em; background: var(--blue); color: #ffffff; display: inline-block; }
.com-content-category-blog__items .blog-item:nth-child(even) h2 a { color: #ffffff; }
.com-content-category-blog__items .blog-item p { margin: 2em 0; }
.com-content-category-blog__items .blog-item:nth-child(odd) .cta { background: #000000; color: var(--blue); }
.blog-item:last-child:nth-child(even) { margin-bottom: -5.1em; }
*/
.servicesPage .com-content-category-blog__items { }
.servicesPage .com-content-category-blog__items > div { width: 20%; margin: 2em; }

.servicesPage .com-content-category-blog__items { padding: 3em 0; box-sizing: border-box; width: 100%; display: flex; flex-wrap: wrap; max-width: var(--main-wrapper); margin: 0 auto; padding: 3em 1em; }
.servicesPage .com-content-category-blog__items .com-content-category-blog__item { width: calc(25% - 1em); height: 0; padding-bottom: calc(25% - 1em); Position: relative; background: var(--blue); transition: 0.5s ease-out; border-radius: 1.5em; margin: 0.5em; }
.servicesPage .com-content-category-blog__items .com-content-category-blog__item:hover { background: var(--lightest-blue);  }
.servicesPage .com-content-category-blog__items .page-header a { Position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-sizing: border-box; padding: 8em 1em 1em; color: var(--lightest-blue); text-align: center; display: flex; align-items: center; justify-content: center; font-size: 0.4em; line-height: 1.2em; }
.servicesPage .com-content-category-blog__items figure {width: 43%;margin: 2em auto;height: 0;padding-bottom: 43%;position: relative;}
.servicesPage .com-content-category-blog__items figure svg { width: 100%; height: auto; fill: var(--lightest-blue); transition: 0.5s ease-out; }
.servicesPage .com-content-category-blog__items .article-info.text-muted,
.servicesPage .com-content-category-blog__items .item-content > * { display: none; }
.servicesPage .com-content-category-blog__items .item-content .page-header { display: block; font-size: 1.8em; }
.servicesPage .com-content-category-blog__items .item-image img {margin: 0;width: 100%;height: 100%; opacity: 0.75; transition: 0.5s ease-out;position: absolute;top: 0;left: 0;object-fit: contain;}
.servicesPage .com-content-category-blog__items .com-content-category-blog__item:hover svg { fill: var(--blue); }
.servicesPage .com-content-category-blog__items a:hover { color: var(--blue); }


/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 7. Article ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/



/* General Article */
.articleBody .cols { display: flex; align-items: center; justify-content: flex-start; }
.articleBody .col { width: 30%; box-sizing: border-box; }
.articleBody .colImg { margin-bottom: 1em; }
.articleBody .colText { padding-left: 2em; }
.blogContent,
.articleBody { padding-left: 20%; padding-right: 15%; padding-top: 3em; padding-bottom: 3em; }



/*
.com-content-category-blog__items.blog-items { display: flex; margin: 0 -1em; flex-wrap: wrap; }
.blog-items .blog-item { width: 33.3%; box-sizing: border-box; padding: 0 1em; }
 .items-leading.blog-items .blog-item { width: 100%; }
.blog-items h2 { font-size: 1.5em; padding: 0; }
*/
.page-header.imgBg { min-height: 50vh; }
.headerWrapper { position: relative; }
.page-header h1,
.headerWrapper h1 { color: var(--blue); margin-top: 0; }
.page-header.imgBg .subtitle { position: relative; padding-top: 2em; }

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 8. Contact Page ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/

.modalWrapper .convertforms .cf-form-wrap { padding: 1em 0; }



/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 9. Articles ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/
.subtitle  h2 { font-size: 1.2em; width: 40%; }
.mod-breadcrumbs__wrapper { padding: 0 1em; }
.breadcrumb { display: flex; }
.breadcrumb-item { white-space: nowrap; }
.breadcrumb-item:after { content: '/'; display: inline-block; margin: 0 0.5em; }
.breadcrumb-item.active:after { display: none; }
.breadcrumb-item.active { white-space: normal; }

.blogArticles .intro { padding-top: 10vw; }
.blogArticles .main { padding-top: 1em; width: 80%; margin: 0 auto; text-align: justify; }
/* .blog-items.items-leading .blog-item { padding: 0; } */
.blogArticles h2,
.blogArticles h1{ font-family: 'Alfa Slab One'; font-weight: normal; text-align: left;  }
.blogArticles .item-image { margin-bottom: 1em; }
.sharePage * { display: inline-block; vertical-align: middle; margin: 0; }

.jmodedit,
*[role="tooltip"],
.icons .float-end { display: none; }

.com-content-article__body ul { margin: 0 0 2em; padding: 0; }
.com-content-article__body li { list-style: none; line-height: 1.4em; margin: 0.5em 0; padding: 0 0 0 1em; Position: relative; }
.com-content-article__body li:before { content: ''; Position: absolute; top: 0.5em; left: 0; width: 0.35em; height: 0.35em; background: var(--blue); border-radius: 50%; }
.com-content-article__body a { font-weight: bold; }

.authorDetails { display: flex; flex-wrap: wrap; margin-bottom: 2em; align-items: flex-start; background: #e6e6e6; padding: 3em 20px; margin: 2em -20px; }
.authorName { width: 100%; }
.authorPhoto { width: 30%; padding-bottom: 30%; margin-right: 2em; border-radius: 50%; }
.authorDescription { width: calc(70% - 2em); flex: 1; }

.articlesList ul { justify-content: flex-start; overflow: hidden; overflow-x: auto; }
.articlesList li { margin: 0 1em; min-width: 75%; }

.moduletable.servicesSlider { padding: 3em; box-sizing: border-box; width: 100%; }
.servicesSlider li { width: 100%; height: 0; padding-bottom: 100%; Position: relative; }
.servicesSlider .owl-carousel .owl-item img { margin-bottom: 1em; width: auto; height: 40%; mix-blend-mode: color-dodge; filter: invert(1); opacity: 0.75; transition: 0.5s ease-out; }
.servicesSlider .owl-carousel .owl-item a:hover img { opacity: 0.1; }
.servicesSlider a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--lightest-blue); background: var(--blue); border-radius: 20%; text-align: center; box-sizing: border-box; padding: 0.5em; transition: 0.5s ease-out; }
.servicesSlider a:hover { background: var(--light-blue); color: var(--blue); }
.servicesSlider h3 { min-height: 3em; display: flex; align-items: center; color: var(--blue); }
.servicesSlider .current h3 { color: var(--white); }
.homePage .servicesSlider h3 { color: var(--lightest-blue); }
.homePage .servicesSlider a:hover h3 { color: var(--blue); }
.servicesSlider h2 { padding-left: 14.1vw; }
.servicesSlider .owl-carousel .owl-nav button.owl-prev, 
.servicesSlider .owl-carousel .owl-nav button.owl-next { background: #ffffff; }
.servicesSlider a span { position: absolute; top: 50%; left: 0; margin-top: -0.5em; width: 100%; text-align: center; font-size: 1.3em; font-weight: bold; opacity: 0; visibility: hidden; transition: 0.5s ease-out; color: var(--blue); }
.servicesSlider a:hover span { opacity: 1; visibility: visible; }
.servicesSlider svg { fill: var(--lightest-blue); transition: 0.5s ease-out; width: 66%; }
.servicesSlider a:hover h3,
.servicesSlider a:hover svg { opacity: 0.15; transition: 0.5s ease-out; }

.careersPage .blog-items { background: var(--lightest-blue); padding: 1em; }
.careersPage .blog-items h3{ color: var(--blue); }
.careersPage .blog-items a { color: var(--light-blue); }

.memberLogos { width: 100%; border-collapse: collapse; border: none; text-align: center; }
.memberLogos img { width: 150px; height: auto; max-width: 100%; }


/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 10. About ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/



/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 11. Serivces ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/

.servicePage { position: relative; }
.servicePage .page-header:before { content: ''; position: absolute; top: 0; left: 50%; margin-left: -50vw; width: 100vw; height: 30em; background: var(--blue); }
.servicePage .page-header { padding-top: 2em; position: relative; }
.servicePage .page-header h1,
.servicePage .page-header h2 { color: var(--lightest-blue); position: relative; }
.servicePage .page-header h2 { font-size: 1.4em; position: relative; }
.category-name a { Position: absolute; top: 7em; left: 3em; color: var(--lightest-blue); font-weight: bold; text-transform: uppercase; }
.servicePage .item-image { Position: relative; max-width: 1000px; border-radius: 1.2em; min-height: 60vh; overflow: hidden; margin-bottom: 3em; }
.servicePage .item-image img { Position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.servicePage .wrapper { display: flex; }
.servicePage .wrapper .left { width: 30%; padding: 0 3em; box-sizing: border-box; }
.servicePage .wrapper .com-content-article__body { max-width: 700px; }

.servicePage .moduletable.servicesSlider { padding: 0; }
.servicePage .servicesSlider img { margin-bottom: 1em; width: auto; height: 40%; mix-blend-mode: color-dodge; filter: invert(1); opacity: 0.75; transition: 0.5s ease-out; }
.servicePage .servicesSlider a:hover img { opacity: 0.1; }
.servicePage .servicesSlider ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.servicePage .servicesSlider li { width: calc(50% - 1em); padding-bottom: calc(50% - 1em); margin-bottom: 2em; }


.servicePage .servicesSlider a img { opacity: 0.5; filter: none; mix-blend-mode: darken;  }
.servicePage .servicesSlider a { background: var(--lightest-blue); color: var(--blue); font-size: 0.8em; }
.servicePage .servicesSlider a:hover span { opacity: 1; visibility: visible; }
.servicePage .servicesSlider .current a { background: var(--blue); color: var(--lightest-blue); pointer-events: none; }
.servicePage .servicesSlider .current img { margin-bottom: 1em; width: auto; height: 40%; mix-blend-mode: color-dodge; filter: invert(1); opacity: 0.75; transition: 0.5s ease-out; }

.servicePage .servicesSlider a svg { fill: var(--blue); }
.servicePage .servicesSlider .current a svg { fill: var(--lightest-blue); }

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 12. Search ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/
.com-finder .input-group { display: flex; }

/*-------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------- 100. Plugins Rewrites ------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------*/

/* Owl Carousel */
.owl-carousel .owl-dots,
.owl-carousel .owl-nav { position: absolute; width: 100%; text-align: center; }
.owl-carousel .owl-dots { bottom: 20px; left: 0; display: none; }
.owl-carousel .owl-nav { top: 50%; left: 0; height: 0; margin-top: 0; }
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next { position: absolute; top: -0.65em; width: 1.3em; height: 1.3em; border: 3px solid var(--blue); border-radius: 50%; transition: 0.4s; color: var(--blue); text-align: center; display: inline-block; font-family: fontawesome; font-size: 3em; }
.owl-carousel .owl-nav button.owl-prev { left: -0.65em; }
.owl-carousel .owl-nav button.owl-next { right: -0.65em; left: auto; }
.owl-carousel .owl-nav button.owl-prev:before { content: '\f104'; margin-left: 0.2em; }
.owl-carousel .owl-nav button.owl-next:before { content: '\f105'; margin-left: 0.2em; } 
.owl-carousel .owl-nav button span { display: none; }
.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover { background-color: var(--blue); color: #ffffff; } 
.owl-carousel .owl-nav .owl-next.disabled,
.owl-carousel .owl-nav .owl-prev.disabled { cursor: default; }
.owl-carousel .owl-nav .owl-next.disabled:before,
.owl-carousel .owl-nav .owl-prev.disabled:before { opacity: 0.6; }

.owl-carousel button.owl-dot { display: inline-block; width: 1em; height: 1em; background: transparent; border: 2px solid #ffffff; margin: 0 5px; border-radius: 50%; }
.owl-carousel button.owl-dot.active { background: #ffffff; }
.owl-carousel button.owl-dot:before,
.owl-carousel button.owl-dot:after { display: none; }

/* Convert Forms */
.contactForm h3 { display: none; }
#cf_1.convertforms { margin: 2em 0; background-size: cover; background-position: center 85%; max-width: var(--main-wrapper); margin: 5em auto; border-radius: 1em; }
.convertforms { border-radius: 1em; }
.convertforms .cf-btn {
	border-radius: 50% !important;
    color: var(--blue) !important;
    font-size: 1em !important;
    background-color: transparent !important;
	line-height: 1;
	font-family: 'CFPanoptik', sans-serif;
	padding: 0 !important; 
	position: relative;
	margin: 0;
	font-weight: normal !important;
	transition: 0.5s ease-out !important;
	text-align: center; 
	width: 3em !important;
	height: 3em !important;
	opacity: 1 !important;
	display: inline-flex;
	border: 2px solid var(--blue);
	justify-content: center;
	align-items: center;
	position: absolute !important;
	bottom: 4em;
	right: 2em; 
}
.cf-control-group[data-type="submit"] { padding: 0; margin: 0; }
.cf-control-group[data-type="textarea"] { padding-right: 5em; }
.convertforms .cf-btn-text { display: none; }
.convertforms .cf-btn:before { content: '\f061'; font-family: 'FontAwesome'; line-height: 1; color: var(--light-blue); margin: 0; transition: 0.5s ease-out; }
.convertforms * { font-family: 'CFPanoptik', sans-serif !important; }
.convertforms .cf-btn:hover { background: var(--blue) !important; color: #000000 !important; }
.convertforms button,
.convertforms form,
.convertforms label,
.convertforms .cf-input { font-weight: 100 !important; }

.convertforms .cfupload {
    color: var(--input-color);
    font-size: var(--input-size);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.convertforms .cfupload>div:nth-child(2) {
    margin-top: 15px
}

.convertforms .cfupload .dz-message {
    padding: 25px 10px;
    border: 1px solid var(--input-border-color);
    background-color: var(--input-background-color);
    border-radius: var(--input-border-radius);
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-transition: all 200ms ease;
    transition: all 200ms ease
}

.convertforms .cfupload .dz-message>* {
    margin: 5px;
    opacity: .8
}

.convertforms .cfupload .dz-message:hover>* {
    opacity: 1
}

.convertforms .cfupload .dz-message .cfupload-browse {
    color: inherit;
    width: auto;
    border-radius: 5px;
    padding: 4px 7px;
    background: transparent;
    border: solid 1px currentColor;
    color: inherit
}

.convertforms .cfupload.dz-clickable .dz-message {
    cursor: pointer
}

.convertforms .cfupload.dz-drag-hover .dz-message {
    background-color: #c7ecc7 !important;
    color: #5d5c5c
}

.convertforms .cfupload.dz-drag-hover .dz-message>* {
    opacity: 1
}

.cf-control-input-desc { font-size: 0.6em; margin: 0.5em 0; }
.cf-checkbox-group { display: flex; }
.cf-checkbox-group label { text-transform: none; display: inline; margin-left: 1em; }
.cf-checkbox-group input[type="checkbox"] { width: 0.7em; height: 0.7em; margin-top: 0.2em; }


.convertforms .cf-content-img img { width: 40vw !important; height: 40vw !important; border-radius: 50%; }

.pageWrapper .convertforms .cf-input,
.pageWrapper .convertforms .cf-input:focus,
.pageWrapper .convertforms .cf-input:invalid:focus { border: none; padding: 1.5em; border-radius: 0.4em !important; }

.contact .convertforms .cf-content-wrap,
.contact .convertforms .cf-form-wrap { padding: 0; }
.contact .convertforms .cf-control-group { padding-left: 0; padding-right: 1em; }
.cf-control-group label a:hover { color: #e9d8bc; }
.contact .convertforms .cf-fields  { margin: 0; }
.cf-fields { position: relative; }

.cf-control-group { transition: 0.4s ease-out; }
.cf-control-group.disabled { opacity: 0.5; pointer-events: none; transition: 0.4s ease-out; }

/* Sitemap */
#SchuWeb_Sitemap { width: 100%; box-sizing: border-box; max-width: 1280px; margin: 40px auto; padding: 0 20px; }
.popover { display:none !important; }

/* Phoca maps */
.contact .leaflet-container a { color: var(--blue); }
.contact .leaflet-container a:hover { color: #000000; }

/* Cookies */
.jb-accept.blue { display: inline-block; padding: 1em 2em; }
#jbcookies.modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.92); z-index: 9999; color: #ffffff; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; padding: 5%; }
.loading #jbcookies,
#jbcookies.hide { display: none; }
#jbcookies > * { width: 100%; }
#jbcookies ul { margin: 2em 0; padding: 0 0 0 1em; list-style: disc; line-height: 1.4em; }
#jbcookies ul li { list-style: disc; margin: 0 0 1em; }
#jbcookies .close { display: none; }
#jbcookies .modal-footer { margin-top: 2em; }
footer .bottom { padding: 1em; background: #0a0f13; color: #67727d; box-sizing: border-box; }
.bottom .jb-cookie-decline { text-align: center; }
.bottom .jb-accept.blue { border: none; background: #0099b5; display: inline-block; transition: all 0.5s ease-out; font-family: Gilroy, Arial; border-radius: 0; }
.bottom .jb-cookie.blue p a,
.bottom .jb-decline.link { color: #0099b5; }
.bottom .jb-cookie.bottom.blue .jb-cookie-bg.white,
.bottom .jb-cookie.bottom.blue .jb-cookie-bg.black { border-color: #0099b5; }
#jbcookies.hide { display: none; }
.modal-dialog { box-sizing: border-box; max-height: 100%; }
.modal-content { max-width: 1280px; margin: 0 auto; text-align: left; box-sizing: border-box; padding: 1em; max-height: 100%; width: 100%; overflow: hidden; overflow-y: auto; }
.modal-title + .btn-close { display: none; }
.modal-title { font-size: 1.5em; font-weight: 200; color: var(--blue); text-align: center; }
.footer .jb-cookie a,
.footer .jb-decline.link { color: var(--blue); }

/* BLUEBELL */
.bluebell a { width: 120px; display: inline-block; }
.bluebell a svg { width: 100%; height: auto; fill: #aaaaaa; transition: 0.6s ease-out; }
.bluebell a:hover svg { fill: #ffffff; }

/* hoku */
.hoku { position: relative; padding: 2em 0 0; text-align: center; justify-content: flex-end; }
.hoku a { display: inline-block; width: 50px; height: auto; text-decoration: none; }
.hoku a p { font-size: 9px; color: #242323; margin: 0; }
.hoku a:hover { background-position: top left; text-decoration: none; }
.hoku svg { width: 45px; height: auto; }
.hoku svg * { fill: #242323; transition: fill 0.5s ease-out; }
.hoku a:hover * { fill: #888888; color: #888888; }
