@-ms-viewport{ width: device-width; }
@-o-viewport{ width: device-width; }
@-moz-viewport{ width: device-width; }
@-webkit-viewport{ width: device-width; }
@viewport{ width: device-width; }

body{
    padding: 0;
    margin: 0;
    font: 16px/150% 'Montserrat', sans-serif;
    color: #4e4e4e;
}

body.site{
    background: #004a8f;
}

div.body{
    background: #fff;
}

a{
    color: #004a8f;
}

a:hover,
a:focus{
    color: #0000d9;
}

a,
a:not([class]),
.mod-list li a:hover,
h1 a:hover,
h1 a:focus,
h2 a:hover,
h2 a:focus,
h3 a:hover,
h3 a:focus{
    text-decoration: none;
}

li, th, td, dd, dt{
    line-height: 150%;
}

table th{
    text-align: left;
}

.normalpage table{
    max-width: 100%;
}

/* #b9d4ee */

h1, h2, h3{
    font-family: 'Montserrat', sans-serif;
    color: #004a8f;
}

h1{
    font-size: 200%;
    line-height: 130%;
    font-weight: 400;
    margin: 0 0 25px 0;
}

h2{
    font-size: 175%;
    line-height: 130%;
    font-weight: 400;
    margin: 0 0 20px 0;
}

h3{
    font-size: 125%;
    line-height: 135%;
    font-weight: 400;
    margin: 0 0 15px 0;
}

div.header_container{
    padding: 30px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

div.header_container > div{
    flex: 1 1 50%;
}

div.headermodules{
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

div.headermodules > div{
    width: 100%;
}

div.headermodules > div+div{
    margin-top: 15px;
}

div.mod-languages ul.lang-inline li{
    display: inline;
}

div.mod-languages img{
    width: 30px;
}

div.mod-languages li {
    margin: 0;
}
div.header_container a{
    opacity: 1;
    transition: opacity .25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

div.header_container a:hover,
div.header_container a:focus{
    opacity: .75;
}

div.headermodules form{
    margin: 0;
}

div.headermodules form input{
    width: 100%;
    max-width: 210px;
}

div.topmenubox{
    background: #b9d4ee;
}

ul.nav.topmenu{
    margin: 0;
    padding: 0 0 0 15px;
    overflow: hidden;
    flex-direction: row;
}

ul.nav.topmenu > li{
    display: inline-block;
}

ul.nav.topmenu > li > a{
    display: block;
    padding: 18px 15px 15px 15px;
    color: #4e4e4e;
    position: relative;
}

ul.nav.topmenu > li > a::after{
    content: '';
    position: absolute;
    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #4e4e4e;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 103%);
    transition: transform .25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

ul.nav.topmenu li.active > a{
    font-weight: 700;
    text-decoration: none;
}

ul.nav.topmenu > li.active > a,
ul.nav.topmenu > li > a:hover,
ul.nav.topmenu > li > a:focus{
    background: transparent;
    color: #4e4e4e;
}

ul.nav.topmenu > li.active > a::after,
ul.nav.topmenu > li > a:hover::after,
ul.nav.topmenu > li > a:focus::after{
    transform: translate(-50%, 0);
}

ul.nav.topmenu li ul{
    display: none;
}

.leftcolumn .moduletable,
.rightcolumn .moduletable{
    margin: 0 0 40px 0;
}

div.normalpage{
    padding: 50px 0;
    min-height: 55vh;
}

ul.nav.leftmenu{
    background: #b9d4ee;
    margin: 0;
    padding: 10px 0;
    overflow: hidden;
    flex-wrap: nowrap;
}

ul.nav.leftmenu li a{
    font-size: 100% !important;
    display: block;
    padding: 4px 5px 4px 15px;
    color: #4e4e4e;
    position: relative;
    word-wrap: break-word;
}

ul.nav.leftmenu li.active > a{
    font-weight: 700;
}

ul.nav.leftmenu li.active a,
ul.nav.leftmenu li a:hover,
ul.nav.leftmenu li a:focus{
    background: transparent;
    color: #4e4e4e;
    text-decoration: none;
}

ul.nav.leftmenu > li > a::before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 0; 
    height: 0; 
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #4e4e4e;
    transform: translate(-103%, -50%);
    transition: transform .25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

ul.nav.leftmenu > li.active > a::before,
ul.nav.leftmenu > li > a:hover::before,
ul.nav.leftmenu > li > a:focus::before{
    transform: translate(0, -50%);
}

ul.nav.leftmenu ul{
    padding: 0 0 5px 15px;
    font-size: 87.5% !important;
}

ul.nav.leftmenu ul li a{
    padding: 3px 10px;
}

ul.nav.leftmenu ul li a:hover,
ul.nav.leftmenu ul li a:focus{
    color: #1e1e1e;
}

.footer {
    background: #004a8f;
    margin-top: 0;
    color: #4e4e4e;
}

div.footer_top{
    background: #e7e7e7;
    border-top: 4px solid #d9d9d9;
    padding: 40px 0;
}

div.footer_top_content p{
    margin: 0;
    text-align: center;
}

div.footer_top_content strong{
    color: #004a8f;
}

div.copyright{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

div.copyright{
    color: #fff;
    font-size: 75%;
    padding: 5px 0;
}

div.copyright a,
div.copyright a:hover,
div.copyright a:focus{
    color: #fff;
}

div.blog.frontnews .blog_content{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

div.blog.frontnews .blog-items {
    grid-gap: 2em 3em;
}
.pull-right {
    float: right;
}
.pull-left {
    float: left;
}
div.page-header{
    padding: 0;
    margin: 0;
    border: 0;
}

.eb-event-title-container,
div.blog.frontnews .page-header h2{
    font-size: 125%;
    line-height: 145%;
}

.moduletable.eventlist > h3,
.page-header h1{
    font-size: 200%;
    color: #004a8f; /*#4e4e4e; */
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 10px 0 0;
    background: #fff;
    z-index: 1;
}

div.blog > .page-header,
div.blog.frontnews > .page-header{
    position: relative;
    margin: 0 0 30px 0;
}

div.blog > .page-header::after,
div.blog.frontnews > .page-header::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: #004a8f; /*#4e4e4e; */
    transform: translateY(-50%);
    z-index: 0;
}

.normalpage p+h1,
.normalpage p+h2{
    margin-top: 30px;
}

.normalpage p+h3{
    margin-top: 15px;
}

.eb-event-date-time,
dl.article-info{
    margin: 5px 0 15px 0;
    color: #004a8f;
    font-size: 87.5%;
}
div.eb-event-date {
    height: 64px;
    width: 64px;
}
dl.article-info dd{
    margin-left: 0;
}

.newsimage{
    height: 0;
    padding: 56.25% 0 0 0;
    background: #e7e7e7;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 0 20px 0;
    background-image: url(../images/stdnews.png);
}

.readmore a{
    font-size: 87.5%;
    font-weight: 700;
    border: 0;
    padding: 0;
    color: #004a8f;
}
.readmore a .icon-chevron-right {
    display: none;
}
.moduletable .custom .btn{
    background: #004a8f;
    border-radius: 0;
    color: #fff;
    font-weight: 700;
    padding: 10px 15px;
    border: 0;
    box-shadow: 2px 2px #d9d9d9;
    font-size: 75%;
}

.moduletable .mod-custom .btn:hover,
.moduletable .mod-custom .btn:focus{
    background: #0000d9;
}

.footernewsletter .moduletable .mod-custom .btn{
    box-shadow: none;
}

.morenews .mod-custom{
    padding: 45px 25px;
    text-align: center;
    background: #d9d9d9;
    color: #414141;
    margin: 40px 0 0 0;
}

.pull-right.item-image,
.pull-left.item-image{
    max-width: 300px;
}
figure.left.item-image,
.img_caption.left,
.pull-left img,
img.pull-left{
    margin-right: 20px;
}

figure.right.item-image,
.img_caption.right,
.pull-right img,
img.pull-right{
    margin-left: 20px;
}


div.pagefootercontainer{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 0 0 40px 0;
}

div.pagefootercontainer .footerevents{
    flex: 1 1 70%;
}

div.pagefootercontainer .footernewsletter{
    flex: 1 1 30%;
}

div.pagefootercontainer .footerevents > div{
    margin-right: 7.5%
}

div.footernewsletter{
    box-sizing: border-box;
    background: #b9d4ee;
}

div.footernewsletter > div{
    padding: 15px;
}

div.pagefootercontainer .morenews .mod-custom{
    padding: 30px 15px 20px 15px;
    margin: 20px 0 10px 0;
}

.moduletable.allnewsletter{
    text-align: center;
}

.moduletable.eventlist{
    position: relative;
}

.moduletable.eventlist::before{
    content: '';
    position: absolute;
    top: 22px;
    left: 0;
    right: 0;
    height: 2px;
    background: #004a8f; /*#4e4e4e; */
    z-index: 0;
}

div#eb-event-columns{
    padding: 20px 0 0 0;
}

div#eb-event-columns > div{
    margin-bottom: 20px;
}

.eb-event-date-time i{
    display: none;
}
div.eb-events-timeline .eb-taskbar {
    margin-bottom: 2em;
}
div.bannermodules{
    background: #fafafa url(../images/swans.png) center right no-repeat;
    padding: 50px 30px 40px 30px;
}

div.bannermodules .moduletable.welcome{
    width: 60%;
}

.search-results .result-title {
	margin-top: 1.5em;
}
.search-results .result-text,
.search-results .result-created {
	font-size: 80%;
}
.caption div {
    color: #333;
    text-align: center;
    font-size: 80%;
}

.usermenu a {
    color: white !important;
}

.logoholder img {
	max-height: 83px;
}

@media (min-width: 768px){
	.topmenu li:has(.pull-right) {
		margin-left: auto;
		margin-right: 15px;
	}
}

@media (min-width: 1200px){
    div.bannermodules .moduletable.welcome{
        width: 70%;
    }
}

@media (max-width: 979px) and (min-width: 768px){
    ul.nav.topmenu > li > a{
        padding: 13px 10px 10px 10px;
    }

    div.blog.frontnews .blog_content > div{
        width: 45%;
    }

    div.pagefootercontainer .footerevents{
        flex: 1 1 100%;
    }
    
    div.pagefootercontainer .footernewsletter{
        flex: 1 1 100%;
        margin-top: 25px;
        display: flex;
        flex-wrap: wrap;
    }

    div.pagefootercontainer .footerevents > div{
        margin: 0;
    }

    div.pagefootercontainer .footernewsletter > div{
        flex: 1 1 45%;
    }

    div.pagefootercontainer .footernewsletter > div:nth-child(even){
        margin-left: 5%;
    }

    div.bannermodules{
        background: #fafafa;
        padding: 50px 30px 40px 30px;
    }
    
    div.bannermodules .moduletable.welcome{
        width: 100%;
    }
@supports (display:grid) {
.blog-items.columns-3 {
    grid-template-columns: 1fr 1fr;
}
.site-grid {
    grid-template-areas:
        ". banner banner banner banner ."
        ". top-a top-a top-a top-a ."
        ". top-b top-b top-b top-b ."
        ". side-l comp comp side-r ."
        ". bot-a bot-a bot-a bot-a ."
        ". bot-b bot-b bot-b bot-b .";
}
}
}

@media (max-width: 767px){
	.pull-left,
	.pull-right {
		float: none;
	}
	.pull-left img,
	.pull-right img {
		margin-left: 0;
		margin-right: 0;
		max-width: 100%;
	}

    div.blog.frontnews .blog_content > div{
        width: 100%;
    }

    div.mobileheader{
        padding: 20px;
        border-bottom: 10px solid #b9d4ee;
    }

    div.siteheader{
        position: fixed; 
        right: 0;
        top: 0;
        width: 90%;
        bottom: 0;
        background: #b9d4ee;
        z-index: 99;
        overflow-y: auto;
        transform: translate(103%, 0);
        transition: transform .25s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .mobilenav-active div.siteheader{
        transform: translate(0, 0);
    }

    div.headermodules{
        text-align: center;
    }

    .header_container{
        border-bottom: 1px dashed #4e4e4e;
        padding-top: 60px;
    }

    ul.nav.topmenu{
        padding: 15px 0 30px 0;
    }

    ul.nav.topmenu > li > a::after{
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 5px solid #4e4e4e;
        border-right: 0;
        transform: translate(0%, -50%);
        left: 0;
        top: 50%;
    }

    ul.nav.topmenu > li.active > a::after, 
    ul.nav.topmenu > li > a:hover::after, 
    ul.nav.topmenu > li > a:focus::after{
        transform: translate(0%, -50%);
    }

    ul.nav.topmenu > li{
        display: block;
    }

    ul.nav.topmenu li ul{
        display: block;
    }

    ul.nav.topmenu > li > a{
        padding: 5px 15px;
    }

    ul.nav.topmenu li ul{
        padding: 0 0 5px 23px;
        font-size: 87.5%;
    }

    ul.nav.topmenu li ul li ul{
        padding: 0 0 5px 10px;
    }

    ul.nav.topmenu ul li a{
        color: #1e1e1e;
        display: block;
        padding: 2px 0;
    }

    .menu-hamburger{
		box-sizing: border-box;
		display: block;
		width: 40px;
		height: 40px;
		top: 15px;
		right: 15px;
		z-index: 20002;
		position: fixed;
        cursor: pointer;
        background: #fff;
        border-radius: 50%;
        transition: all .25s cubic-bezier(0.165, 0.84, 0.44, 1);
    }
    
    .scrolled .menu-hamburger{
        box-shadow: 1px 1px 6px rgba(0,0,0,.25);
    }
	
	.menu-hamburger:before,
	.menu-hamburger:after,
	.menu-hamburger span{
		background: #004a8f;
		content: '';
		display: block;
		width: 24px;
		height: 4px;
		position: absolute;
		left: 8px;
		top: 4px;
	}
	
	.menu-hamburger:before{
		top: 9px;
	}
	
	.menu-hamburger span{
		top: 17px;
		transform: translateY(0);
	}
	
	.menu-hamburger:after{
		top: 25px;
	}
	
	.menu-hamburger:before,
	.menu-hamburger:after,
	.menu-hamburger span{
		will-change: background, opacity;
		-webkit-transition: none 0.5s ease;
		transition: none 0.5s ease;
		-webkit-transition-property: transform, top, bottom, left, opacity, background;
		transition-property: transform, top, bottom, left, opacity, background;
	}
	
	.mobilenav-active .menu-hamburger:before,
	.mobilenav-active .menu-hamburger:after{
		top: 17px;	
	}
	
	.mobilenav-active .menu-hamburger span{
		transform: translateX(50px);
		opacity: 0;
		background: #004a8f;
	}
	
	.mobilenav-active .menu-hamburger:before{
		transform: rotate( 45deg );
		background: #004a8f;
	}
	
	.mobilenav-active .menu-hamburger:after{
		transform: rotate( -45deg );
		background: #004a8f;
    }
    
    div.normalpage{
        padding: 25px 15px;
        width: auto;
    }

    .row-fluid [class*="span"]{
        min-height: 0;
    }

    div.copyright > div{
        width: 100%;
        text-align: center;
    }

    .pagefootercontainer,
    div.footercontaioner .container{
        padding: 0 15px;
    }

    div.pagefootercontainer .footerevents{
        flex: 1 1 100%;
    }
    
    div.pagefootercontainer .footernewsletter{
        margin-top: 25px;
    }

    div.pagefootercontainer .footerevents > div{
        margin: 0;
    }

    div.bannermodules{
        background: #fafafa;
        padding: 50px 30px 40px 30px;
    }
    
    div.bannermodules .moduletable.welcome{
        width: 100%;
    }
    ul.nav.topmenu {
        flex-direction: column;
    }
}
