@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/open-sans-v15-latin-ext_latin-regular.eot');
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
  url('../webfonts/open-sans-v15-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'), 
  url('../webfonts/open-sans-v15-latin-ext_latin-regular.woff2') format('woff2'),
  url('../webfonts/open-sans-v15-latin-ext_latin-regular.woff') format('woff'),
  url('../webfonts/open-sans-v15-latin-ext_latin-regular.ttf') format('truetype'),
  url('../webfonts/open-sans-v15-latin-ext_latin-regular.svg#OpenSans') format('svg');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../webfonts/open-sans-v15-latin-ext_latin-600.eot');
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
  url('../webfonts/open-sans-v15-latin-ext_latin-600.eot?#iefix') format('embedded-opentype'),
  url('../webfonts/open-sans-v15-latin-ext_latin-600.woff2') format('woff2'),
  url('../webfonts/open-sans-v15-latin-ext_latin-600.woff') format('woff'),
  url('../webfonts/open-sans-v15-latin-ext_latin-600.ttf') format('truetype'),
  url('../webfonts/open-sans-v15-latin-ext_latin-600.svg#OpenSans') format('svg');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../webfonts/open-sans-v15-latin-ext_latin-700.eot');
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
  url('../webfonts/open-sans-v15-latin-ext_latin-700.eot?#iefix') format('embedded-opentype'),
  url('../webfonts/open-sans-v15-latin-ext_latin-700.woff2') format('woff2'),
  url('../webfonts/open-sans-v15-latin-ext_latin-700.woff') format('woff'),
  url('../webfonts/open-sans-v15-latin-ext_latin-700.ttf') format('truetype'),
  url('../webfonts/open-sans-v15-latin-ext_latin-700.svg#OpenSans') format('svg');
}

html {
  min-height: 100%;
  min-width: 100%;
}

body {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif;
  text-align: left;
  font-size: 14px;
  line-height: 17px;
  word-wrap: break-word;
  text-rendering: optimizeLegibility;
  -moz-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
}

p {
  margin: 0px;
  padding: 0px;
  border-width: 0px;
  border-style: solid;
  border-color: transparent;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  -o-transform-origin: left top;
  transform-origin: left top;
  background-repeat: no-repeat;
}

a {
  text-decoration: none;
}

td { padding-right: 10px; }

ul.ce-top-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  float: left;
}

ul.ce-top-menu li {
  padding: 0;
  margin: 0;
  float: left;
  height: 84px;
}

ul.ce-top-menu li a {
  text-transform: uppercase;
  text-align: center;
  color: #FFFFFF;
  letter-spacing: 3px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  text-decoration: none;
  display: block;
  width: 155px;
  outline: none;
  padding: 0 0 8px 0;
  margin: 40px 10px 0 10px;
}

ul.ce-top-menu li a:hover,
ul.ce-top-menu li a.active {
  border-bottom: 3px solid white;
}

.ce-dd-menu {
  z-index: 387;
  width: 1197px;
  height: 299px;
  position: fixed;
  top: 92px;
  left: 50%;
  margin-left: -600px;
  border-style: solid;
  border-width: 8px 2px 2px 2px;
  border-color: #293B67;
  background-color: #DCDFE5;
  display: none;
}

.mobile-menu .ce-dd-menu {
  width: 90%;
  height: auto;
  margin: 0 5%;
  top: 88px;
  left: 0;
  color: #293B67;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 27px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}

.mobile-menu .ce-dd-menu p {
  padding: 4px 15px;
}

@media(max-width: 600px) {
  .mobile-menu .ce-dd-menu {
    top: 64px;
  }
}

ul.ce-top-menu li .ce-dd-menu a {
  color: #293B67;
  width: auto;
  text-align: left;
}

.ce-dd-menu .ce-dd-menu-left {
  width: 50%;
  height: 100%;
  background: white;
  float: left;
  font-size: 14px;
  color: #8893A8;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 27px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  padding: 39px 0 16px 18px;
}

.ce-dd-menu .ce-dd-menu-left p {
  /*width: 356px;*/
  border-bottom: 1px solid #8893A8;
  padding-bottom: 10px;
  white-space: nowrap;
}

.ce-dd-menu .ce-dd-menu-left a,
.mobile-menu .ce-dd-menu a,
a.arrow-link,
.footer-menu a {
  margin: 25px 0 25px 0;
  padding-left: 37px;
  text-decoration: none;
  border-bottom: 0;
  background: transparent url("/site/templates/images/arrow_blue.svg") no-repeat;
  background-position: 0 6px;
  background-size: 12px 14px;
  -webkit-transition-duration: 0.3s;
  -webkit-transition-delay: 0.1s;
  -webkit-transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-delay: 0.1s;
  transition-timing-function: ease;
}
.footer-menu a {
  padding-left: 45px;
  background: transparent url("/site/templates/images/arrow_white.svg") no-repeat;
}

.ce-dd-menu .ce-dd-menu-left a:hover,
.mobile-menu .ce-dd-menu a:hover,
.footer-menu a:hover,
.ce-dd-menu .ce-dd-menu-left a.active,
.mobile-menu .ce-dd-menu a.active,
.footer-menu a.active {
  text-decoration:none;
  border-bottom: 0;
  background-position: 16px 6px;
}
.footer-menu a:hover,
.footer-menu a.active {
  background-position: 16px 0;
}

a.arrow-link {
  font-size: 12px;
  margin: 0;
  line-height: 20px;
  background-position: 0 0;
}

a.arrow-link:hover,
a.arrow-link.active {
  text-decoration: none;
  border-bottom: 0;
  background-position: 16px 0;
}

.ce-dd-menu .ce-dd-menu-right {
  width: 50%;
  height: 100%;
  font-size: 14px;
  color: #8893A8;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 27px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  padding: 22px 20px 20px 654px;
}

.ce-dd-menu .ce-dd-menu-right input[type="text"] {
  border: 1px solid #293B67;
  background-color: white;
  color: #293b67;
  padding: 10px 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.ce-dd-menu .ce-dd-menu-right input[type="submit"] {
  background-color: #293B67;
  border: 1px solid #293B67;
  color: white;
  padding: 10px 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: left;
}

.ce-dd-menu .ce-dd-menu-right input[type="submit"]:hover {
  cursor: pointer;
  background-color: #8893A8;
}

.ce-dd-menu .ce-dd-menu-right #port-search {
  margin: 85px 0 0 50px;
  background-image: url(/site/templates/images/search.png);
  background-position: right center;
  background-repeat: no-repeat;
}

.port-list #portlist-search {
  border: 1px solid #293B67;
  background-color: white;
  color: #293b67;
  padding: 4px 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
  background-image: url(/site/templates/images/search.png);
  background-position: right center;
  background-repeat: no-repeat;
  width: 100%;
}

.ce-dd-menu .ce-dd-menu-right p {
  padding-bottom: 10px;
  white-space: nowrap;
}

.ce-dd-menu-icon {
  width: 470px;
  text-align: center;
  margin-top: 25px;
}

.ce-dd-menu-icon img {
  border: 2px solid black;
  background: white;
  padding: 20px;
}

.ce-dd-menu-icon p {
  color: #293B67;
  padding-top: 20px;
}

.mobile-menu-toggle {
  cursor: pointer;
}

#content {
  color: #293B67;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 35px;
  padding: 150px 0px 21px;
}

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  color: #293B67;
  letter-spacing: 3px;
  font-weight: 700;
  border-bottom: 2px solid black;
  padding: 0 25px 20px;
}

#content h1 {
  font-size: 25px;
  line-height: 30px;
}

#content h1,
body.basic-page h1,
body.basic-page h2,
body.basic-page h3,
body.basic-page h4,
body.basic-page h5,
body.basic-page h6 {
  text-align: center;
  display: inline-block;
  padding: 0 25px 20px;
}

#content h2 {
  font-size: 25px;
}

@media(max-width: 600px) {
  #content {
    padding: 120px 0 21px;
  }
}

.no-shadow {
  box-shadow: none;
}

.w3-card img {
  width: 100%;
}

.w3-card .w3-row,
.row {
  background-color: #F4F4F6;
  margin-bottom: 45px;
}

#content .w3-card .w3-row h3 {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: center;
  padding: 10px 0 15px;
}

.w3-card .w3-row p {
  font-weight: 600;
  font-size: 12px;
  color: #293B67;
  letter-spacing: 1px;
  padding: 0 5px 25px;
}

.small-text {
  color: #293B67;
  font-weight: 700;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 12px;
  line-height: 24px;
  letter-spacing: 1px;
}

.thin-text {
  font-weight: 400;
}

.light-text {
  color: #8893A8;
}

.big-text {
  font-size: 25px;
  font-weight: 700;
  color: #293B67;
  line-height: 30px;
  letter-spacing: 3px;
  text-align: center;
}

.greyscale {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.greyscale:hover {
  -webkit-filter: none;
  filter: none;
}

footer {
  background-color:#293B67;
  padding: 25px 0 50px;
  background-image: url(/site/templates/images/ce-logo-blue.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 443px 143px;
  color: white;
}

footer h3 {
  font-size: 18px;
  color: #FFFFFF;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 22px;
  font-weight: 700;
  padding-bottom: 10px;
}

.icon {
  padding: 3px 0 7px 45px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 25px;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}

.icon-address {
  background-image: url(/site/templates/images/icon-address.svg);
}

.icon-phone {
  background-image: url(/site/templates/images/icon-phone.svg);
}

.icon-email {
  background-image: url(/site/templates/images/icon-email.svg);
}

.icon-facebook {
  background-image: url(/site/templates/images/icon-facebook.svg);
}

.icon-location-white {
  background-image: url(/site/templates/images/location-white.svg);
}

.icon-phone-white {
  background-image: url(/site/templates/images/phone-white.svg);
}

.icon-email-white {
  background-image: url(/site/templates/images/email-white.svg);
}

.icon-web-white {
  background-image: url(/site/templates/images/web-white.svg);
}

.footer-menu p {
  text-transform: uppercase;
  text-align: left;
  color: #FFFFFF;
  letter-spacing: 1px;
  font-size: 14px;
  font-weight: 700;
  line-height: 35px;
}

.bg-hover:hover {
  background-color: #DCDFE5 !important;
}

.img-caption {
  position: relative;
}

.img-caption img {
  width: 100%;
}

.img-caption div {
  color: #FFFFFF;
  font-weight: 600;
  border-width: 0px;
  border-color: transparent;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  font-size: 11px;
  background-color: #293B67;
  filter: alpha(opacity=80);
  line-height: 26px;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  opacity: 0.8;
  letter-spacing: 1px;
  text-align: center;
  padding: 10px;
}

.port-list ul {
  list-style:none;
  margin: 0;
  padding: 0;
}

.port-searchresults {
  background-color: white;
  padding: 20px;
  min-width: 400px;
  border: 2px solid #293B67;
}

ul.ce-top-menu li .ce-dd-menu .port-searchresults a {
  margin: 0;
  padding-left: 37px;
  line-height: 15px;
}

ul.ce-top-menu li .ce-dd-menu .port-searchresults a:hover {
  border: none;
}

.port-list li {
  padding: 0;
  margin: 0;
  border: none;
}

.port-list > ul > li {
  padding: 10px;
  background: white;
  border: 1px solid #F4F4F6;
  cursor: pointer;
}

.port-list li.active {
  background-color: #F4F4F6;
}

ul.portlist-searchresults,
ul.portlist-searchresults li {
  padding: 0;
  border: none;
}

ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

ol li {
  /*counter-increment: item;*/
  margin-bottom: 5px;
}

/*ol li:before {
  margin-right: 10px;
  font-size: 20px;
  content: counter(item);
  background: #0d2b4f;
  border-radius: 100%;
  color: white;
  width: 35px;
  height: 35px;
  text-align: center;
  display: inline-block;
  line-height: 31px;
}*/

@media(max-width:1199px) {
  .w3-content {
    min-width: auto;
  }
}

/* Gallery */

.row > .column {
  padding: 10px;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Create four equal columns that floats next to eachother */
.column {
  float: left;
  width: 25%;
}

/* The Modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: 10;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: black;
}

/* Modal Content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  width: 90%;
  max-width: 1200px;
}

/* The Close Button */
.close {
  color: white;
  position: absolute;
  top: 10px;
  right: 25px;
  font-size: 35px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #999;
  text-decoration: none;
  cursor: pointer;
}

/* Hide the slides by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.modal .prev,
.modal .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: white;
  font-weight: bold;
  font-size: 20px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
}

/* Position the "next button" to the right */
.modal .next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.modal .prev:hover,
.modal .next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* Caption text */
.caption-container {
  text-align: center;
  background-color: black;
  padding: 2px 16px;
  color: white;
}

img.demo {
  opacity: 0.6;
}

.active,
.demo:hover {
  opacity: 1;
}

img.hover-shadow {
  transition: 0.3s;
}

.hover-shadow:hover {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.icon-rotate {
  width: 58px;
  height: 58px;
  background-size: 58px;
  background-position: top center;
  border: 2px solid #293B67;
  float: left;
  margin-right: 25px;
  -webkit-transition-duration: 0.3s;
  -webkit-transition-delay: 0.1s;
  -webkit-transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-delay: 0.1s;
  transition-timing-function: ease;
}

.icon-rotate:hover {
  background-position: bottom center;
}

.icon-rotate-facebook {
  background-image: url(/site/templates/images/icon-rotate-facebook.svg);
}
.icon-rotate-youtube {
  background-image: url(/site/templates/images/icon-rotate-youtube.svg);
}
.icon-rotate-twitter {
  background-image: url(/site/templates/images/icon-rotate-twitter.svg);
}
.icon-rotate-vimeo {
  background-image: url(/site/templates/images/icon-rotate-vimeo.svg);
}
.icon-rotate-linkedin {
  background-image: url(/site/templates/images/icon-rotate-linkedin.svg);
}
.icon-rotate-instagram {
  background-image: url(/site/templates/images/icon-rotate-instagram.svg);
}

.icon-rotate-label {
  text-transform: uppercase;
  text-align: left;
  margin-top: 10px;
}

.chosen-container {
  min-width: 350px !important;
  width: auto !important;
}

.map-marker {
  position: absolute;
  top: calc(50% - 15px);
  left:calc(50% - 15px);
  width:30px;
  height:30px;
}

.video-preview-text {
  font-size: 12px;
  line-height: 16px;
  width: calc(100% - 16px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(100,100,100,.7);
  color: white;
  margin: 0 8px;
  padding: 20px;
  transition: all 0.5s;
}

.video-preview-text:hover {
  background-color: rgba(100,100,100,.3);
}

.video-preview-text a {
  text-decoration: underline;
}

.inline-nav {
  position: fixed;
  top: 100px;
  left: 0;
  width: 100%;
  height: 35px;
  line-height: 35px;
  background-color: #F4F4F6;
  color: #293B67;
  font-weight: bold;
  display: none;
}

.inline-nav ul {
  text-align: center;
  padding: 0;
  margin: 0;
}

.inline-nav ul li {
  list-style: none;
  padding: 0 20px;
  margin: 0;
  display: inline;
}

@media(max-width: 1200px) {
  .inline-nav { display: none; }
}

#searchbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(255,255,255,.95);
  text-align: center;
  display: none;
  padding: 20px;
  box-shadow: 0 0 10px #333;
  z-index: 15;
}

#searchclose {
  position: absolute;
  top: 25px;
  right: 50px;
  color: #666677;
  cursor: pointer;
}

#searchresults {
  position: absolute;
  top: 65px;
  left: calc(50% - 33%);
  width: 66%;
  background-color: white;
  border: 1px solid #eee;
  display: none;
  max-height: 500px;
  overflow: auto;
}