body {
    font-family: 'Roboto', sans-serif;
}

:focus {
    outline:none!important;
}

.content .alm-reveal {
    display:flex;
    flex-wrap:wrap;
  }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Roboto', sans-serif;
    font-weight:normal !important;
}

/* ---- STICKY FOOTER ---- */
html, body, #wrapper {height: 100%;}
body > #wrapper {height: auto; min-height: 100%;}

body {
    font-size:18px;
    color:#757575;
    font-weight:300;
}

.bg-showmore-plg-link {
    font-weight: 600;
}

h1, .h1 {}

h2.searchresults {
    font-size: 22px;
    font-weight: 600 !important;
}

h2, .h2 {
    color:#1f1f1f; 
    font-size:28px;
    font-weight:800 !important;;
    margin-bottom:30px;
    margin-top:0;
}

h1.line {
    color:#1f1f1f; 
    font-weight:800 !important;;
    margin-bottom:30px;
    margin-top:0;
}

.tussenruimte {
    margin-top: 30px;
}

.tussenruimte-img {
    margin-bottom: 30px;
}

h2:after, .h2:after, h3.line:after, h1.line:after {
    display:block;
    content:'';
    width:0px;
    border-top:4px solid #e01a2a;
    border-left:61px solid #e01a2a;
    border-right:4px solid transparent;
}

.small-h2 {
    font-size:26px !important;
    line-height: 28px;
}

.small-h2::after {
    margin-top:10px;
}

.maps h2.centered {
    margin-top: 60px;
}

.maps.detail h2.centered {
    margin-top: 0;
}

.h2fixedheight {
    height: 70px;
}

.equal-push {
    margin-bottom: 20px;
}

a.nstyle, a.nstyle:active, a.nstyle:focus {
    color: #1f1f1f !important;
}

a.nstyle:hover {
    color: #e01a2a !important;
    text-decoration: none;
}

a p.equalvac {
    color: #757575;
}

.extramarge {
    margin-bottom: 40px;
}

.topmarge40 {
    margin-top: 40px;
}

.extramarge a.centered {
    margin-bottom:0;
}

.moremarge {
    margin-top: 40px;
}

.bottommarge {
    margin-bottom: 40px;
}

.morebottommarge {
    margin-bottom: 60px;
}

.lessbottommarge {
    padding-bottom: 20px;
}

.lesstopmmarge, .ntm {
    padding-top: 0 !important;
}

.nopadding {
    padding-top:0;
}

.marginleft {
    margin-top: 5px;
    margin-left: 20px;
}

.crop {
    overflow: hidden;
/*    height: 340px;*/
}

.crop img {
    max-height:340px;
}

.slant {
    font-style: italic;
}

.expandable {margin-bottom:20px;}

h3, .h3 {
    font-size:20px;
    color:#1f1f1f;
    margin:0;    
    padding: 0 0 10px 0;
    font-weight:700 !important;
}

h4, .h4 {font-size:18px;}

.h4:after {
    display:none;
}

h5, .h5 {
    font-size:16px;
    font-weight:900;
    color:#1f1f1f;
    margin-top:0px;
    margin-bottom:10px;
}

.nomarges {
    padding-left: 0;
    padding-right: 0;
}

.centered {
    text-align:center;
    margin-bottom:40px;
}

a.centered {
    text-align: center;
    display: inline-block;
    margin-bottom: 40px;
}

.centered:after {
    margin:0 auto;
}

img{max-width: 100%}

p {
    line-height:28px;
    margin-top:0;
    margin-bottom:40px;
}

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

#top, #top img, #logo, #logo .container:before, nav img {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

a, a:hover, a:visited, a:focus {
    color:#e01a2a;
    text-decoration: none;
}

h2 a, h3 a {
    color:#1f1f1f!important; 
}

h2 a:hover, h3 a:hover {
    text-decoration:none;
}

.readmore, a[data-readmore-toggle] {
    color:#e01a2a;
    font-size:18px;
    font-family:Roboto, sans-serif;
    font-weight:700;
    display:table;
    margin-top: -10px;
}

.viewall {
    color:#e01a2a;
    font-size:18px;
    font-family:Roboto, sans-serif;
    position: absolute;
    top: 100px;
    font-weight:700;
    float: right;
    right:14px;
}

.fullwidth.grey .container,
.fullwidth.white .container{
    position:relative;
}

.fullwidth.grey .container .viewall,
.fullwidth.white .container .viewall{
    top:28px;
}

#overlay {
    position:fixed;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.2);
    z-index:9999999;
    display:none;
}

#popup {
    width: 100%;
    /* margin-left: -200px; */
    max-width: 60%;
    position: absolute;
    margin: 0;
    top: 20%;
    left: 20%;
    background: white;
    z-index: 999999;
}


#popup h2 {
    margin-bottom: 20px;
    margin-left:0;
}

#popup a {
    text-align:center;
}

#popup img {
    margin-bottom: 0;
    border: 3px solid white;
    border-radius: 15px;
}

.popup-content {
    padding: 0;
    display: inline-block;
    padding: 30px;
    border-radius: 15px;
    /* border: 3px solid white; */
}

.popup-content p {
    margin-bottom:15px;
}

.popup-close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 15px;
    right: 15px;
    text-align: center;
    line-height: 35px;
    font-weight: 800;
    font-size: 18px;
    border-radius: 8px;
    background: white;
    color: #b5121b;
    /* padding: 0px; */
    cursor: pointer;
}

#overlay_popup {
    background-color:rgba(0,0,0,0.75);
    width:100%;
    height:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:99999;
}

a.button, .button {
    border:4px solid #e01a2a;
    border-right:none;
    line-height:52px;
    color:#fff;
    display:inline-block;
    font-size:20px;
    font-weight:700;
    padding-left:25px;
    padding-right:15px;
    position:relative;
    z-index: 0
}

.button:not(.noslant):after {
    content:'';
    display:block;
    position:absolute;
    top:-4px;
    right:-12px;
    height:60px;
    width:40px;
    border-top:4px solid #e01a2a;
    border-right:4px solid #e01a2a;
    -webkit-transform: skewX(-20deg);
    -moz-transform: skewX(-20deg);
    transform: skewX(-20deg);
    z-index:-1;
}

.button.noslant {
    padding:0 35px;
    line-height:43px;
    font-size:16px;
    font-weight:400;
}

.button.mapsoverlay {  
    z-index: 10;
    border-top:4px solid #e01a2a;
    border-right:4px solid #e01a2a;
    position: absolute;
    font-size: 16px;
    font-weight: 800;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.4);
}

.button.mapsoverlay:hover {
    text-shadow: none;
}

.button.mapsoverlay.current.active,
.button.mapsoverlay.current  {      
    background:#e01a2a;
    text-shadow: none;
}

.button.mapsoverlay.past.active {      
    background:#e01a2a;
    text-shadow: none;
}

.button.mapsoverlay.current-projects {
    right: 225px;
    top: 20px;

}

.button.mapsoverlay.past-projects {
    right: 35px;
    top: 20px;
}

.button:hover {
    background:#e01a2a;
    text-decoration:none;
}

.button:hover:after {
    background:#e01a2a;
}

.button.red, .button.red:after {
    background:#e01a2a;
}

.button.arrow {
    padding-right:39px;
}

.button.arrow:before {
    position:absolute;
    content:'';
    width:14px;
    height:21px;
    top:50%;
    margin-top:-10px;
    right:14px;
    background-image:url(../images/arrow-right.png);
    background-position:50% 50%;
    background-repeat:no-repeat;
}

.content .blacklink {
    color:#1f1f1f;
    font-size:16px;
    font-weight:700;
}

.content .blacklink:hover {
    color:#e01a2a;
}

.shadow {
    box-shadow: 0px 1px 1.42px 0.58px rgba(0,0,0,0.16);
    padding:30px;
}

.breadcrumbs {
/*    width: 100%;*/
    font-size: 17px;
    color: white;
    text-shadow: 1px 1px 2px #000;
    position: absolute;
    bottom: 15px;
}

.breadcrumbs a,
.breadcrumbs span {
    color: white;
}

.breadcrumbs span.breadcrumb_last {
    font-family:Roboto, sans-serif;
}

article + [data-readmore-toggle], article[data-readmore] {
  padding-left: 20px;
}

#info + .readmore-js-toggle { padding-bottom: 1.5em; border-bottom: 1px solid #999; font-weight: bold;}
#demo, #ajax { width: 42%; float: left; padding: 0 8% 3em 0; }
#ajax { padding-right: 0; }
#ajax.loading { min-height: 314px; background: url() no-repeat center center;}

/* ---- TOP MENU ---- */
#top {
    z-index: 100;
    width:100%;
    background:white;
    border-bottom:1px solid #f0f0f0;
}

#logo {
    line-height:118px;
    border-bottom:1px solid #f0f0f0;
}

#logo .container {
    position:relative;
}

#logo .container:before {
    position:absolute;
    top:0;
    left:15px;
    display:block;
    content:'';
    width:0px;
    border-top:7px solid #e01a2a;
    border-left:212px solid #e01a2a;
    border-right:7px solid transparent;
}

#logo img {
    max-height:118px;
}

.search {
    position:relative;
    line-height:initial;
}

#logo .search {
    position:absolute;
    top:50%;
    margin-top:-21px;
    right:0;
    line-height: 41px;
}

nav .search {
    margin-top:15px;
}

html[data-useragent*='MSIE 10.0'] #logo .search {
  margin-top:-60px;
}

html[data-useragent*='MSIE 10.0'] .search input[type=submit] {
  top:1px;
}

html[data-useragent*='MSIE 9.0'] #logo .search {
  margin-top:-60px;
}

html[data-useragent*='MSIE 9.0'] .search input[type=submit] {
  top:1px;
}

.search input[type=text] {
    line-height:41px;
    padding:0 40px 0 16px;
    border:1px solid #dadada;
    width:372px;
    height:41px;
    font-size:16px;
}

.search input[type=submit] {
    width:47px;
    background:url(../images/icon-search.png) 50% 50% no-repeat;
    border:none;
    position:absolute;
    top:0px;
    right:1px;
}

nav .search input[type=text] {
    max-width:-webkit-calc(100% - 30px);
    margin:0 15px;
}

nav .search input[type=submit] {
    right:16px;   
}

#push {
    height: 0px
}

.scrolled+#push {
    height:57px;
}

nav ul {
    display:inline-block;
}

nav img {
    display:inline-block;
    width:0px;
    margin-right:0px;
}

.scrolled nav {
    position:fixed;
    top:0;
    width:100%;
    background:white;
    box-shadow:0px 0px 15px rgba(0,0,0,0.2);
    z-index:9999;
    line-height:57px;
    height:58px;
}

.scrolled nav img {
    width:auto;
    width:125px;
    margin-right:30px;
}

/* ---- Tables ---- */



table {
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #e1e1e1;
    margin:0 0 20px 0;
    vertical-align: none;
    width:100%;
}

table td, th
{
    border-top: 1px solid #ddd;
    padding: 4px 15px 4px 15px;
    font-size:16px;
    font-weight: 500;
    height:36px;
    line-height:36px;
}

table tr
{
   width:100%;
   border:none;
   height:50px;
}

td {
       border:none;
}

td.bold {
    font-weight:bold;
    color:#000;
}
tr.first {
    font-family: 'Roboto', sans-serif;    
    background-color: #f3f3f3;
    height:50px;
    color: black;
    font-size: 18px;
}

tr:nth-child(odd) {
    background-color: #f6f6f6;  
}

/* Table in Google maps */

.nostyle tr,
.nostyle td,
table.nostyle {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: 200;
    height: auto;
    line-height: 20px;
    outline: 0;
    font-size: 14px;
    vertical-align: baseline;
    background: transparent;
}

.nostyle td:nth-child(odd) {
    width: 100px;
    font-weight: 600;
}

.nostyle td.ptitle {
    width: auto;
}


/* ---- SLIDER ---- */
.cd-hero-slider .cd-full-width {
    padding-top:75px;
}

.cd-full-width h2 {
    margin-bottom: 10px;
}

.slider h2, .slider p,
.headerimg h2, .headerimg p{
    background:rgba(0,0,0,0.66);
    color:#fff;
    display:block;
    font-family: 'Roboto', sans-serif;    
    float:left;
    clear:left;
    padding:10px;
    position:relative;
}

.slider p:after ,
.headerimg p:after {
    border-top-width:58px;
}

.slider h2 {
    font-size:28px;
}

.slider p,
.headerimg p {
    margin-top:0px;
    font-size:18px;
}

.slider .button {
    float:left;
    clear:left;
}

.headerimg {
    height:500px;
    /*height:500px;*/
    background-size:cover;
    background-position: center;
    position:relative;
}

.headerimg .container {
    position:relative;
    height:100%;
}

.headerimg p {
    bottom:40px;
    position: absolute;
}


/* ---- CONTENT ---- */

.equalhomeblock {
    margin-top: -10px;
}


section.content {
    padding-top:70px;
    padding-bottom:80px;
    position:relative;
    background-position:center center;
}
section.content.nopadding {
    padding-top:0;
}

section.content.vervolg {
    padding-bottom: 0 !important;
}

section.content.vervolg:last-child {
    margin-bottom:80px!important;
}

section.content.vervolg.info {
    padding-bottom:80px !important;
}

section.bg {
    padding-top:120px;
    padding-bottom:110px;
    background-size:cover;
    background-position:50% 50%;
    background-repeat:no-repeat;
    position:relative;
    z-index:1;
    color:#fff;
    margin-top: -35px;

}

section.bg:before {
    content:'';
    display:block;
    position:absolute;
    top:0;
    left:0;
    background:rgba(0,0,0,0.66);
    width:100%;
    height:100%;
    z-index:-1;
}

section.grey {
    background:#ebebeb;
}

section.bg h2 {
    color:#fff;
    margin:0;
    font-family:Roboto, sans-serif !important;
    font-weight:700 !important;
}

section.bg p {
    font-size:20px;
    font-family:Roboto, sans-serif;
    margin:25px 0 35px;
    line-height:32px;
}

.block-head {
    display:block;
    background-size:cover;
    background-position:50% 50%;
    background-repeat:no-repeat;
}

.block-content h2 {
    margin-top:20px;
}

iframe.video {
    border:4px solid #e01a2a;

}

div.tablewrapper {
    border: 1px solid #eeeeee;
    display: inline-block;
    width: 100%;
}

.table {
    position: relative;  
    border:none;
    margin:0;
}

.table:before, .table:after {
    text-align: center;
    display: block;
    width: 50%;
}
.table:before {
    content: '';
    border-right: 0;    
}
.table:after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: 1px;    
}
    
.table tr {
    text-align: left;
    line-height: 30px;
    padding: 10px 10px 10px 15px;    
    font-family: 'Roboto', sans-serif;
    color: black;
    font-size: 18px;
    background: #f6f6f6;
    height:auto;
}

.table tr:nth-child(odd) { 
    background:#fff;   
}

.table td {
    width:50%;
    vertical-align: top;
    height:auto;
}

.table.specials td {
    width: auto;
    height:44px;
    font-family:  'Roboto', sans-serif;
            color: #949494;
            font-weight:400 !important;
}

.table tr td:nth-child(even) {
    font-family:  'Roboto', sans-serif;
    color: #949494;
    font-weight: 400;
}


@media
    only screen and (max-width: 760px),
    (min-device-width: 768px) and (max-device-width: 1024px)  {

        /* Force table to not be like tables anymore */
        table, thead, tbody, th, td, tr {
            display: block;
        }

        /* Hide table headers (but not display: none;, for accessibility) */
        .specials thead tr {
            position: absolute;
            top: -9999px;
            left: -9999px;
        }

        .specials tr { border: 1px solid #ccc; }

        .specials td {
            /* Behave  like a "row" */
            border: none;
            position: relative;
            padding-left: 50%;
            height:55px !important;
        }

        .specials td:before {/* Now like a table header */
            /* position: absolute; *//* Top/left values mimic padding */          font-family: 'Roboto', sans-serif;
            color: black;
            font-weight:700;
            top: -16px;
            left: 6px;
            clear: both;
            width: 100%;
            padding-right: 10px;
            white-space: nowrap;
            display: block;
        }
       
    }


ul li.vessels {
    fontstyle: italic;
}

/* HOME */
#homeblocks {
    overflow:hidden;
}

.media-ruimte {
    margin-top: 10px;
}

.advert-img {
    display: block; 
    height: 380px;  
    background-size: cover;
    margin-top: -15px;    
}

#homeblocks .block-head {
    height:225px;
    margin-left:-30px;
    margin-right:-30px;
}

#homeblocks>.row {
    margin-left:-37px;
    margin-right:-37px;
}

#homeblocks>.row>article {
    padding-left:67px;
    padding-right:67px;
}

.vacancy .line {
    margin-bottom:20px;
    font-size:26px;
}

.vacancy h3 {
    color:#1f1f1f;
    margin:0;
    margin-right:100px;
    font-weight:700 !important;
}

.vacancy .readmore {
    margin-top:30px;
}

.v-box {
    box-shadow:0px 2px 3px rgba(0,0,0,0.2);
    margin-bottom:10px;
    line-height:70px;
    height:70px;
}
.v-box:last-child {
    margin-bottom:120px;
}

.v-box b {
    padding-left:14px;
    color:#1f1f1f;
    font-size:20px;
}

.v-box span {
    font-size:16px;
    font-weight:400;
    color:#757575;
}

.v-box .col-sm-2 {
    font-weight:700;
    padding-right:30px;
    font-size:17px;
    text-align:right;
}

.calendar .readmore {
    margin-top:10px;
}

.calendar .row {
    margin-top:10px;
}

.calendar .row:first-child {
    margin-top:0px;
}

/* Equipment */

.expand {
    max-height:0;
    -webkit-transition:1s;
    transition: 1s;
    overflow:hidden;
    position:relative;
    padding-top:23px;
}
.expandtoggle {
    display:block;
    content:'Read more';
    color:#e01a2a;
    font-weight:bold;
    position:absolute;
    bottom:0;
    cursor:pointer;
}
.expand.open {max-height:3000px; padding-top:0;}


#owl-follow, .gallery {
    width: -webkit-calc(100% + 30px)!important;
    margin-left: -15px;
}

.owl-controls {
    display:none!important;
}

.equip-img {
    width:100%;
    padding-bottom:100%;
    background-size:cover;
    background-position:50% 50%;
    display:block;
    position:relative;
}

.caption.mapsoverlay {  
    position: absolute;
    z-index: 1; 
    margin: 220px 0 0 -15px;
}

#equipment, #current-projects, #past-projects, #offices {
    overflow:hidden;
}

#equipment .block-head,
#current-projects .block-head, 
#past-projects .block-head {
    height:225px;
    margin-left:-30px;
    margin-right:-30px;
}

#equipment .block-head.alt {
    height:325px;
}

#equipment>.row,
#current-projects>.row,
#past-projects>.row {
    margin-left:-37px;
    margin-right:-37px;
}

#equipment>.row>article,
#current-projects>.row>article,
#past-projects>.row>article {
    padding-left:68px;
    padding-right:68px;
    margin-bottom:60px;
}

#equipment>.row>article,
#current-projects>.row>article,
#past-projects>.row>article,
#past-projects>.row>#ajax-load-more>.alm-listing>.alm-reveal>article,
#past-projects>.row>#ajax-load-more>.alm-listing>article
 {
    padding-left:68px;
    padding-right:68px;
    margin-bottom:60px;
}

.alm-btn-wrap {
    width:100%;
    visibility: hidden;
}

#offices>.row>article {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 60px;
}

/* Fancy box overrides */

.fancybox-overlay {
/*    z-index: 99999 !important;*/
}

.fancybox-title p {
    margin-bottom: 0;
}

/* Google mapsstyles */

span.map-project-name {
    font-size: 20px;
    color: #e01a2a;
    display: inline-block;
    padding: 0 0 10px 0;
    font-weight: 600;

}
/* End Google mapsstyles */

#owl-follow .owl-item, .gallery .owl-item {
    padding:0 15px;
    position:relative;
}

.image-wrapper {
    margin-bottom: 20px;
}
.image-wrapper img {
    width: 100%
}

.video-wrapper {
    position: relative;
    padding-bottom: 54.3%;
    padding-top: 2.2%;
    margin-bottom: 20px;
    height: 0;
}
.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;    
    width: 100%;
    height: 100%;
}

/* Quote & stories */
.quote-img {
    height:248px;
    background-size:cover;
    margin-bottom:10px;
    background-position:center center;
}

.quote-content {
    padding-left:30px;
}

.quote-content h3 {
    margin-bottom:0;
}

.work-title {
    font-size:20px;
    font-weight:500;
    fontstyle:italic;
    color:#838383;
    display: inline-block;
    margin-bottom:10px;
}   

#owl-quotes h2 {
    margin:0 !important;
    padding:0!important;
    line-height:26px;
}

.calendar {
    margin-bottom:30px;
}

.calendar p {
    margin-top:0px;
    margin-bottom:6px;
}

.calendar .date {
    font-size:16px;
    color:#1f1f1f;
    font-weight:900;
}

.advert {
    font-size:16px;
    color:#1f1f1f;
    font-weight:900;
}

.advert-content {
    font-size:16px;
    color:#757575;
    font-weight:300;
}

.calendar .info {
    padding-left:30px;
}

.calendar .info a:not(.readmore){
    text-decoration:inherit;
    color:inherit;
}

.mapwrap {
    width:100%;
    position:relative;
}

.clickscroll {
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
}  

/*
.clickscroll {
    background:transparent; 
    position:relative; 
    z-index:9;
    width:100%;
    height:600px;
    top:600px;
    margin-top:-600px;
}*/

.clickscrollsmall {
    background:transparent; 
   position:relative; 
    z-index:9;
   width:100%;
   height:340px; /* your iframe height */
   top:340px;  /* your iframe height */
   margin-top:-340px;  /* your iframe height */
}
.icon-calendar, .icon-pdf {
    display:inline-block;
    height:42px;
    width:42px;
    background-image:url(../images/icon-calendar.png);
    background-color:#e01a2a;
    background-repeat:no-repeat;
    background-position:center center;
}

.icon-pdf {
    background-image:url(../images/icon-pdf.png);
}

/* Vervolg items */
.vervolg ul {
    liststyle: none;
    padding-left:30px;
    margin:0 0 50px 0;
}

.vervolg ul li {
    padding-left:0px;
    line-height: 24px;
    padding-bottom:6px;
    list-style-type:none;
}

.vervolg ul li:before {
    content:url('../images/list.png');
    color:#e01a2a;
    margin-right:10px;
    float:left;
    margin-left:-30px;
}

.vervolg img {
    margin-bottom:40px;
}

/* 4 Blocks */
#fourblock {
    overflow:hidden;
}

#fourblock .block-head {
    height:225px;
    margin-left:0px;
    margin-right:0px;
}

@media(min-width:992px){
    #fourblock>.row {
        margin-left:0px;
        margin-right:0px;
    }
}

#map {
    width: 100%;
    height: 340px;
}

#mapfull {
    width: 100%;
    height: 600px;
}

#mapfull.pushleft {
    margin-left: 15px;
}

.maps {
    overflow:hidden;
}

.seafirst {
    text-align:center;
}

.cd-timeline-content ul li {
    padding-left:25px;
    line-height: 26px;
    list-style-type:none;
    margin-bottom:10px;
}

.cd-timeline-content ul li:before {
    content:url('../images/list.png');
    color:#e01a2a;
    margin-left:-25px;
    float:left;
}


/* ---- CAREERS SEARCH FORM ---- */
.redbar {
    background:#e01a2a;
    padding:30px 15px 20px;
}

.redbar form a {
    background:#2e2e2e;
    color:#fff;
    padding:11px 18px;
    font-size:16px;
    font-weight:500;
    margin-right:10px;
    font-family: roboto, sans-serif;
    display:inline-block;
}
.redbar form a:hover,
.redbar form a.active {
    background:#99101b;
    text-decoration: none;
}

.redbar a, .redbar input{
    margin-bottom:10px;
    height:44px;
}

.redbar form select, .redbar form input[type=text] {
    padding:11px 18px;
    border:white;
    font-size:16px;
    font-weight:300;
    color:#b3b1b0;
    border:none;
    width:310px;
    max-width:100%;
}

.redbar form input[type=text] {
    margin-right:10px;
}

.select-icon {
    position:relative;
    display:inline-block;
    margin-right:10px;
    z-index:0;
    background:white;
    margin-bottom:0;
}

.select-icon select {
    background:none;
    z-index:1;
    -moz-appearance: none;
    -webkit-appearance: none;
    -o-appearance: none;
    appearance: none;
}

select::-ms-expand {
    display: none;
}

.select-icon:after {
    content:'';
    width:45px;
    height:100%;
    display:block;
    position:absolute;
    top:0px;
    right:1px;
    background:white url(../images/arrow-down-small.png) 50% 50% no-repeat;
    z-index:-1;
}

#findvacpush {
    display:none;
}

input.search {
    background:white url(../images/icon-search.png) right 15px top 50% no-repeat;
}

/* ---- RESUME ---- */
form.resume:after{
    content:'';
    display:block;
    clear:both;
}

input {
    outline:none;   
}

.resume input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=file]){
    width: 100%;
    margin-bottom:24px;
}

.resume input[type=date] {
    height:42px;
}  

.resume input:not([type=submit]), .resume textarea, .resume select {
    border:1px solid #dadada;  
    font-size:16px;
    float: right;
    padding:9px 16px;
    font-weight:300;
}

.resume input[type=file]{
    border:none;
    border-left:1px solid #dadada;
}

.resume textarea, .resume select, .filewrap, .radiowrap, .checkboxwrap {
    width:100%;   
    margin-bottom:24px;
    resize:none;
    float: left;
}

.resume .checkboxwrap {
    line-height: 10px;
}

.resume .checkboxwrap label {
    position: relative;
    padding-left: 20px;
}

.resume .checkboxwrap label:not(:last-of-type) {
    margin-right: 15px;
}

.resume .checkboxwrap input[type=checkbox] + label:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.resume.jobmail select{
    width:100%;
}

.resume textarea {
    height:215px;   
}
.resume h4 {
    font-weight: 600!important;
    margin-bottom: 10px;
    margin-top: 0;
    color: #1f1f1f;
}

.selectinfo {
    margin: 0 0 20px 0;
    font-weight: 400;
}

form.resume button:after {
    height:57px!important;   
}
form.resume button {
    float:right;   
    margin-right:24px;
    margin-bottom: 20px;
    height:57px;
    line-height: 49px;
}

.resume input[type="radio"]{
/*    display:none;   */
    float:none;
    opacity:0;
}

.resume input[type="checkbox"]{
    float:left;
    margin-right:10px;
    display: none
}

.resume input[type="radio"]+label {
    cursor:pointer;
    color:#727272;
    font-size:16px;
    margin-right:10px;
    margin-left:-14px;
}

.resume input[type="radio"]+label:before {
    display:inline-block;   
    height:15px;
    width:15px;
    content:'';
    border:1px solid #727272;
    box-shadow: 0px 1px 1.42px 0.58px rgba(0, 0, 0, 0.4);
    border-radius:50%;
    outline:none;
    border:none;
    margin-right:5px;
}

.resume input[type="checkbox"]+label:before {
    display: inline-flex; 
    align-items: center;
    justify-content: center;  
    height:15px;
    width:15px;
    content:'';
    border:1px solid #727272;
    box-shadow: 0px 1px 1.42px 0.58px rgba(0, 0, 0, 0.16);
    border-radius:2px;
    outline:none;
    border:none;
    margin-right:5px;
}

.resume input[type="radio"]:checked+label:before {
    background-color:#e01a2a;
    border:4px solid #fff;
}

.resume input[type="checkbox"]:checked+label:before {
    content:'✔';
    color:#e01a2a;
}

.filewrap {
    border:1px solid #dadada;  
    font-size:16px;
}

.filewrap:after {
    content:'';
    display:block;
    clear:both;
}

.filewrap span {
    padding:9px 19px;
    display:inline-block;
}

/* DON'T USE THIS, CAUSES THE CARERIX RESUMEFORM UPLOADS FAILS!!
.resume input[type=file] {
   display:none; 
}


.resume input[type=file]+label {
    float:right;
    background:#2e2e2e;
    color:#fff;
    padding:10px 35px;
    font-weight:400;
    cursor:pointer;
}
*/
.resume .select-icon {
    width:100%;   
}

span.error {
    display: none;
}

input.error, .resume input.error, .resume .error, input[type=radio].error+label:before {
    border: 1px solid red;
}

.vacancydetail {
    border:none!important;
    
}

.vacancydetail tr td:first-child{
    font-weight:600;
    color:#1f1f1f;
}
.vacancydetail tr{
    background:none!important;
    height:auto!important;
}

.vacancydetail td {
    border:none!important;
    padding:0px!important;
    line-height:initial!important;
    margin:0!important;
    font-size:18px!important;
}

.linkwrap {
    margin-top:30px;
}

.linkwrap img{
    margin-right:10px;
    margin-bottom:0;
}
/* ---- VIDEO ---- */
.videopage {
    position: relative;
    padding-bottom: 54.3%;
    padding-top: 2.2%;
    margin-bottom: 20px;
    height: 0;
}
.videopage iframe {
    position: absolute;
    top: 0;
    left: 0;    
    width: 100%;
    height: 100%;
}


/* ---- STORY ---- */
.storyimg {
    height:340px;   
    background-size:cover;
    background-position:center center;
    margin-bottom:20px;
}

.story h3 {
    font-size:26px;
}

.story p {
    margin-bottom:20px;
}

.story table tr {
    background-image:url(../images/arrow-right-grey-small.png);
    background-repeat:no-repeat;
    background-position:center right 20px;
}

.story table td {
    padding:10px 16px;
    height:auto;
    line-height:20px;
}

.storymenu strong {
    color:#000;
}

.storymenu a {
    color:#727272;
}

.story tr:hover,
.storyactive {
    background-image:url(../images/arrow-right.png) !important;
    background-color:#e01a2a!important;
}

.story tr:hover a,
.storyactive a,
.storyactive strong,
.story tr:hover strong{
    color:#fff!important;
}

/* ---- FOOTER ---- */
footer {
    width:100%;
    background:#1f1f1f;
    font-weight:400;
}

footer a, footer a:visited, footer a:focus {
    color:#a7a7a7;
    font-size:16px;
    line-height:32px;
}

footer a:hover, footer a.active {
    color:#fff;
    text-decoration:none;
}

#copyright {
    background:#191919;
    padding:33px 0;
    color:#757575;
    margin-top:65px;
    font-size:14px;
}

#copyright a {
    color:#757575;
    font-size:14px;
}

footer h3.h2 {
    margin:0 0 35px;
    color:#fff;
}

.ui-widget-header {
    background:#e01a2a;
    border:1px solid #e01a2a;;
    border-radius:0;
}

.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
    background:none;
    border:1px solid transparent;
    border-radius:0;
    cursor:pointer;
}

.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button, .ui-datepicker th, .ui-datepicker td {
    font-size:14px!important;
    font-family: 'Roboto', sans-serif!important;
}

.ui-datepicker td, .ui-datepicker th, .ui-datepicker tr {
    line-height:initial!important;
    height:auto!important;
    background:none;
}

.ui-datepicker {
    border-radius:0;
    border: 1px solid #dadada;
    box-shadow:0px 1px 1.42px 0.58px rgba(0,0,0,0.16)
}

.ui-datepicker table {
    border:none;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
    background:none;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
    border:1px solid #e01a2a;
    background:#e01a2a;
    color:#fff;
}

.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
    border: none;
    padding: 5px;
    margin: -1px 2px 0;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    border:1px solid #d3d3d3;
}

td .ui-state-hover {
    border:1px solid #e01a2a!important;
}

.ui-datepicker .ui-datepicker-title {
    line-height:initial;
}




/* MOBILE */

@media (max-width:480px) {
     .button.mapsoverlay {  
        padding: 0 10px 0 10px;
        font-size: 13px
    }
    .button.mapsoverlay.current-projects {
      right: 165px;
      top: 20px;
    }
   
}

@media (max-width:767px) {  
    #push {
        height:20px!important;
    }

    .headerimg {
        height:200px;
    }

    .table td {
        width: 100%;
        display:block;
    }

    td, th {
        padding: 0 15px 0 15px !important;
        border:none !important;
        line-height: 24px !important;
    }

    .block-head {
       background-size: cover;
       background-position: left;
    }       
    /*
    a.readmore {
        display: none;
    }*/

    .caption.mapsoverlay {  
        margin: 220px 0 0 0;
    }


    #offices>.row>article {
        padding-left: 15px;
        padding-right: 15px;
        margin-bottom: 60px;
    }
               
    #logo .container:before { 
        border-top-width: 5px;
        border-right-width:6px;
        border-left-width:130px;
    }
    
    #logo {
        line-height:70px;
    }
    
    #logo img {
        max-height:50px;
    }
    
    article, aside {
        margin-bottom:30px;
    }
    
    .slider h2:after,
    .headerimg h2:after{
        display:none;
    }
    
    .slider .button {
        line-height:36px;
    }

    .slider .button:after {
        height:44px;
    }
    
    .redbar form select, .redbar form input[type=text] {
        width:100%;
    }
    
    .fullwidth.grey .container .viewall,
    .fullwidth.white .container .viewall {
      top: 50px;
    }
    
    .resume {
        margin-bottom:45px;   
    }
    
    .resume input[type=file]+label {
        float:none;
        display:block;
        margin: 0px 19px 19px;
        text-align: center;
    }
    
}

/* TABLET */
@media (min-width: 768px) and (max-width: 991px) {  
    #owl-follow h3, .gallery h3 {
        padding:10px 0;
        font-size: 16px;
        font-weight: 400;
    }
    .headerimg {
        height:300px;
    }

    /*
    a.readmore {
        display: none;
    }
    */
    .redbar .break {
        display:block;
        width:100%;
    }
}

@media (min-width:768px) and (max-width:1199px) {
    .redbar form select, .redbar form input[type=text] {
        width:230px;
    }
}
@media (min-width:768px) and (max-width:1024px) {
    #logo .search {
        right:100px;
    }
    
    #push {
        height:69px!important;
    }   
    .advert-img {
        height: 275px;
    }
}

@media (min-width: 991px) and (max-width: 1024px) {  
    #owl-follow h3, .gallery h3 {
        padding:10px 0;
        font-size: 16px;
        font-weight: 400;
    }
}

/* TABLET + DESKTOP */
@media (min-width:768px) { 
    footer {
        padding:80px 0 0;
    }
    .equalheight {
        float: none;
        display: table-cell;
        vertical-align: top;
    }
    
    .extramarge {
        margin-bottom: 70px;
    }
    
    .slider h2:after, .slider p:after,
    .headerimg h2:after, .headerimg p:after{
        display:block;
        content:'';
        position: absolute;
        top: 0;
        right: -22px;
        border-top:70px solid rgba(0,0,0,0.66);
        border-right: 22px solid transparent;
        border-left:0px;
    }
    
    .slider p:after,
    .headerimg p:after {
        border-top-width:58px;
    }
    
    .slider h2, .slider p,
    .headerimg p {
        padding:0 25px;
        font-weight:700;
    }
    
    .slider h2 {
        font-size:40px;
        line-height:70px;
        font-weight:600 !important;
    }

    .slider p,
    .headerimg p {
        margin-top:0px;
        font-size:28px;
        line-height:58px;
    }
    
    #findvacancies.fixed {
        position:fixed;
        top:120px;
        left:0;
        width:100%;
        z-index:999;
    }
    #findvacancies.fixed+#findvacpush {
        display:block;
    }
    
    .resume input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=file]){
        width: calc(50% - 15px);
        float:left;
    }
    .select-icon.half {
        width: calc(50% - 15px);
    }
    
    .resume input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=file]):nth-child(even){
        margin-right:30px;   
    }
    .smalldd .select-icon {
        width: calc(50% - 15px);
        float:left;
        margin-right:0;
        margin-bottom:0px;
    }
    
    .smalldd .select-icon.ld{
        width: calc(50% - 15px);
        float:left;
    }
    
    .smalldd .select-icon.ld{
        margin-right:30px;   
    }
}

@media (max-width:1024px){
    #top {
        position:fixed;
        top:0;
    }   

    #owl-follow h3, .gallery h3 {
        position:absolute;
        bottom:0;
        width:100%;
        text-align:center;
        margin:0;
        color:#fff;
        background:rgba(0,0,0,0.62);
        padding:5px 0;
    }

    #owl-follow span, .gallery span {
        display:none;
    }
    
    nav img {
        display:none;
    }
    
    nav ul {
        display:block;
    }
}

/* Tablet + Desktop */
@media (min-width:768px) and (max-width:1199px){
    #homeblocks .block-content,
    #equipment .block-content,
    #current-projects .block-content,
    #past-projects .block-content {
        padding-left:225px;
    }

    
    #mapfull.project {
        height: 400px;
    }

    
    #homeblocks article,
    #equipment article,
    #current-projects article,
    #past-projects article{
        margin-bottom:30px;
    }
    
    #homeblocks article:after,
    #equipment article:after,
    #current-projects article:after,
    #past-projects article:after{
        content:'';
        display:block;
        clear:both;
    }
    
    #homeblocks .block-head,
    #equipment .block-head,
    #current-projects .block-head,
    #past-projects .block-head{
        width:225px;
        float:left;
        clear:left;
        margin-right: 30px;
    }
    
    .cd-hero-slider .cd-full-width {
        padding-top:110px;
    }
    
    .activities {
        margin-bottom:30px;   
    }
}

@media (min-width:1025px) and (max-width:1199px){
    .redbar .break {
        display:block;
        width:100%;
    }    
}

@media (min-width:1025px) {
    #owl-follow h3:before, .gallery h3:before, 
    #owl-follow h3, .gallery h3{
        display:none;
    }
    
    #owl-follow .owl-item:hover h3:before, .gallery .owl-item:hover h3:before,
    #owl-follow .owl-item:hover h3, .gallery .owl-item:hover h3 {
        display:block;
    }

    #owl-follow .owl-item:hover .equip-img:before, .gallery .owl-item:hover .equip-img:before {
        content:'';
        display:block;
        width:100%;
        height:100%;
        background:rgba(0,0,0,0.62);
        position:absolute;
        left:0;
    }

    #owl-follow h3:before, .gallery h3:before {
        content:'';
        margin:0 auto;
        width:100%;
        height:20px;
        margin-bottom:20px;
        background:url(../images/icon-view.png) 50% 50% no-repeat;
    }

    #owl-follow h3, .gallery h3 {
        position:absolute;
        top:28%;
        width:100%;
        text-align:center;
        margin:0;
        color:#fff;
    }

    #owl-follow span, .gallery span {
        display:block;
        font-size:18px;
        font-weight:400;
    }
    
    #findvacancies.fixed {
        top:58px;
    }
}

/* DESKTOP */
@media (min-width: 992px) and (max-width:1199px) { 
    /*
    a.readmore {
        display: none;
    }
    */
}

/* DESKTOP LARGE */
@media (min-width: 1200px) { 
    .cd-hero-slider .cd-full-width {
        padding-top:145px;
    }
    
    #fourblock>.row>article {
        padding-left:0;
        padding-right:35px;
    }
}

@media (min-width: 1300px) { 
    .owl-controls {
        display:block!important;;
    }
}

@media (max-width: 480px) { 
    #mapfull {
        width: 100%;
        height: 200px;
    }
    .button.mapsoverlay.current.active, .button.mapsoverlay.current {
        display: none;
    }
    .button.mapsoverlay.past-projects {
       display: none;
    }
}

@media (min-width:1170px){
    
    .cd-timeline-content::before {
        transform: rotate(45deg);
        margin-left: -7px;
        box-shadow:2px -2px 1px 0px #d6d6d6;
        width: 12px!important;
        height: 12px!important;
        border:none!important;
        background:white;
    }
    
    .cd-timeline-block:nth-child(even) .cd-timeline-content {
           box-shadow: -1px 1px 1px 1px #d6d6d6;
    }
    
    .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
        transform: rotate(-135deg);  
        margin-left:0;
        margin-right:-7px;
        box-shadow:2px -2px 1px 0px #d6d6d6;
    }
    


.infobox {
  background: none repeat scroll 0 0 #212121;
  color: #F1F1F1;
  font-family: arial;
  line-height: 20px;
  position: absolute;
}
.infobox:before, .infobox:after {
  border-color: transparent transparent transparent #212121;
  borderstyle: solid;
  border-width: 20px 20px 0;
  bottom: -1px;
  content: "";
  display: block;
  height: 0;
  left: -1px;
  position: absolute;
  width: 0;
  z-index:2
}
.infobox:after {
  border-color: transparent transparent transparent #FFFFFF;
  border-width:24px 24px 0;
  z-index:1
}
.infobox .close {
background: none repeat scroll 0 0 #212121;
cursor: pointer;
float: right;
font-size: 17px;
height: 25px;
line-height: 22px;
position: relative;
right: -25px;
text-align: center;
top: 0;
width: 25px;
}

.infobox .content {
  margin:15px 15px 15px 15px;
}
    
    section.content.how-to-apply {
        background-attachment: fixed;
        background-size: cover;
        color: #fff;
        font-size: 1.2em;
        position: relative;
        z-index: 0;
    }
    section.content.how-to-apply:before {
        content: ''; 
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: rgba(0,0,0,0.35);
        z-index: -1;
    }
    
    
    @media (min-width:768px){
        section.content.how-to-apply {
            padding-top: 140px;
            padding-bottom: 140px;
        }
    }
}
.news {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
.news .news-image {
    width: 200px;
    height: 200px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    margin-right: 30px;
    flex: 0 0 auto;

}
.news .news-meta-data .date {
    font-size: 16px;
    color: #1f1f1f;
    font-weight: 700;
}

.news .news-meta-data h2 {
    margin-bottom: 15px;

}

.news .news-meta-data h2 + p {
    margin-bottom: 15px;
    
}

#news-section .alm-btn-wrap {
    visibility: visible!important;
    text-align: center;
}

#news-section button.alm-load-more-btn.done {
    opacity: 0.3;
    filter: grayscale(100%);
    cursor: not-allowed;
    background-color: transparent;
}

#news-section button.alm-load-more-btn {
    border:4px solid #e01a2a;
    border-right:none;
    line-height:53px;
    color:#e01a2a;
    display:inline-block;
    font-size:20px;
    font-weight:700;
    padding-left:25px;
    padding-right:15px;
    position:relative;
    z-index: 0;
    background: transparent
}

#news-section button.alm-load-more-btn:after {
    content:'';
    display:block;
    position:absolute;
    top:-4px;
    right:-12px;
    height:63px;
    width:40px;
    border-top:4px solid #e01a2a;
    border-right:4px solid #e01a2a;
    -webkit-transform: skewX(-20deg);
    -moz-transform: skewX(-20deg);
    transform: skewX(-20deg);
    z-index:-1;
}

#news-section button.alm-load-more-btn:hover {
    background-color: #e01a2a;
    color: #fff
}

#news-section button.alm-load-more-btn:hover:after{ 
    background-color: #e01a2a;
}


@media (max-width:767px){
    #news-section .news {
        align-items: baseline;
        flex-direction: column;
    }

    #news-section .news .news-image {
        width: 100%;
        height: 240px;
        margin-bottom: 10px;
    }
}


section.margins .row + .row {
    margin-top: 30px;
}

section .image {
    height: 350px;
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

section .image.big {
    height: 475px;
}


select.disabled {
    pointer-events: none;
    cursor: not-allowed;

    opacity: 0.3
}

.event-form .select-icon {
    width: 100%
}
.event-form input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=file]), .event-form textarea, .event-form select {
    border:1px solid #dadada;  
    font-size:16px;
    padding:9px 16px;
    font-weight:300;
    width: 100%;
    border-radius: 0;
}
.event-form .row + .row {
    margin-top: 15px
}

.event-form .checkboxwrap label {
    position: relative;
    padding-left: 20px;
}

.event-form .checkboxwrap label:not(:last-of-type) {
    margin-right: 15px;
}

.event-form .checkboxwrap input[type=checkbox] + label:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.event-form input[type="radio"]{
/*    display:none;   */
    float:none;
    opacity:0;
}

/* .event-form input[type="checkbox"]{
    margin-right:10px;

    display: none
} */

.event-form input[type="radio"]+label {
    cursor:pointer;
    color:#727272;
    font-size:16px;
    margin-right:10px;
    margin-left:-14px;
}

.event-form input[type="radio"]+label:before {
    display:inline-block;   
    height:15px;
    width:15px;
    content:'';
    border:1px solid #727272;
    box-shadow: 0px 1px 1.42px 0.58px rgba(0, 0, 0, 0.4);
    border-radius:50%;
    outline:none;
    border:none;
    margin-right:5px;
}

/* .event-form input[type="checkbox"]+label:before {
    display: inline-flex; 
    align-items: center;
    justify-content: center;  
    height:15px;
    width:15px;
    content:'';
    border:1px solid #727272;
    box-shadow: 0px 1px 1.42px 0.58px rgba(0, 0, 0, 0.16);
    border-radius:2px;
    outline:none;
    border:none;
    margin-right:5px;
} */

.event-form input[type="radio"]:checked+label:before {
    background-color:#e01a2a;
    border:4px solid #fff;
}

/* .event-form input[type="checkbox"]:checked+label:before {
    content:'✔';
    color:#e01a2a;
} */

.event-form textarea {
    height: 215px;
    resize: none;
}

input.error, .event-form input.error, .event-form .error, input[type=radio].event-form+label:before {
    border: 1px solid #e01a2a!important;
}


input[type=radio].error + label, input[type=checkbox].error + label {
    color: #e01a2a!important;
}

.event-form .button-wrap {
    margin-top: 20px;
    margin-bottom: 20px;
}

.event-form p {
    margin-bottom: 15px;
}

.radiowrap p {
    margin-top: 25px;
}

h4 {
    margin-bottom: 0;
}
h4 + .radiowrap, h4 + .checkboxwrap {
    margin-top: 5px
}