/* HTML5Boilerplate resets */

html,
button,
input,
select,
textarea,
pre {
	font-family: Roboto, Arial !important;
	color: #222;
}

button,
input,
textarea {
	color: #000;
}

html, body {
	min-width: 320px;
	margin: 0;
	font-family: Roboto, Arial !important;
	font-size: 15px;
	line-height: 1.5;
	color: #222;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
html.busy {
	cursor: wait;
	pointer-events: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
	margin-right: 5px !important;
}

::-webkit-input-placeholder {
	color: #999 !important;
}
::-moz-placeholder {
	color: #999 !important;
}
:-ms-input-placeholder {
	color: #999 !important;
}
:-moz-placeholder {
	color: #999 !important;
}

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	outline: 0;
}

img,
iframe {
	max-width: 100%;
}

iframe {
	display: block;
}



/* Custom styles */

h1, h2, h3, h4, h5, h6 { color:#ff2d5e; line-height:1.2 }

a, .button, button, input[type="submit"] { -webkit-transition:all ease-out 0.2s; -moz-transition:all ease-out 0.2s; -o-transition:all ease-out 0.2s; transition:all ease-out 0.2s }

a { color:#777; outline:0 }
a:hover { color:#ff2d5e }
a.large { color:#ff2d5e; font-size:1.5em; font-weight:bold; text-decoration:none }
a.large:hover { text-decoration:underline }
a:hover, a:active, a:focus, a:visited { outline:none; outline:0 !important }

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"] { height:35px; line-height:27px; padding:4px 10px !important; background:#ececec; border:1px solid #ececec; font-family:Roboto, Arial !important; color:#222 !important; font-size:15px !important }
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, input[type="number"]:focus, textarea:focus { border-color:#ff2c62; outline:0 }
textarea { padding:8px; border:1px solid #a0a0a0 }

select { display:none }

.dropdown-box { width:100%; min-width:100px; height:35px; line-height:34px; background:url(img/dropdown_bg.png) right center no-repeat #fff; background-size:25px; vertical-align:top; color:#444; font-size:17px; display:inline-block; position:relative; overflow:visible; cursor:default }
.dropdown-box:hover #button { color:#000 }
.dropdown-box img { width:18px; height:18px; margin-right:3px }
.dropdown-box #button { height:35px; padding:0 30px 0 10px; border:1px solid #c3c3c3; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; -webkit-transition:color ease-out 0.1s; -moz-transition:color ease-out 0.1s; -o-transition:color ease-out 0.1s; transition:color ease-out 0.1s }
.dropdown-box #selection { width:100%; max-height:396px; margin:0; padding:0; list-style:none; left:0; top:35px; position:absolute; overflow:auto; display:none; z-index:2000 }
.dropdown-box #selection li { height:35px; margin:0 auto; padding:0 10px; list-style:none; text-align:left; background:#fff; display:block; overflow:hidden; white-space:nowrap }
.dropdown-box #selection li:hover { background:#f2f2f2 }
.dropdown-box #selection li.selected { background:#ff2d5e; color:#fff }
.dropdown-box.expanded #selection { display:block }

.button, button, input[type="submit"] { height:35px; padding:3px 20px 5px; line-height:29px; border:none; color:#fff; font-size:17px; text-align:center; text-decoration:none; white-space:nowrap; background:#ff2d5e; display:inline-block; overflow:hidden; outline:0; cursor:pointer }
.button:hover, button:hover, input[type="submit"]:hover { background:#ee2b58; color:#fff }
.button.black { background:#222; color:#fff }
.button.black:hover { background:#373737 }
.button.grey { background:#999; color:#fff }
.button.grey:hover { background:#777 }
.button.grey.selected { background:#ff2d5e }

.title { margin-top:0 }
.group { margin:0 auto 25px }
.group:last-child { margin-bottom:0 !important }
.left { text-align:left }
.center { text-align:center }
.right { text-align:right }
.half { width:50%; float:left }
.half.first { width:48.5%; margin-right:3% }
.half.last { width:48.5% }
.thick-shadow { -webkit-box-shadow:0 2px 10px rgba(0,0,0,0.25); -moz-box-shadow:0 2px 10px rgba(0,0,0,0.25); box-shadow:0 2px 10px rgba(0,0,0,0.25) }
.non-selectable { -webkit-touch-callout:none; -webkit-user-select:none; -khtml-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none }
.disabled { pointer-events:none }
.hilighted, title span { color:#e20026 }
.large { font-size:30px }
.black { color:#222 }
.white { color:#fff }
.unbold { font-weight:normal }
.uppercase { text-transform:uppercase }
.error { margin:10px auto 20px; color:#f00; font-size:15px; display:none }
.error.non { color:#427fed }

.fit { width:100% }
.col-3, .article { width:33.33%; float:left }
.col-3x2 { width:66.66%; float:left }
.col-4 { width:25%; float:left }
.col-4x3 { width:75%; float:left }

#nav-bar, #header { -webkit-transition:background ease 0.2s; -moz-transition:background ease 0.2s; -o-transition:background ease 0.2s; transition:background ease 0.2s }
#nav-bar { width:100%; min-width:320px; left:0; top:35px; position:absolute; z-index:99 }
	#nav-bar .content { padding:13px 0 }
	#logo, #logo img { width:262px; display:inline-block }

#header { background-position:center center; background-size:cover; position:relative }
	#header .content { height:158px; margin:15px auto 22.35% }

.nav, .nav li, .nav ul { margin:0 auto; padding:0; list-style:none }
	.nav a { color:#444; font-weight:bold; text-decoration:none; display:block }
	.nav a:hover, .current-menu-item a { color:#ff0f54 }
	#nav { margin-top:43px; float:right }
	#nav li { display:inline-block }
	#nav a { padding:10px 14px; font-size:19px }
	
	#m-menu, #top-links { width:100%; min-width:320px; height:0; top:0; left:0; position:fixed; display:none; overflow:visible; z-index:999 }
	#m-btn { width:50px; height:40px; padding:5px 0; left:30px; top:14px; position:absolute; cursor:pointer }
	#m-nav { width:100%; padding:8px 15px; background:#fff; top:71px; left:0; position:absolute; display:none }
		#m-nav li { border-top:1px solid #e7e7e7; font-size:17px; text-align:center; display:block }
		#m-nav li:first-child { border-top:none }
		#m-nav a { padding:15px; cursor:pointer }
	
	#top-links { display:block }
		#top-links .content { height:0; padding-top:30px; text-align:right; overflow:visible }
		#top-links .fa { padding:6px 8px; display:inline-block }
		#top-links .fa, #m-btn { font-size:25px; color:#777 }
		#top-links .fa:hover, #m-btn:hover { color:#ff2d5e }

.sticky #nav-bar { background:#fff; top:0; position:fixed; -webkit-box-shadow:0 0 8px rgba(0,0,0,0.2); -moz-box-shadow:0 0 8px rgba(0,0,0,0.2); box-shadow:0 0 8px rgba(0,0,0,0.2) }
	.sticky #logo, .sticky #logo img { width:153px }
	.sticky #nav { margin-top:0 }
	.sticky #top-links .content { max-width:100%; padding-top:17px; padding-right:22px }

.content { max-width:1140px; margin:0 auto; position:relative }
.content.spacious { padding:35px 0 40px }

#primary { background:#fff; position:relative }
	#primary ul { padding-left:16px }
	#primary img { height:auto }
	
	#heading { width:100%; background:rgba(255,255,255,0.92); top:-76px; position:absolute; z-index:1 }
	#heading .content { padding:19px 0 14px }
	#heading h1 { margin:0 }
	
	#main.col-3x2 { padding-right:40px }
	#primary:not(.with-title-bar) #sidebar { margin-top:69px }
	#sidebar p:first-child, #sidebar h1:first-child, #sidebar h2:first-child, #sidebar h3:first-child, #sidebar h4:first-child, #sidebar h5:first-child, #sidebar h6:first-child { margin-top:0 }
	#sidebar .button { min-width:175px }
	#sidebar .wpsm_panel-group { margin-top:0 !important }
	br + .button { margin-top:8px }
	
	.title-bar h1 { display:inline-block; float:left }
	.title-bar .filters { margin-top:2px; text-align:right; float:right }
	.filters .button, .filters .dropdown-box { min-width:115px; margin-bottom:5px; vertical-align:top }

.home > h1 { margin-bottom:0 }
.home .articles, .home .headlines { margin-bottom:30px }
	.home #whatson .article { width:50% }
.home #past { margin-top:20px }

.papers .filters { padding-right:22px }

.media .filters .dropdown-box { width:47.25%; margin-right:2.75% }
.media .filters .button { width:22.5%; margin-right:2.5% }

.about .filters .button { margin-right:12px }

.banner { padding:24px 20px 22px; background:#ddd center center no-repeat; background-size:cover; text-align:center }
	.banner h1 { margin:0; font-size:1.85em }
	.banner p { margin-bottom:0 }
	.banner h1+p { margin-top:10px }
	.banner p .button { min-width:180px; margin-top:4px; vertical-align:bottom }

.articles > h1 { margin-bottom:12px; text-align:center }
.article { margin:14px 0; padding-right:22px; line-height:1.3; display:block }
	.article #thumbnail { width:100%; height:240px; background-position:center center; background-size:cover; text-decoration:none; display:block }
	.article #thumbnail span { margin:15px 0 0 22px; font-size:20px; color:#777; display:inline-block }
	.article #title, .headline #title { margin:13px 0 0; font-weight:bold; overflow:hidden; white-space:nowrap; text-overflow:ellipsis }
	.article #title a, .headline #title a { color:#222; text-decoration:none }
	.article #excerpt { height:38px; margin:5px 0 11px; overflow:hidden }

.archive { padding-bottom:10px; border-bottom:2px solid #666 }
.archive:last-child { border-bottom:none }
	.archive h1 { margin:15px 0 5px }
	.archive > a { text-decoration:none }
	.archive .articles { margin-bottom:15px }

.headlines > h1 { margin:8px 0 }
	.headline { margin-bottom:23px }
	.headline #excerpt { margin:5px 0 7px }

#content-bottom { background:#fff; position:relative }
	#content-bottom .content { padding:8px 0 30px; border-top:2px solid #666 }
	#content-bottom .widget { width:33.33%; padding-right:22px; float:left }
	#content-bottom .widget:last-child { padding-right:0 }
	#content-bottom h2 { margin-bottom:8px }
	#content-bottom p { margin-top:0 }
	#content-bottom .fa { font-size:30px }
	
	#subscribe .gform_wrapper { max-width:100%; margin:0; position:relative }
	#subscribe .gform_body { width:67%; margin:0 }
	#subscribe .gform_footer { width:30%; margin:0; padding:0; top:0; right:0; position:absolute }
	#subscribe .gform_footer input { padding-left:10px; padding-right:10px; font-size:15px }
	#subscribe .gfield { margin:0; padding:0 }
	#subscribe input { width:100%; margin:0 }
	#subscribe label { display:none }

#footer { background:#fff; position:relative }
	#footer .content { padding:40px 0 55px; border-top:2px solid #666 }
	#footer #legal { margin-top:18px; font-size:11px; color:#999; text-align:justify }

.search-form { padding:10px 0 20px }
	.search-form .search-field { width:280px; margin-right:5px }



/* Helper classes */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}



/* Responsive design customization */

@media only screen and (max-width:1699px) {
    #logo, #logo img { width:210px }
	#nav { margin-top:33px }
	#nav a { font-size:18px; padding:10px 10px }
	.content { max-width:1024px }
	#subscribe .gform_body { width:60%; margin:0 }
	#subscribe .gform_footer { width:37%; margin:0; padding:0; top:0; right:0; position:absolute }
}

@media only screen and (max-width:1439px) {
	.content { max-width:77% }
}

@media only screen and (min-width:1340px) {
	 #heading h1 { padding-top:2px }
	.sticky #heading { top:71px !important; position:fixed !important; background:#f7f7f7; -webkit-box-shadow:0 0 8px rgba(0,0,0,0.25); -moz-box-shadow:0 0 8px rgba(0,0,0,0.25); box-shadow:0 0 8px rgba(0,0,0,0.25) }
	.sticky #heading .content { padding:10px 0 5px }
	.sticky #heading h1 { font-size:25px; padding-top:4px }
}

@media only screen and (max-width:1339px) {
	.media .filters .dropdown-box { width:96.75%; margin-bottom:12px; margin-right:3.25% }
	.media .filters .button { width:46.75%; margin-right:3.25% }
}

@media only screen and (max-width:1279px) {
	#nav { margin-top:35px }
	#nav a { font-size:16px }
}

@media only screen and (max-width:1139px) {
	#nav a { font-size:15px }
}

@media only screen and (max-width:1079px) {
	h1 { font-size:27px !important }
	h2, a.large { font-size:23px !important }
	#top-links .content { max-width:100%; padding-top:18px; padding-right:22px }
	#nav-bar { top:12px }
	#nav-bar .content { text-align:center }
	#nav { display:none }
	#m-menu { display:block }
	.content { max-width:83% }
	.content.spacious { padding:30px 0 35px }
}

@media only screen and (max-width:959px) {
	.papers h1, .papers .filters { width:50% !important }
	.article { width:50% }
}

@media only screen and (max-width:839px) {
	h1 { font-size:24px !important }
	h2, a.large { font-size:21px !important }
	
	#m-btn { left:25px }
	.content { max-width:85% }
	.content.spacious { padding:25px 0 30px }
	.half, .col-3, .col-3x2, .title-bar h1, .title-bar .filters { width:100% !important; float:none !important }
	.half.last, #sidebar { margin-top:30px !important }
	#main.col-3x2 { padding-right:0 }
	
	#heading { top:12px !important; position:relative }
	#heading .content { padding-bottom:0 }
	.title-bar .filters { margin-top:10px; text-align:left }
	.title-bar .dropdown-box { margin-bottom:12px }
	.media .filters .dropdown-box { width:100%; margin-right:0 }
	.media .filters .button { width:48.375% }
	.media .filters .button:last-child { margin-right:0 }
	
	#content-bottom .widget { width:100%; margin-top:32px; padding-top:9px; padding-right:0; border-top:2px solid #666; text-align:center; float:none }
	#content-bottom .widget:first-child { margin-top:0; padding-top:0; border-top:none }
	#subscribe .gform_body { width:48.75% }
	#subscribe .gform_footer { width:48.75% }
}

@media only screen and (max-width:639px) {
    #logo, #logo img { width:190px }
	.content { max-width:87% }
	.content.spacious { padding:20px 0 30px }
}

@media only screen and (max-width:599px) {
	.title-bar .filters { padding-right:0 }
	.article { width:100% !important; padding-right:0; float:none }
	.article:nth-child(n+2) { margin-top:30px }
	.article #excerpt { height:auto; margin-bottom:10px }
	.events > h1 { margin-top:0 }
}

@media only screen and (max-width:479px) {
	#top-links .content { padding-right:15px !important }
	#top-links .fa { padding:6px 5px !important }
	#top-links .fa, #m-btn { font-size:22px }
	#nav-bar { top:0; position:fixed }
	#logo, #logo img { width:153px }
	#m-btn { left:20px }
	.content { max-width:88% }
	#heading { top:9px !important }
	.button, button, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], .dropdown-box { width:100% !important; text-align:center }
	.article #thumbnail { height:175px }
	.article #thumbnail span { margin:13px 0 0 20px; font-size:18px }
	#subscribe .gform_body { width:100%; margin:0 }
	#subscribe .gform_body input { text-align:center }
	#subscribe .gform_footer { width:100%; margin-top:12px; position:inherit }
	.search-form .search-field { margin-right:0; margin-bottom:10px }
}

@media only screen and (max-width:375px) {
	#logo, #logo img { width:133px !important }
	#logo img { margin:3px 5px 3px 0 }
}


/* Print styles */

@media print,
   (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
}

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}