﻿/* = Framework
----------------------------------------------------------------------------------------------------------------- */
.container { width: 1240px; margin: 0 auto; position: relative; }
.container--med { width: 1400px; }
.container--wide { width: auto; margin: 0 50px; }
.container.container--skinny { width: 870px; margin: 0 auto; }
.container img { max-width: 100%; }

.inner { max-width: 800px; margin: 0 auto; }

header { position: fixed; top: 0; left: 0; width: 100%; padding: 17px 0; background: #122035; z-index: 10; }
header .container { width: 1400px; }
footer { padding: 45px 0; color: #fff; background: #122035; }

.main-content { position: relative; }

.section--box { background: #d8e3e8; }
.section--top { position: relative; width: 100%; }

.curve { position: absolute; overflow: hidden; width: 100%; height: 100px; bottom: 0; background: #fff; z-index: 0; }
.curve span { position: absolute; bottom: 0; left: 0; right: 0; margin-left: -50px; margin-right: -50px; width: auto; border-bottom-left-radius: 150% 40%; border-bottom-right-radius: 150% 40%; height: 800px; background: #D8E3E8; z-index: 0; }
.template--home .curve span { background: #d8e3e8; }

.section .content .container + .container,
.section .content .container + .full-banner { margin-top: 80px; }
.section .content .container + .full-banner.logo-banner { margin-top: 20px; }

@media screen and (max-width: 1620px) {
    .container--med { width: auto; margin-left: 100px; margin-right: 100px; }
}

@media screen and (max-width: 1480px) {
    header .container { width: auto; margin-right: 40px; margin-left: 40px; }
}

@media screen and (max-width: 1460px) {
    .container--med { width: 1240px; margin-left: auto; margin-right: auto; }
}

@media screen and (max-width: 1360px) {
    .container--wide { width: 1240px; margin-left: auto; margin-right: auto; }
}

@media screen and (max-width: 1320px) {
    .container { width: auto; margin-right: 40px; margin-left: 40px; }


    .section .content .container + .container,
    .section .content .container + .full-banner { margin-top: 60px; }
}

@media screen and (max-width: 1200px) {
    .curve span { border-bottom-left-radius: 150% 35%; border-bottom-right-radius: 150% 35%; }
}

@media screen and (max-width: 1024px) {
    .section .content .container + .full-banner.logo-banner { margin-top: 0; }
}

@media screen and (max-width: 970px) {
    .container.container--skinny { width: auto; margin-right: 40px; margin-left: 40px; }
}

@media screen and (max-width: 750px) {
    .section .content .container + .container,
    .section .content .container + .full-banner { margin-top: 50px; }

    .curve span { border-bottom-left-radius: 150% 25%; border-bottom-right-radius: 150% 25%; }
}

@media screen and (max-width: 600px) {
    header .container,
    .container,
    .container.container--skinny { margin-right: 30px; margin-left: 30px; }
}

@media screen and (max-width: 380px) {
    header .container,
    .container,
    .container.container--skinny { margin-right: 25px; margin-left: 25px; }

    .section .content .container + .container,
    .section .content .container + .full-banner { margin-top: 45px; }

    footer { padding: 40px 0; }

    .template--1col .curve span { border-bottom-left-radius: 150% 20%; border-bottom-right-radius: 150% 20%; }

    .curve span { border-bottom-left-radius: 150% 20%; border-bottom-right-radius: 150% 20%; }
}

@media screen and (max-width: 360px) {
    header { padding: 16px 0; }

    header .container,
    .container,
    .container.container--skinny { margin-right: 20px; margin-left: 20px; }
}

/* = Templates
----------------------------------------------------------------------------------------------------------------- */
.template { margin-top: 80px; }

#homepage header { background: none; -webkit-transition: all .2s ease; transition: all .2s ease; }
#homepage.navOn header,
#homepage.headerSticky header { background: #122035; }

.template.template--home { margin-top: 0; }

.template--home .section--top { top: -50px; padding-bottom: 100px; background: #d8e3e8; }
.template--home .section--top .content { margin-bottom: -250px; }
.template--home .section--bottom { margin-top: 200px; }

.template--1col .section--top { padding: 50px 0 100px; background: #D8E3E8; }
.template--1col .section--top .container { padding: 60px; background: #fff; }
.template--1col .section--bottom { margin: 80px 0 20px; }

.template--1col-overlap .section--top .content { margin-bottom: -150px; }
.template--1col-overlap .section--bottom { margin: 80px 0 20px; }
.template--1col-overlap .cols--lightBlue:first-child { margin: 0 60px; }
.template--1col-overlap .cols--lightBlue + div:last-child { margin-top: 60px; }

@media screen and (max-width: 1320px) {
    .template--home .section--bottom { margin-top: 180px; }

    .template--1col .section--bottom { margin: 60px 0 10px; }
    .template--1col-overlap .section--bottom { margin: 65px 0 10px; }
}

@media screen and (max-width: 1024px) {
    .template--1col-overlap .cols--lightBlue:first-child { margin: 0; }
    .template--1col .section--bottom,
    .template--1col-overlap .section--bottom { margin-bottom: 0; }
}

@media screen and (max-width: 850px) {
    .template--home .section--top { top: -110px; padding-top: 60px; padding-bottom: 50px; }
    .template--home .section--bottom { margin-top: 170px; }

    .template--1col .section--top { padding: 50px 0 90px; }
    .template--1col .section--top .container { padding: 50px; }
}

@media screen and (max-width: 750px) {
    .template--home .section--top { padding-top: 50px; }
    .template--home .section--bottom { margin-top: 150px; }

    .template--1col .section--bottom { margin: 50px 0 0; }
    .template--1col-overlap .section--bottom { margin: 65px 0 0; }

    .template--1col-overlap .cols--lightBlue + div:last-child { margin-top: 50px; }
}

@media screen and (max-width: 600px) {
    .template--home .section--bottom { margin-top: 140px; }

    .template--1col .section--top { padding: 50px 0 75px; }
    .template--1col .section--top .container { padding: 40px; }
    .template--1col-overlap .section--bottom { margin: 80px 0 0; }
}

@media screen and (max-width: 480px) {
    .template--home .section--bottom { margin-top: 135px; }

    .template--1col .section--top { padding: 45px 0 65px; }
    .template--1col .section--top .container { padding: 35px; }
    .template--1col-overlap .section--bottom { margin: 95px 0 0; }
}

@media screen and (max-width: 440px) {
    .template--1col .section--top .container { padding: 35px 30px; }
}

@media screen and (max-width: 380px) {
    .template--home .section--top { padding-top: 45px; }
    .template--home .section--bottom { margin-top: 130px; }

    .template--1col .section--top { padding-top: 40px; }
    .template--1col .section--top .container { padding: 30px 25px; }
    .template--1col-overlap .cols--lightBlue + div:last-child { margin-top: 45px; }
}

@media screen and (max-width: 360px) {
    .template { margin-top: 72px; }
    .template--1col .section--top { padding-top: 35px; }
    .template--1col .section--top .container { padding: 25px 22px; }
    .template--1col-overlap .cols--lightBlue + div:last-child { margin-top: 40px; }
}

@media screen and (max-width: 340px) {
    .template { margin-top: 68px; }
}

/* = Logo
----------------------------------------------------------------------------------------------------------------- */
.logo { width: 192px; height: 46px; display: block; background: url(/_img/logo-total-events-white.png) no-repeat top left; background-size: 192px 46px; }

@media screen and (min-width: 1201px) {
    #homepage .logo { width: 284px; height: 60px; background-size: auto 60px; }
    #homepage.headerSticky .logo { width: 192px; height: 46px; background-size: 192px 46px; }
}

@media screen and (min-width: 1401px) {
    #homepage .logo { width: 345px; height: 72px; background-size: auto 72px; }
    #homepage.headerSticky .logo { width: 192px; height: 46px; background-size: 192px 46px; }
}

@media screen and (max-width: 360px) {
    .logo { width: 167px; height: 40px; background-size: 167px 40px; }
}

@media screen and (max-width: 340px) {
    .logo { width: 150px; height: 36px; background-size: 150px 36px; }
}

/* = Menu content
----------------------------------------------------------------------------------------------------------------- */
.menu-wrap { visibility: hidden; opacity: 0; position: fixed; top: 0; margin-top: 80px; width: 100%; height: calc(100% - 80px); overflow: auto; background: #122035; border-top: 1px solid #1d304c; -webkit-transition: all .3s ease; transition: all .3s ease; z-index: -1; }
.navOn .menu-wrap { visibility: visible; opacity: 1; z-index: 9; }

.menu ul { list-style: none; margin: 0; padding: 0; }
.menu ul li a { color: #fff; }
.menu ul li ul li { font-weight: 300; }
.menu ul li ul li a { color: #F9B400; }
.menu ul li ul li a:hover { color: #f49a00; }
.menu ul li ul li.liOn { font-weight: 400; }

.menu-address p,
.menu-address a { color: #fff; }
.menu-address p:last-child { margin-bottom: 0; }
.menu-address .icon--tel:hover { color: #f49a00; }
.menu-address .icon--tel:before { padding-right: 6px; }

.menu-social { margin-top: 30px; }
.menu-social .icon { width: 30px; height: 30px; border-radius: 30px; line-height: 30px; text-align: center; position: relative; display: inline-block; vertical-align: top; margin-right: 14px; color: #122035; background: #fff; -webkit-transition: background .2s ease; transition: background .2s ease; }
.menu-social .icon:before { font-size: 16px; vertical-align: top; line-height: 30px; }
.menu-social .icon:hover { background: #f49a00; }
.menu-social .icon svg { position: absolute; top:50%; left:50%; transform: translate(-50%, -50%); width:15px; }

@media screen and (min-width: 701px) {
    .menu-inner { max-width: 960px; margin: 0 auto; display: table; width: 75%; height: 100%; }
    .menu { display: table-cell; vertical-align: middle; width: 75%; }
    .menu-address { display: table-cell; vertical-align: middle; width: 25%; min-width: 210px; }

    .menu ul li { margin: 30px 0; max-width: 300px; font-size: 26px; line-height: normal; position: relative; }

    .menu > ul > li > a { position: relative; }
    .menu > ul > li > a:hover { color: #f49a00; }
    .menu > ul > li.liOn > a:after { content: ''; position: absolute; left: 0; bottom: -14px; width: 45px; height: 5px; background: #f49a00; }

    .menu ul li ul { visibility: hidden; opacity: 0; position: absolute; top: 0; left: 275px; width: 100%; -ms-transform: translateX(-25px); -webkit-transform: translateX(-25px); transform: translateX(-25px); }

    .menu ul li.liOn ul,
    .menu ul li.dropdownOn ul { visibility: visible; opacity: 1; -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: transform .4s ease, opacity .4s ease; transition: transform .4s ease, opacity .4s ease; }

    .menu ul li ul li { margin: 16px 0; font-size: 20px; }
}

@media screen and (min-width: 1081px) and (min-height: 750px) {
    .menu ul li { margin: 35px 0; max-width: 300px; font-size: 28px; }
    .menu ul li ul { left: 300px; }
    .menu ul li ul li { margin: 18px 0; font-size: 20px; }
}

@media screen and (min-width: 961px) {
    .menu ul li ul li:first-child { margin-top: 8px; }
}

@media screen and (max-width: 1200px) {
    .menu-inner { width: 80%; }
}

@media screen and (max-width: 1080px) {
    .menu-inner { width: 84%; }

    .menu ul li { max-width: 300px; }
    .menu ul li ul { left: 270px; }
    /* .menu ul li ul li { max-width: 300px; } */
}

@media screen and (min-width: 961px) and (max-height: 600px) {
    .menu ul li ul { left: 250px; }
}

@media screen and (min-width: 961px) and (max-height: 540px) {
    .menu ul li ul { left: 225px; }
    .menu ul li ul li:first-child { margin-top: 6px; }
}

@media screen and (max-width: 960px) {
    .menu-inner { max-width: 600px; width: 100%; }
    .menu { padding: 30px 0; width: calc(100% - 250px); vertical-align: top; }
    .menu-address { padding: 68px 0 30px; width: 250px; font-size: .9em; vertical-align: top; position: relative; }

    .menu ul li { max-width: none; }
    .menu ul li ul { max-height: 0; overflow: hidden; position: relative; top: 0; left: 0; }
    .menu ul li ul li { margin: 14px 0; font-size: 18px; }

    .menu ul li.liOn ul,
    .menu ul li.dropdownOn ul,
    .menu ul li.dropdownOn ul { max-height: 300px; }

    .menu > ul > li.liOn > a:after { content: none; }
    .menu > ul > li.liOn > a { color: #f49a00; }

    .menu-social .icon:before { line-height: 26px; }
    .menu-social .icon { width: 26px; height: 26px; border-radius: 26px; line-height: 26px; margin-right: 12px; }
}

@media screen and (min-width: 701px) and (max-height: 600px) {
    .menu ul li { margin: 24px 0; font-size: 24px; max-width: 250px; }
    .menu ul li ul li { margin: 14px 0; font-size: 18px; }
    .menu ul li ul li a { white-space: nowrap;}
    .menu > ul > li.liOn > a:after { bottom: -11px; width: 38px; height: 4px; }

    .menu-address { font-size: .875em; }
    .menu-social { margin-top: 25px; }
    .menu-social .icon { width: 26px; height: 26px; border-radius: 26px; line-height: 26px; margin-right: 12px; }
    .menu-social .icon:before { line-height: 26px; }
}

@media screen and (min-width: 701px) and (max-height: 540px) {
    .menu ul li { margin: 22px 0; font-size: 22px; max-width: 225px; }
    /* .menu ul li ul li { margin: 13px 0; font-size: 16px; } */

    .menu-address { font-size: .8em; }
    .menu-social .icon:before { font-size: 14px; line-height: 24px; }
    .menu-social .icon { width: 24px; height: 24px; border-radius: 24px; line-height: 24px; margin-right: 10px; }
}

@media screen and (max-width: 700px) {
    .menu-wrap { padding: 40px; }
    .menu { padding: 0; margin-bottom: 40px; }
    .menu-address { padding: 0; font-size: .8em; }

    .menu,
    .menu-address { width: 100%; }
    .menu ul li { margin: 0 0 20px; font-size: 24px; line-height: normal; }

    .menu-address p:nth-child(2) { margin-bottom: 0; }
    .menu-social { position: absolute; bottom: 0; right: 0; }
    .menu-social .icon { margin: 0 0 0 15px; }
    .menu-social .icon:before { font-size: 15px; }
    .menu-social .icon--twitter:before { padding-top: 1px; }
}

@media screen and (max-width: 480px) {
    .menu { margin-bottom: 36px; }
    .menu ul li { margin: 0 0 18px; font-size: 22px; }
    .menu ul li ul li { margin: 12px 0; font-size: 16px; }

    .menu-social { margin-top: 20px; }
    .menu-social .icon:before { font-size: 13px; line-height: 24px; }
    .menu-social .icon { width: 24px; height: 24px; border-radius: 24px; line-height: 24px; margin: 0 0 0 12px; }
}

@media screen and (max-width: 380px) {
    .menu-wrap { padding: 35px 30px; }
    .menu { margin-bottom: 32px; }
    .menu ul li { margin: 0 0 16px; font-size: 20px; }

    .menu-address { font-size: .7em; }
    .menu-address p { margin-bottom: 16px; }
}

@media screen and (max-width: 360px) {
    .menu-wrap { padding: 32px 30px; height: calc(100% - 72px); margin-top: 72px; }
    .menu { margin-bottom: 30px; }
    .menu ul li { margin: 0 0 15px; }
    .menu-address p { line-height: 1.65em; }
}

@media screen and (max-width: 340px) {
    .menu-wrap { padding: 30px; height: calc(100% - 68px); margin-top: 68px; }
    .menu { margin-bottom: 26px; }
    .menu ul li { margin: 0 0 14px; font-size: 18px; }
    .menu ul li ul li { margin: 10px 0; font-size: 14px; }

    .menu-address { font-size: .65em; }
    .menu-address p { margin-bottom: 15px; line-height: 1.5em; }
}

@media screen and (max-width: 320px) {
    .menu-wrap { padding: 26px 30px; }
    .menu ul li { margin: 0 0 13px; font-size: 17px; }
}

/* = Nav Hamburger
----------------------------------------------------------------------------------------------------------------- */
.burger { position: absolute; top: 50%; margin-top: -8px; right: 0; overflow: hidden; cursor: pointer; z-index: 1; }
.burger > div { float: left; }
.burger .b-label { padding-left: 10px; color: #fff; font-family: 'Montserrat', sans-serif; text-transform: uppercase; font-size: 14px; letter-spacing: .025em; font-weight: 600; }
.hamburger { position: relative; margin: 0; padding: 0; width: 16px; height: 18px; cursor: pointer; -webkit-transition: background 0.3s ease; transition: background 0.3s ease; overflow: hidden; }
.hamburger:focus { outline: none; }
.hamburger span { display: block; position: absolute; top: 50%; margin-top: -1px; left: 0; right: 0; height: 2px; background: #fff; -webkit-transition: background 0.3s ease; transition: background 0.3s ease; }
.hamburger span::before,
.hamburger span::after { position: absolute; display: block; left: 0; width: 100%; height: 2px; background-color: #fff; content: ""; -webkit-transition: 0.3s ease; transition: 0.3s ease; }
.hamburger span::before { top: -6px; }
.hamburger span::after { bottom: -6px; }

.navOn .hamburger span { background: none; }
.navOn .hamburger span::before { top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.navOn .hamburger span::after { bottom: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

@media screen and (max-width: 380px) {
    .hamburger { height: 16px; }
    .burger .b-label { font-size: 13px; }
}

@media screen and (max-width: 360px) {
    .burger { margin-top: -7px; }
    .burger .b-label { font-size: 12px; line-height: 14px; }

    .hamburger { width: 14px; height: 14px; }
    .hamburger span::before { top: -5px; }
    .hamburger span::after { bottom: -5px; }
}

/* = Heros
----------------------------------------------------------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; }
.hero--default { height: 340px; background: #D8E3E8; }
.hero--noImage { height: 300px; }

.hero--home { height: 750px; background: #d8e3e8; }

.hero-image { position: absolute; overflow: hidden; background-size: cover; top: 0; left: 0; right: 0; margin-left: -50px; margin-right: -50px; width: auto; height: 100%; z-index: 0; background-color: #2A384B; background-size: cover; background-position: 50% 90%; background-repeat: no-repeat; }
.hero-image:after { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0, 0, 0, 0.45); }

.hero--noImage .hero-image:after { content: none; }

.hero-content { position: absolute; top: 10%; left: 50%; margin-left: -390px; width: 780px; z-index: 1; text-align: center; }
.hero-content h1 { margin-bottom: 35px; padding-bottom: 30px; font-size: 70px; font-weight: 400; line-height: 1.15em; color: #fff; position: relative; }
.hero-content h1:after { content: ''; width: 100px; height: 6px; position: absolute; bottom: -3px; left: 50%; margin-left: -50px; background: #f49a00; }
.hero-content h1:last-child { margin-bottom: 0; }
.hero-content p { color: #fff; max-width: 700px; margin-left: auto; margin-right: auto; }
.hero-content p:last-child { margin-bottom: 0; }
.hero-content .btn { font-size: 13px; }
.hero-content .btn + .btn { margin-left: 20px; }
.hero-content .icon--globe:before { padding-right: 10px; padding-bottom: 1px; vertical-align: middle; background-size: auto 24px; }
.hero-content .icon--mail:before { padding-right: 12px; padding-bottom: 4px; font-size: 21px; vertical-align: middle; }

.hero--home .hero-content { top: calc(80px + 10%); }
.hero--home .hero-image { border-bottom-left-radius: 150% 40%; border-bottom-right-radius: 150% 40%; }
.hero--home .hero-image:after { background: -moz-linear-gradient(top, #122035 0%, rgba(18, 32, 53, 0.60) 65%, rgba(18, 32, 53, 0) 100%); background: -webkit-linear-gradient(top, #122035 0%,rgba(18, 32, 53, 0.60) 65%,rgba(18, 32, 53, 0) 100%); background: linear-gradient(to bottom, #122035 0%,rgba(18, 32, 53, 0.6) 65%,rgba(18, 32, 53, 0) 100%); opacity: 0.7; }

.hero--default .hero-image { border-bottom-left-radius: 150% 85%; border-bottom-right-radius: 150% 85%; }
.hero--default .hero-content { top: 50%; /*top: calc(50% - 5px);*/ -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.hero--default .hero-content h1 { font-size: 50px; padding-bottom: 25px; }
.hero--default .hero-content .hero-subtitle { display: inline-block; margin: 0 0 10px; font-size: .75em; font-weight: 600; text-transform: uppercase; color: #fff; }

.hero--video video { width: 100%; height: auto; top: 50%; -ms-transform: translateY(-55%); -webkit-transform: translateY(-55%); transform: translateY(-55%); position: relative; display: block; }

@media screen and (min-width: 751px) {
    .hero--default .hero-content h1:after { width: 80px; margin-left: -40px; }
}

@media screen and (min-width: 1801px) {
    .hero--home { height: 800px; }
    .hero--default .hero-content h1 { font-size: 52px; }
}

@media screen and (max-width: 1700px) {
    .hero-content h1 { font-size: 68px; }
}

@media screen and (max-width: 1600px) {
    .hero-content h1 { font-size: 66px; }
}

@media screen and (max-width: 1500px) {
    .hero-content h1 { font-size: 64px; }
}

@media screen and (max-width: 1400px) {
    .hero-content { margin-left: -350px; width: 700px; }
    .hero-content h1 { font-size: 4.6vw; max-width: 700px; margin: 0 auto 30px; }

    .hero--home { height: 700px; }
    .hero--home .hero-content { top: calc(80px + 5%); }

    .hero--video video { -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
}

@media screen and (max-width: 1200px) {
    .hero-content h1 { max-width: 600px; }

    .hero--default .hero-content h1 { font-size: 4vw; max-width: 650px; }

    .hero--home { height: 650px; }
    .hero--home .hero-content { top: calc(80px + 3%); }

    .hero--home .hero-image { border-bottom-left-radius: 150% 35%; border-bottom-right-radius: 150% 35%; }
    .hero--default .hero-image { border-bottom-left-radius: 150% 80%; border-bottom-right-radius: 150% 80%; }
}

@media screen and (max-width: 1080px) {
    .hero--video video { height: 100%; width: auto; left: 50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
}

@media screen and (max-width: 1024px) {
    .hero-content h1 { font-size: 46px; }
    .hero--default .hero-content h1 { font-size: 40px; }
}

@media screen and (max-width: 820px) {
    .hero-content { left: 0; margin: 0 50px; width: auto; right: 0; }

    .hero--default .hero-content h1 { font-size: 36px; padding-bottom: 22px; }
    .hero--default .hero-content .hero-subtitle { font-size: .7em; }
}

@media screen and (max-width: 750px) {
    .hero-content { margin: 0 40px; }
    .hero-content h1 { font-size: 44px; }
    .hero-content h1:after { width: 80px; margin-left: -40px; }

    .hero--default { height: 300px; }
    .hero--default .hero-content p { line-height: 1.6em; }

    .hero--noImage { height: 275px; }

    .hero--home .hero-image { border-bottom-left-radius: 150% 25%; border-bottom-right-radius: 150% 25%; }
    .hero--default .hero-image { border-bottom-left-radius: 150% 70%; border-bottom-right-radius: 150% 70%; }
}

@media screen and (max-height: 650px) and (min-width: 1025px) {
    .hero--default .hero-content h1 { font-size: 42px; }
}

@media screen and (max-height: 650px) and (min-width: 1201px) {
    .hero--default .hero-content h1 { font-size: 44px; }
}

@media screen and (max-height: 650px) and (min-width: 1301px) {
    .hero--default .hero-content h1 { font-size: 46px; }
}

@media screen and (max-height: 650px) and (min-width: 751px) {
    .hero--default { height: 300px; }
    .hero--noImage { height: 275px; }
}

@media screen and (max-width: 600px) {
    .hero-content { margin: 0 30px; }
    .hero-content h1 { font-size: 6.8vw; padding-bottom: 26px; }
    .hero-content h1:after { height: 5px; width: 70px; margin-left: -35px; }

    .hero--default { height: 275px; }

    .hero--default .hero-content h1 { font-size: 34px; padding-bottom: 20px; }
    #page-courseview .hero--default .hero-content h1 { font-size: 6vw; }
}

@media screen and (max-width: 480px) {
    .hero--home { height: 625px; }

    .hero-content h1 { font-size: 7vw; padding-bottom: 24px; margin-bottom: 25px; }
    .hero-content h1:after { width: 60px; margin-left: -30px; }
    .hero-content p { font-size: 17px; }

    .hero-content .btn + .btn { margin-left: 15px; }
    .hero-content .icon--globe:before { width: 20px; height: 20px; background-size: auto 20px; }
    .hero-content .icon--mail:before { padding-bottom: 2px; font-size: 19px; }

    .hero--default { height: 250px; }
    .hero--default .hero-content h1 { font-size: 32px; padding-bottom: 18px; }
}

@media screen and (max-width: 440px) {
    .hero-content .btn + .btn { margin-left: 12px; }
    .hero-content .btn { font-size: 12px; padding: 7px 14px 6px; }
    .hero-content .icon--globe:before { padding-bottom: 2px; padding-right: 8px; width: 18px; height: 18px; background-size: auto 18px; }
    .hero-content .icon--mail:before { padding-right: 8px; font-size: 18px; }

    .hero--default { height: 225px; }
}

@media screen and (max-width: 380px) {
    .hero--home { height: 600px; }

    .hero--home .hero-image { border-bottom-left-radius: 150% 20%; border-bottom-right-radius: 150% 20%; }
    .hero--default .hero-image { border-bottom-left-radius: 150% 65%; border-bottom-right-radius: 150% 65%; }


    .hero-content { margin: 0 25px; }
    .hero-content h1 { font-size: 28px; padding-bottom: 20px; }
    .hero-content h1:after { height: 4px; width: 50px; margin-left: -25px; }
    .hero-content p { font-size: 16px; }

    .hero-content .icon--mail:before { font-size: 17px; padding-bottom: 3px; }
    .hero-content .btn { font-size: 12px; padding: 7px 12px 6px; }
    .hero-content .btn + .btn { margin-left: 8px; }

    .hero--default { height: 200px; }
    .hero--default .hero-content h1 { font-size: 28px; padding-bottom: 16px; margin-bottom: 16px; }
    .hero--default .hero-content p { line-height: 1.5em; }
    .hero--default .hero-content .hero-subtitle { margin: 0 0 8px; font-size: .65em; }

    #page-courseview .hero--default .hero-content h1 { font-size: 24px; }
}

@media screen and (max-width: 360px) {
    .hero--home { height: 580px; }

    .hero-content { margin: 0 20px; }
    .hero-content h1 { font-size: 26px; }

    #page-courseview .hero--default .hero-content h1 { font-size: 23px; }
}

@media screen and (max-width: 350px) {
    .hero--home { height: 600px; }
    .hero--home .hero-content { top: calc(80px + 2.5%); }

    .hero-content .icon--globe:before { padding-right: 6px; width: 16px; height: 16px; background-size: auto 16px; }
    .hero-content .icon--mail:before { padding-right: 6px; font-size: 15px; }

    #page-courseview .hero--default .hero-content h1 { font-size: 22px; }
}

@media screen and (max-width: 340px) {
    .hero-content .btn + .btn { margin-left: 8px; }
    .hero-content .btn { font-size: 11px; padding: 6px 12px 5px; }
}

/* = Plotted map
----------------------------------------------------------------------------------------------------------------- */
.pm-wrap { margin: 80px 0; }
.pm-wrap .container { margin-bottom: 40px; }

.plotted-map { position: relative; }
.plotted-map img { max-width: 100%; vertical-align: middle; }

.plot-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.plot-link { width: 0.5%; padding-bottom: 0.5%; height: 0; position: absolute; cursor: pointer; display: block; overflow: hidden; z-index: 0; border-radius: 50%; }

.plot-wrap { display: none; position: absolute; width: 0.45%; padding-bottom: 0.45%; overflow: visible; height: 0; z-index: 1; }

.plot-box { display: block; position: relative; bottom: 0; width: 300px; left: 36px; padding: 22px 22px 25px; max-width: 350px; color: #fff; background: #124384; }
.plot-box--left-bottom { -ms-transform: translateY(calc(-100% + 39px)); -webkit-transform: translateY(calc(-100% + 39px)); transform: translateY(calc(-100% + 39px)); }
.plot-box--left-top { top: 0; bottom: auto; -ms-transform: translateY(-34px); -webkit-transform: translateY(-34px); transform: translateY(-34px); }
.plot-box--right-bottom { left: auto; right: 34px; -ms-transform: translate(-100%, calc(-100% + 39px)); -webkit-transform: translate(-100%, calc(-100% + 39px)); transform: translate(-100%, calc(-100% + 39px)); }
.plot-box--right-top { top: 0; bottom: auto; left: auto; right: 34px; -ms-transform: translate(-100%, -34px); -webkit-transform: translate(-100%, -34px); transform: translate(-100%, -34px); }

.plot-box:before { content: ''; position: absolute; width: 0; height: 0; border-style: solid; }
.plot-box--left-top:before { top: 20px; left: -26px; border-width: 16px 26px 16px 0; border-color: transparent #124384 transparent transparent; }
.plot-box--left-bottom:before { bottom: 20px; left: -26px; border-width: 16px 26px 16px 0; border-color: transparent #124384 transparent transparent; }
.plot-box--right-top:before { top: 20px; right: -26px; border-width: 16px 0 16px 26px; border-color: transparent transparent transparent #124384; }
.plot-box--right-bottom:before { bottom: 20px; right: -26px; border-width: 16px 0 16px 26px; border-color: transparent transparent transparent #124384; }

.plot-box p { color: #d1dae8; font-size: 0.882em; margin-bottom: 15px; line-height: 1.5em; }
.plot-box p:last-child { margin: 0; }
.plot-box h6 { font-size: 1.176em; margin-bottom: 5px; color: #fff; text-transform: uppercase; font-family: 'Montserrat', sans-serif; font-weight: 600; }
.plot-box .btn { padding: 8px 14px 6px; font-size: 0.706em; }

@media screen and (max-width: 1400px) {
    .plot-box { max-width: 325px; font-size: .9em; padding: 20px 20px 22px; }
}

@media screen and (max-width: 1320px) {
    .pm-wrap { margin: 60px 0; }
    .pm-wrap .container { margin-bottom: 35px; }

    .plot-box { max-width: 300px; font-size: .85em; padding: 16px 18px 20px; }
}

@media screen and (max-width: 960px) {
    .plot-content { display: none; }
}

@media screen and (max-width: 750px) {
    .pm-wrap { margin: 50px 0; }
}

@media screen and (max-width: 380px) {
    .pm-wrap { margin: 45px 0; }
    .pm-wrap .container { margin-bottom: 30px; }
}

@media screen and (max-width: 360px) {
    .pm-wrap .container { margin-bottom: 25px; }
}


/* = Boxes & Cards 
----------------------------------------------------------------------------------------------------------------- */
.welcome-box { top: -110px; max-width: 1400px; margin: 0 auto; background: #fff; position: relative; -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12); z-index: 1; }
.welcome-box > div { float: left; width: 50%; }
.welcome-box .b-text { padding: 60px 80px; position: relative; }
.welcome-box .b-text p:last-of-type { margin-bottom: 0; }
.welcome-box .b-img { position: absolute; top: 0; left: 50%; width: 50%; height: 100%; background-size: cover; background-position: 50%; }

.cta-boxes { position: relative; }
.cta-boxes .cta-item { height: 0; position: relative; overflow: hidden; background: #313131; }
.cta-boxes .cta-item a { display: block; }
.cta-boxes .cta-item a:hover .btn--trans { color: #122035; border-color: #f9b400; background: #f9b400; }
.cta-boxes .cta-item:last-child { margin-right: 0; }
.cta-boxes .cta-item .cta-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; background-size: cover; background-position: center; -webkit-transform: translateZ(0) scale(1.0, 1.0); transform: translateZ(0); -webkit-transition: transform .3s ease; transition: transform .3s ease; }
.cta-boxes .cta-item .cta-img:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, #000000 100%); background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%,#000000 100%); background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%,#000000 100%); }

.cta-boxes .cta-content { position: absolute; padding: 0 15px; left: 0; width: 100%; bottom: 50%; -ms-transform: translateY(50%); -webkit-transform: translateY(50%); transform: translateY(50%); text-align: center; z-index: 1; }
.cta-boxes .cta-content h3 { max-width: 85%; padding-bottom: .7em; margin-bottom: .95em; margin-left: auto; margin-right: auto; color: #fff; position: relative; }
.cta-boxes .cta-content h3:after { content: ''; position: absolute; bottom: 0; left: 50%; width: 2em; margin-left: -1em; height: .175em; background: #f49a00; }
.cta-boxes .btn { font-size: 12px; }
.cta-boxes .btn + .btn { margin-left: 10px; }

.cta-boxes--x2 .cta-item { width: 49%; padding-bottom: 23.5%; margin-right: 2%; }
.cta-boxes--x4 .cta-item { width: 23.5%; padding-bottom: 23.5%; margin-right: 2%; }

.number-card { float: left; padding: 0 40px; width: calc(33.333% - 124px); margin: 10px 0; border-left: 9px solid #c5c5c5; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }
.number-card:last-child { width: 372px; padding-right: 0; }
.number-card .nc-number { margin-top: -20px; margin-bottom: 20px; font-size: 84px; font-family: 'Playfair Display', serif; color: #f49a00; }
.number-card .nc-desc { max-width: 180px; line-height: 1.2em; color: #b2b2b2; }
.number-card .nc-year { color: #122035; font-size: 18px; font-weight: 600; }
.number-card .nc-title { max-width: 180px; margin-bottom: 25px; font-size: 34px; font-family: 'Playfair Display', serif; color: #f49a00; line-height: 1; }
.number-card ul { margin: 0; line-height: 1em; color: #a9a9a9; }

.contact-card { max-width: 700px; margin: 60px auto; padding: 40px 45px; color: #fff; background: #122035; position: relative; }
.contact-card:last-of-type { margin-bottom: 0; }

.contact-card .cc-img { position: absolute; width: 160px; height: 160px; top: 50%; overflow: hidden; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); background: #ccc; border-radius: 50%; }
.contact-card .cc-img img { position: absolute; top: 0; height: 100%; width: auto; max-width: none; left: 50%; -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.contact-card .cc-desc { margin-left: 210px; }
.contact-card .cc-email { color: #F9B400; }

.contact-card p,
.contact-card h5,
.contact-card .cc-tel { margin: 0 0 4px; color: #fff; }

.contact-card .cc-title { margin-bottom: 20px; }
.contact-card .cc-job { margin-bottom: 10px; }

.contact-card .cc-eMob { display: none; }
.contact-card .icon:before { padding-right: 8px; width: 24px; }
.contact-card .icon--mailAlt:before { font-size: .9em; }
.contact-card .icon--mobile:before { font-size: 1.3em; }

@media screen and (min-width: 961px) {
    .cta-boxes .cta-content h3 { font-size: 36px; font-size: 2vw; }
}

@media screen and (min-width: 1025px) {
    .cta-boxes .cta-item a:hover .cta-img { -ms-transform: scale(1.05); -webkit-transform: scale(1.05); transform: scale(1.05); }
}

@media screen and (min-width: 1301px) {
    .welcome-box .b-text--btn { padding-bottom: 100px; }
    .welcome-box .b-text .btn { padding: 30px 60px; position: absolute; bottom: 0; right: 0; }

    .contact-card + h2 { margin-top: 80px; }
}

@media screen and (min-width: 1401px) {
    .cta-boxes .cta-item a:hover .cta-img { -ms-transform: scale(1.035); -webkit-transform: scale(1.035); transform: scale(1.035); }
}

@media screen and (max-width: 1600px) {
    .welcome-box { width: auto; margin-left: 100px; margin-right: 100px; }
    .welcome-box .b-text { padding: 50px 60px; }
    .welcome-box .b-text--btn { padding-bottom: 90px; }
}

@media screen and (max-width: 1400px) {
    .welcome-box { margin-left: 80px; margin-right: 80px; }

    .cta-boxes .btn { padding: .8em 1.4em .7em; }
}

@media screen and (max-width: 1200px) {
    .welcome-box { margin-left: 60px; margin-right: 60px; }

    .cta-boxes .btn + .btn { margin-left: 6px; }
    .cta-boxes .btn { font-size: 11px; padding: .7em 1.2em .6em; }

    .number-card { padding: 0 30px; border-left: 7px solid #c5c5c5; }
    .number-card .nc-number { font-size: 76px; margin-bottom: 15px; }
    .number-card .nc-desc { font-size: 20px; }
    .number-card ul { font-size: 18px; }
    .number-card .nc-title { font-size: 32px; margin-bottom: 20px; }
}

@media screen and (max-width: 1060px) {
    .number-card { padding: 0 25px; border-width: 7px; }
}

@media screen and (max-width: 1024px) {
    .welcome-box { margin-left: 50px; margin-right: 50px; }

    .cta-boxes .cta-content { padding: 0 10px; }
    .cta-boxes .btn { font-size: 10px; padding: .5em 1.1em .4em; }
    .cta-boxes .btn + .btn { margin-left: 5px; }

    .number-card,
    .number-card:last-child { width: 25%; }

    .number-card .nc-title { font-size: 30px; margin-bottom: 18px; }
    .number-card ul { font-size: 16px; }
    .number-card ul li { margin-bottom: 8px; }
}

@media screen and (max-width: 960px) {
    .cta-boxes .cta-content { bottom: 50%; }
    .cta-boxes .cta-item { width: 49%; padding-bottom: 32.5%; margin-right: 2%; margin-bottom: 2%; }
    .cta-boxes .cta-item:nth-child(odd) { margin-right: 2%; }
    .cta-boxes .cta-item:nth-child(even) { margin-right: 0; }
    .cta-boxes .cta-item:nth-last-child(-n+2) { margin-bottom: 0; }
    .cta-boxes .btn { font-size: 12px; padding: .8em 1.4em .7em; }
    .cta-boxes .cta-content h3 { max-width: 75%; }
}

@media screen and (min-width: 481px) and (max-width: 960px) {
    .cta-boxes .cta-content h3 { font-size: 3.6vw; }
}

@media screen and (min-width: 851px) and (max-width: 1080px) {
    .welcome-box .b-text { padding: 35px 35px 40px; }
    .welcome-box .b-text h2 { margin-bottom: 20px; }
    .welcome-box .b-text .leader { font-size: 17px; }
}

@media screen and (min-width: 1081px) and (max-width: 1300px) {
    .welcome-box .b-text { padding: 40px 45px 45px; }
    .welcome-box .b-text .leader { font-size: 18px; }
}

@media screen and (max-width: 850px) {
    .welcome-box { margin-left: 40px; margin-right: 40px; }
    .welcome-box > div { float: none; width: 100%; }
    .welcome-box .b-text { padding: 45px 50px 50px; }
    .welcome-box .b-img { display: none; left: 0; width: 100%; position: relative; height: 0; padding-bottom: 60%; }

    .cta-boxes .cta-item { padding-bottom: 35%; }

    .number-card { width: 23%; border-width: 6px; border-width: 0.5vw; padding: 0 20px; }
    .number-card:last-child { width: 31%; }
    .number-card .nc-number { font-size: 8vw; margin-bottom: 8px; }
    .number-card .nc-desc { font-size: 2.1vw; margin-bottom: 15px; }
    .number-card .nc-title { margin-bottom: 12px; font-size: 3.25vw; max-width: 80%; }
    .number-card .nc-year { font-size: 1.8vw; }
    .number-card ul { font-size: 1.75vw; }
    .number-card ul li { margin-bottom: 6px; }
}

@media screen and (max-width: 750px) {
    .cta-boxes .cta-item { padding-bottom: 40%; }

    .number-card { padding: 0 15px; }

    .contact-card { margin: 50px auto; padding: 30px 40px; }
    .contact-card .cc-img { width: 150px; height: 150px; }
    .contact-card .cc-desc { margin-left: 190px; }
}

@media screen and (max-width: 700px) {
    .contact-card .cc-eMob { display: inline-block; }
    .contact-card .cc-eDesk { display: none; }
}

@media screen and (max-width: 600px) {
    .welcome-box { margin-left: 30px; margin-right: 30px; }
    .welcome-box .b-text { padding: 35px 40px 40px; }

    .cta-boxes .cta-item { padding-bottom: 48%; }
    .cta-boxes .cta-content h3 { max-width: 80%; }
    .cta-boxes .btn { font-size: 11px; padding: .7em 1.2em .6em; }

    .number-card:first-child { border: none; }
    .number-card { padding: 0 2% 0 4%; width: 32%; margin-right: 2%; border-width: 2px; text-align: center; }
    .number-card:nth-child(3) { margin-right: 0; padding-right: 4%; }
    .number-card:last-child { width: 100%; margin: 20px 0 0; padding: 20px 20px 0; text-align: left; border: none; border-top: 1px solid #c5c5c5; }

    .number-card .nc-number { font-size: 11vw; }
    .number-card .nc-desc { font-size: 3vw; margin-bottom: 12px; }
    .number-card .nc-title { font-size: 28px; margin-bottom: 20px; max-width: 100%; }
    .number-card .nc-year { font-size: 2.5vw; }
    .number-card ul { font-size: 16px; color: #828282; }
    .number-card ul li { margin-bottom: 10px; }
    .number-card ul li:last-child { margin: 0; }

    .contact-card { padding: 30px 35px; }
    .contact-card .cc-img { width: 130px; height: 130px; }
    .contact-card .cc-desc { margin-left: 160px; }
    .contact-card .cc-title { margin-bottom: 15px; }
    .contact-card .cc-job { margin-top: 5px; margin-bottom: 10px; line-height: 1.3em; }
    .contact-card p { font-size: 15px; }
}

@media screen and (max-width: 560px) {
    .contact-card { padding: 25px 30px; }
    .contact-card .cc-img { width: 120px; height: 120px; }
    .contact-card .cc-desc { margin-left: 150px; }
}

@media screen and (max-width: 520px) {
    .cta-boxes .btn { font-size: 10px; padding: .4em 1em .3em; }

    .contact-card .cc-img { width: 100px; height: 100px; }
    .contact-card .cc-desc { margin-left: 125px; }
    .contact-card p { font-size: 14px; }
    .contact-card .cc-title { margin-bottom: 10px; }

    .contact-card .icon:before { width: 20px; }
}

@media screen and (max-width: 480px) {
    .welcome-box .b-text { padding: 30px 35px 35px; }

    .cta-boxes .cta-item { width: 100%; padding-bottom: 62.5%; }
    .cta-boxes .cta-item:nth-child(odd),
    .cta-boxes .cta-item:nth-child(even) { margin: 0 0 20px; }
    .cta-boxes .cta-item:last-child { margin: 0; }
    .cta-boxes .btn { font-size: 12px; padding: .8em 1.4em .7em; }
    .cta-boxes .btn + .btn { margin-left: 10px; }

    .number-card { padding: 0 0% 0 2%; border-width: 1px; }
    .number-card:nth-child(3) { padding-right: 2%; }
    .number-card:last-child { border-color: #e0e0e0; }
    .number-card .nc-title { font-size: 24px; }
    .number-card .nc-number { font-size: 12vw; }
    .number-card .nc-desc { font-size: 3.5vw; margin-bottom: .6em; }
    .number-card .nc-year { font-size: 3vw; }

    .contact-card { padding: 20px 25px; }
    .contact-card h5 { margin: 0 0 2px; font-size: 18px; }
    .contact-card .cc-desc { margin-left: 90px; }
    .contact-card .cc-img { width: 70px; height: 70px; }
    .contact-card p { margin: 0 0 3px; font-size: 3vw; }
    .contact-card .icon:before { width: 15px; padding-right: 5px; }
}

@media screen and (max-width: 380px) {
    .welcome-box { margin-left: 25px; margin-right: 25px; }
    .welcome-box .b-text { padding: 25px 30px 30px; }

    .cta-boxes .cta-item { padding-bottom: 65%; }

    .number-card:last-child { margin: 16px 0 0; padding: 16px 20px 0; }
    .number-card .nc-title { font-size: 22px; margin-bottom: 16px; }
    .main-content .number-card ul { font-size: 14px; }

    .contact-card { margin: 45px auto; padding: 20px; }
    .contact-card h5 { font-size: 16px; }
}

@media screen and (max-width: 360px) {
    .welcome-box { margin-left: 20px; margin-right: 20px; }
    .welcome-box .b-text { padding: 25px 25px 30px; }

    .number-card:last-child { margin: 14px 0 0;; }

    .contact-card { margin: 40px auto; }
    .contact-card .cc-desc { margin-left: 80px; }
    .contact-card .cc-img { width: 60px; height: 60px; }
    .contact-card p { font-size: 3.4vw; }
    .contact-card .cc-title { margin-bottom: 6px; }
}

@media screen and (max-width: 340px) {
    .cta-boxes .cta-item { padding-bottom: 67.5%; }

    .contact-card { margin: 35px auto; }
    .contact-card .cc-desc { margin-left: 75px; }
    .contact-card .cc-img { width: 55px; height: 55px; }
    .contact-card h5 { font-size: 15px; }
}

/* = Cutom Lists
----------------------------------------------------------------------------------------------------------------- */
.custom-list { list-style: none; margin: 0; padding: 0; }

.custom-list--why li { float: left; width: 31.33333333333333%; margin: 25px 0; margin-right: 3%; padding-left: 80px; position: relative; }
.custom-list--why li span { display: none; }
.custom-list--why li:nth-child(3n+1) { clear: left; }
.custom-list--why li:nth-child(3n+3) { margin-right: 0; clear: right; }
.custom-list--why li:before { content: ''; position: absolute; top: 2px; left: 0; width: 60px; height: 100px; background-size: 60px auto; background-repeat: no-repeat; }
.custom-list--why li p:last-of-type { margin-bottom: 0; }

.custom-list--why li.quality:before { background-image: url(/_img/icons/icon-quality.svg); }
.custom-list--why li.integrity:before { background-image: url(/_img/icons/icon-integrity.svg); }
.custom-list--why li.experience:before { background-image: url(/_img/icons/icon-experience.svg); }
.custom-list--why li.practitioners:before { background-image: url(/_img/icons/icon-practitioners.svg); }
.custom-list--why li.international:before { background-image: url(/_img/icons/icon-international.svg); }
.custom-list--why li.leadership:before { background-image: url(/_img/icons/icon-leadership.svg); }
.custom-list--why li.expertise:before { background-image: url(/_img/icons/icon-expertise.svg); background-size: 44px auto; }
.custom-list--why li.heritage:before { background-image: url(/_img/icons/icon-heritage.svg); background-size: 55px auto; }
.custom-list--why li.flexibility:before { background-image: url(/_img/icons/icon-flexibility.svg); background-size: 52px auto; }

@media screen and (max-width: 1200px) {
    .custom-list--why li { padding-left: 65px; }
    .custom-list--why li:before { width: 50px; background-size: 50px auto; }

    .custom-list--why li.expertise:before { background-size: 34px auto; }
    .custom-list--why li.heritage:before { background-size: 46px auto; }
    .custom-list--why li.flexibility:before { background-size: 44px auto; }
}

@media screen and (max-width: 960px) {
    .custom-list--why li { width: 48%; margin: 20px 0; margin-right: 4%; }
    .custom-list--why li:nth-child(odd) { clear: left; margin-right: 4%; }
    .custom-list--why li:nth-child(even) { clear: right; margin-right: 0; }
    .custom-list--why li:nth-last-child(-n+2) { margin-bottom: 10px; }
}

@media screen and (max-width: 600px) {
    .custom-list--why li { padding: 22px 0 22px 80px; float: none; width: 100%; margin: 0; border-bottom: 1px solid #124384; border-color: rgba(18, 67, 132, 0.5); }
    .custom-list--why li span { display: block; position: absolute; width: 35px; padding-right: 10px; height: 100%; width: 100%; top: 0; right: 0; font-size: 20px; text-align: center; color: #124384; }
    .custom-list--why li span:before { padding-top: 25px; position: absolute; right: 10px; }

    .custom-list--why li:last-child { border: none; }
    .custom-list--why li h4 { margin: 0 0 2px; }
    .custom-list--why li p { display: none; }

    .custom-list--why li.on h4 { margin: 0 0 16px; }
    .custom-list--why li.on p { display: block; }
    .custom-list--why li.on span:before { padding: 0 0 27px; -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); }

    .custom-list--why li:nth-child(odd),
    .custom-list--why li:nth-child(even) { clear: right; margin: 0; }

    .custom-list--why li:before { top: 0; width: 50px; height: 100%; background-size: 40px auto; background-position: 10px center; background-position: 10px 18px; }
    .custom-list--why li.international:before { background-position: 10px 9px; }
    .custom-list--why li.integrity:before { background-position: 10px 17px; }
    .custom-list--why li.quality:before { background-position: 10px 20px; }


    .custom-list--why li.flexibility:before { background-size: 38px auto; }
    .custom-list--why li.heritage:before { background-size: 40px auto; background-position: 10px 14px; }
    .custom-list--why li.expertise:before { background-size: 28px auto; background-position: 13px 13px; }
}

@media screen and (max-width: 380px) {
    .custom-list--why li { padding: 18px 0 18px 70px; }
    .custom-list--why li:before { background-size: 35px auto; background-position: 10px 18px; }
    .custom-list--why li span:before { padding-top: 22px; }

    .custom-list--why li.flexibility:before { background-size: 32px auto; background-position: 11px 17px; }
    .custom-list--why li.heritage:before { background-size: 33px auto; background-position: 10px 13px; }
    .custom-list--why li.expertise:before { background-size: 24px auto; background-position: 14px 11px; }
}

@media screen and (max-width: 360px) {
    .custom-list--why li span { font-size: 18px; }
    .custom-list--why li.on span:before { padding: 0 0 23px; }
}

/* = Courses
----------------------------------------------------------------------------------------------------------------- */
.template--1col.template--1col-nobg .section--top .container { padding: 0; background: transparent; }

.course-card { display: block; width: 32%; margin-right: 2%; float: left; padding: 65px 30px 80px; margin-bottom: 35px; background: #fff; -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); position: relative; -webkit-transition: box-shadow .2s ease; transition: box-shadow .2s ease; }
.course-card:hover { -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25); }

.course-card:last-child { margin-right: 0; }
.course-card a { display: block; }
.course-card .cc-date { position: absolute; width: 120px; padding: 13px 15px; top: 0; right: 0; color: #fff; background: #122035; font-family: 'Montserrat', sans-serif; text-align: center; font-weight: 600; }
.course-card .cc-details { position: absolute; bottom: 0; left: 0; width: 100%; border-top: 1px solid #f49a00; line-height: 1.5em; }
.course-card .cc-btn { display: block; text-align: center; padding: 12px 30px; color: #122035; border-color: #fff; background: #fff; }
.course-card .cc-price { position: absolute; padding: 9px 20px; bottom: 0; right: 0; height: 100%; font-size: 18px; color: #fff; background: #f49a00; }
.course-card .cc-price span { font-size: 14px; font-weight: 300; }
.course-card .cc-price .cc-from { display: block; line-height: 1; font-size: .55em; text-transform: uppercase; }
.course-card .cc-date-mob { display: none; font-family: 'Montserrat', sans-serif; }

.course-list .cl-item { min-height: 78px; margin-bottom: 20px; background: #fff; line-height: 1.25em; position: relative; -webkit-transition: box-shadow .2s ease; transition: box-shadow .2s ease; }
.course-list .cl-view { min-height: 78px; max-width: calc(100% - 168px); -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
.course-list .cl-view a { display: table; width: 100%; height: 100%; }
.course-list .cl-item:hover { -webkit-box-shadow: 0 0 20px 0px rgba(18, 32, 53, 0.2); box-shadow: 0 0 20px 0px rgba(18, 32, 53, 0.2); }
.course-list .cl-view div { display: table-cell; vertical-align: middle; }
.course-list .cl-title { color: #124384; font-size: 18px; padding: 13px 30px; font-weight: 600; }
.course-list .cl-cats { font-size: 14px; line-height: 1.25; width: 290px; padding: 13px 30px 13px 0; }
.course-list .cl-dateLoc { width: 300px; padding: 13px 30px; border-left: 1px solid #ccc; }
.course-list .cl-dateLoc--wider { width: 350px; }
.course-list .cl-date { font-weight: 600; }
.course-list .btn { width: 168px; max-height: 78px; padding: 18px 30px; display: -ms-flexbox; display: -webkit-flex; display: flex; }
.course-list .btn span { width: 100%; -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; text-align: center; }

.course-filter { margin-bottom: 40px; position: relative; }
.course-filter input:not(.btn),
.course-filter select { height: 45px; border-color: #fff; }
.course-filter input:not(.btn):focus { border-color: #f49a00; }

.course-filter input { cursor: pointer; }
.course-filter label { text-transform: uppercase; width: auto; margin-right: 15px; display: inline-block; font-size: 15px; font-weight: 600; font-family: 'Montserrat', sans-serif; }
.course-filter .cf-dateRange { float: left; }
.course-filter .cf-subject { margin-left: 30px; float: left; width: calc(100% - 480px); }
.course-filter .cf-subject .select { width: calc(100% - 170px); }

.course-filter .cf-dateRange div { position: relative; }

.course-filter .cf-subject .select,
.course-filter .cf-dateRange div { display: inline-block; }
.course-filter .cf-dateRange div { width: 150px; }

.course-filter .cf-dsWrap { float: left; /*width: calc(100% - 190px);*/ }
.course-filter .cf-search { /*position: absolute;*/ float: left; top: 0; right: 0; margin-left: 20px; }
.course-filter .cf-search .btn { padding: 8px 20px; width: 168px; font-size: 15px; height: 45px; }

.course-view .cv-main { width: calc(100% - 340px); float: left; }
.course-view .cv-aside { width: 300px; float: right; }
.course-view .cv-keyInfo { text-align: right; }
.course-view .cv-keyInfo .icon:before { padding-right: 8px; color: #f49a00; }
.course-view .cv-datLoc { color: #124384; }
.course-view .cv-tags p { line-height: 1.3em; }

.course-view .cv-trainer,
.course-view .cv-agenda { color: #122035; font-size: 14px; margin: 12px 0; font-weight: 600; text-transform: uppercase; font-family: 'Montserrat', sans-serif; }

.course-view .cv-trainer a,
.course-view .cv-agenda a { margin-left: 5px; color: #124384; font-size: 17px; text-transform: capitalize; font-family: 'Open Sans', sans-serif; }

.course-view .cv-trainer a:hover,
.course-view .cv-agenda a:hover { color: #f49a00; }
.course-view .cv-agenda .icon:before { padding-right: 4px; font-size: .9em; }

.course-view .cv-box { margin: 30px 0; padding: 25px; background: #E9EEF4; }
.course-view .cv-priceGroup { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #ccc; }
.course-view .cv-priceGroup:last-child { margin: 0; padding: 0; border: none; }
.course-view .cv-priceGroup p:first-child { margin-bottom: 6px; font-size: 15px; font-weight: 600; color: #124384; font-family: 'Montserrat', sans-serif; }
.course-view .cv-box p { font-weight: 400; }
.course-view .cv-more { padding: 2px 0; font-size: 13px; float: right; width: calc(100% - 110px); line-height: 1.25; }
.course-view .btn--price { width: 105px; text-align: center; }
/* .course-view .cv--book { margin-bottom: 20px; } */
.course-view .cv--book .btn { width: 100%; text-align: center; }
.course-view .cv-prices-wrap p,
.course-view .cv-prices-toggle { margin-bottom: 10px; }
.course-view .cv-aside small a { color: #124384; }

@media screen and (min-width: 1025px) {
    #page-courseview .hero--default .hero-content h1 { font-size: 42px; }
}

@media screen and (min-width: 1401px) {
    #page-courseview .hero--default .hero-content h1 { font-size: 44px; }
}

@media screen and (max-width: 1200px) {
    .course-list .cl-cats { width: 250px; }

    /*.course-filter .cf-subject { width: calc(100% - 345px); }
    .course-filter .cf-subject .select { width: 100%; }
    .course-filter label { margin: 0; display: block; }
    .course-filter .cf-search { top: auto; bottom: 0; }*/
}

@media screen and (max-width: 1060px) {
    .course-card .cc-btn span { display: none; }

    .course-list { display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
    .course-list .cl-item { float: left; display: block; width: 49%; margin: 0 2% 2% 0; padding: 30px 30px 100px; line-height: 1.4em; }
    .course-list .cl-item:nth-child(even) { margin-right: 0; }
    .course-list .cl-view { max-width: 100%; }
    .course-list .cl-view div { display: block; width: 100%; padding: 0; }
    .course-list .cl-title { font-size: 20px; margin-bottom: 15px; }
    .course-list .cl-cats { width: 220px; line-height: 1.4em; }
    .course-list .cl-dateLoc { border: none; margin: 15px 0; font-weight: 600; }
    .course-list .btn { position: absolute; bottom: 30px; padding: 16px 28px; }

    .course-view .cv-main,
    .course-view .cv-aside { width: 100%; float: none; }
    .course-view .cv-keyInfo { text-align: left; }
    .course-view .cv-prices-toggle { position: relative; margin: 0; }
    .course-view .cv-prices-toggle:after { content: '\e80d'; position: absolute; right: 0; top: 7px; color: #124384; }
    .course-view .cv-prices-toggle.on:after { content: '\e80e'; }
    .course-view .cv-prices-wrap { max-height: 0; overflow: hidden; }
    .course-view .cv-prices-wrap.on { margin-top: 20px; max-height: 400px; overflow: visible; }
    .course-view .cv-prices-wrap > div { float: left; width: 33.333%; border: none; text-align: center; margin: 0; padding: 0; }
    .course-view .cv-priceGroup p:last-child { margin-bottom: 5px; }
    .course-view .cv-more { font-size: 11px; display: block; float: none; width: 100px; margin: 2px auto 0; }
    .course-view .cv-contact { margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px solid #dedede; }
}

@media screen and (max-width: 850px) {
    .course-card { width: 100%; margin: 0 0 30px; padding: 35px 35px 80px; float: none; }
    .course-card:last-child { margin-bottom: 35px; }
    .course-card .cc-details { border-top-color: #d8e3e8; }
    .course-card .cc-btn { padding: 0 30px; line-height: 47px; }
    .course-card .cc-btn span { display: inline-block; }
    /*.course-card .cc-date { display: none; }*/

    .course-card .cc-date { position: relative; margin-bottom: 15px; padding: 0 0 10px; width: 100%; background: none; color: #124384; border-bottom: 1px solid #d8e3e8; text-align: left; }

    .course-card .cc-price { min-width: 140px; text-align: center; }
    .course-card .cc-date-mob { display: inline-block; position: absolute; right: 140px; height: 100%; padding: 0 20px; line-height: 48px; min-width: 140px; text-align: center; color: #fff; background: #122035; }

    .course-list .cl-item { padding: 25px 25px 85px; }
    .course-list .cl-dateLoc { border: none; margin: 12px 0; }
    .course-list .btn { position: absolute; width: 160px; bottom: 25px; padding: 12px 26px; }

    .course-filter .cf-dsWrap { width: calc(100% - 140px); }
    .course-filter .cf-dateRange div { width: 145px; }
    .course-filter .cf-subject { margin-left: 20px; width: calc(100% - 315px); }
    .course-filter .cf-search .btn { width: 120px; }
}

@media screen and (max-width: 750px) {
    .course-filter .cf-dateRange,
    .course-filter .cf-subject { width: 100%; margin: 0; }
    /*.course-filter .cf-dateRange { margin-bottom: 15px; }*/
    .course-filter .cf-subject .select { display: block; }
    .course-filter .cf-dateRange div { float: left; width: 48%; margin-right: 4%; }
    .course-filter .cf-dateRange div:last-child { margin: 0; }

    .course-filter .cf-search { top: auto; bottom: 0; position: absolute; }
    .course-filter label { margin: 0; display: block; }
}

@media screen and (max-width: 600px) {
    .course-card .cc-btn span { display: none; }
    .course-card .cc-price { min-width: 120px; font-size: 16px; padding: 10px 20px; }
    .course-card .cc-price span { font-size: 13px; }
    .course-card .cc-date-mob { min-width: 100px; right: 120px; }

    .course-list { display: block; }
    .course-list .cl-item { float: none; width: 100%; margin: 0 0 15px; padding: 25px 25px 88px; line-height: 1.5em; }
    .course-list .cl-item:last-child { margin: 0; }
    .course-list .btn { width: 150px; margin-bottom: 4px; padding: 12px 24px; }

    .course-filter label { font-size: 14px; }
    .course-filter input:not(.btn),
    .course-filter select,
    .course-filter .cf-search .btn { height: 44px; }
}

@media screen and (max-width:560px) {
    .course-view .cv-prices-wrap.on { margin-top: 15px; }
    .course-view .cv-prices-wrap > div { width: 100%; text-align: left; }
    .course-view .cv-more { width: calc(100% - 110px); font-size: 12px; display: inline-block; vertical-align: middle; margin: 0 0 0 5px; }
    .course-view .cv-priceGroup:last-child p:last-child { margin-bottom: 0; }
}

@media screen and (max-width:480px) {
    .course-view .cv-trainer, .course-view .cv-agenda { margin: 10px 0; font-size: 13px; }
    .course-view .cv-trainer a, .course-view .cv-agenda a { font-size: 15px; }
    .course-view .cv-prices-wrap p { margin-bottom: 6px; }
    .course-view .cv-contact p:first-child { margin-bottom: 15px; }

    .course-filter .cf-dsWrap { width: 100%; }
    .course-filter .cf-subject { width: calc(100% - 120px - 4%); }

    .course-filter .cf-search { position: relative; margin: 10px 0 0; width: 100%; }
    .course-filter .cf-search .btn { width: 100%; }
}

@media screen and (max-width: 440px) {
    .course-card .cc-btn { line-height: 46px; }
    .course-card .cc-price { min-width: 110px; padding: 10px 16px; }
    .course-card .cc-date-mob { right: 110px; font-size: 15px; padding: 0 16px; line-height: 46px; }

    .course-filter { margin-bottom: 35px; }

    .course-list .cl-dateLoc--wider { font-size: 14px;}
}

@media screen and (max-width: 400px) {
    .course-list .cl-dateLoc--wider { font-size: 13px;}
}

@media screen and (max-width: 380px) {
    .course-card { padding: 30px 30px 80px; margin-bottom: 25px; }
    .course-card .cc-price { min-width: 105px; }
    .course-card .cc-date-mob { min-width: 90px; right: 105px; font-size: 14px; }

    .course-filter { margin-bottom: 30px; }
    /*.course-filter .cf-dateRange { margin-bottom: 10px; }*/
    .course-filter label { font-size: 13px; }

    .course-view .cv-box { margin: 25px 0; padding: 20px; }
    .course-view .cv-more { float: right; font-size: 11px; padding: 4px 0; }
    .course-view .cv-prices-wrap.on { margin-top: 10px; }

    .course-list .btn { padding: 12px 22px; }

    .course-filter .cf-search .btn { padding: 7px 20px; font-size: 12px; }
    .course-filter input:not(.btn),
    .course-filter select,
    .course-filter .cf-search .btn { height: 37px; }
}

@media screen and (max-width: 360px) {
    .course-card { padding: 30px 25px 75px; }
    .course-card .cc-btn { padding: 0 25px; line-height: 44px; }
    .course-card .cc-price { font-size: 15px; }
    .course-card .cc-date-mob { font-size: 14px; line-height: 44px; }

    .course-list .cl-item { padding: 20px 20px 80px; }
    .course-list .btn { bottom: 20px; }
}

@media screen and (max-width: 340px) {
    .course-card .cc-btn { padding: 0 16px; }
    .course-card .cc-price { min-width: 100px; }
    .course-card .cc-date-mob { right: 100px; }

    .course-view .cv-box { margin: 20px 0; padding: 20px 15px; }
    .course-view .btn--price { width: 90px; }
    .course-view .cv-more { width: calc(100% - 100px); }
}

/* = Agenda
----------------------------------------------------------------------------------------------------------------- */
.agenda dt { margin: 0 0 10px; min-height: 45px; padding: 10px 15px 10px 115px; font-weight: normal; position: relative; background: #ebf0f6; }
.agenda dt span { position: absolute; top: 0; left: 0; width: 100px; padding: 8px; height: 45px; text-align: center; font-size: 16px; color: #fff; background: #124384; }
.agenda p,
.agenda ul,
.agenda ol { font-weight: normal; margin-bottom: 10px; line-height: 1.5em; }

.agenda ul { margin: 15px 0; }
.agenda ul:first-child { margin-top: 0; }
.agenda ul:last-child { margin-bottom: 0; }

.agenda strong { font-weight: 700; }

.agenda ul li,
.agenda ol li { margin-bottom: 5px; }

.speaker-link {text-decoration: underline; cursor: pointer; color:#124384;}
.speaker-link:hover { text-decoration: underline; color:#1b9871; }


@media screen and (max-width: 480px) {
    .agenda dt { padding: 50px 15px 10px 15px; }
    .agenda dt span { width: 90px; height: 38px; line-height: 38px; font-size: 15px; padding: 0; }
}


/* = Speakers
---------------------------------------------------------------------------------------------- */
.speaker-card {float:left; width:calc(50% - 15px); margin: 30px 30px 0 0; padding:25px 20px; background: #E9EEF4; position: relative; }
.speaker-card:nth-child(even) {margin-right: 0; clear:right; }
.speaker-card:nth-child(odd) { clear:left; }
.speaker-card:nth-child(-n+2) {  margin-top:0; }

.speaker-card .sc-img { width:100px; float: left; height: 100px;  overflow: hidden; -webkit-border-radius: 50%; border-radius: 50%; margin-right:20px; text-align: center; position: relative;} 
.speaker-card .sc-img img { position: absolute; object-fit: cover; min-height: 100%;  min-width: 100%;   max-height: 100%; max-width: none; width: auto; top:50%; left:50%; -webkit-border-radius: 50%; border-radius: 50%;  -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } 
.speaker-card .sc-content { float:left;  width:calc(100% - 120px); }
.speaker-card .sc-desc {display: none; }
.speaker-card .sc-name { margin-bottom: 10px; }
.speaker-card .sc-title { font-size: 14px; }

.speaker-card--hasBio { cursor: pointer;} 
.speaker-card--hasBio:after  {     content: '\e81f';width: 16px;height: 16px;position: absolute;top: 12px;right: 12px;display: block;    color: #124384;} 
.speaker-card--hasBio:hover:after { color:#1b9871; } 

.modal .sc-content  {float:left; width:calc(100% - 220px); }
.modal .sc-content .sc-desc { margin-top:30px;}

.modal .sc-img  {  float: left; max-width: 150px; margin: 5px 20px 20px 0;  }
.modal .sc-img img {max-width: 100%; }

@media screen and (min-width:851px) {
    .modal .sc-name  {font-size: 22px;}
    .modal .sc-img  {  max-width: 200px;  }
}

@media screen and (max-width:1024px) {
    .speaker-card { width:calc(50% - 10px); margin: 20px 20px 0 0;  padding:20px; }
    .speaker-card  .sc-img { width:80px; height: 80px;  margin-right:15px;} 
    .speaker-card  .sc-content {  width:calc(100% - 95px); }
}

@media screen and (max-width:750px) {
    .speaker-card { width:100%; margin: 20px 0 0 0; }
    .speaker-card:nth-child(-n+2) {  margin-top:20px; }
    .speaker-card:first-child {margin:0; }
}

@media screen and (max-width:600px) {
    .modal .sc-name  {font-size: 20px;}
    .modal .sc-img  { float:none; max-width: 260px; margin:10px auto 25px;     text-align: center;  }
    .modal .sc-content  {float:none; width:100%;  }
 }


@media screen and (max-width:480px) {
      .speaker-card  .sc-img { width:70px; height: 70px;  margin-right:15px;} 
    .speaker-card  .sc-content {  width:calc(100% - 85px); }
    .speaker-card .sc-name {   margin-bottom: 6px;  }
    .speaker-card--hasBio:after { width: 14px;height: 14px;top: 10px;right: 10px;color: #a4d8d3;font-size: 14px; }

    .modal .sc-content .sc-desc {margin-top: 25px;}
}

@media screen and (max-width:400px) {
    .speaker-card {  padding:15px; }
    .speaker-card  .sc-img { width:65px; height: 65px;  margin-right:12px;} 
  .speaker-card  .sc-content {  width:calc(100% - 78px); }
  .speaker-card  .sc-title {font-size: 13px;}
  .speaker-card:nth-child(-n+2) {  margin-top:15px; }
  .speaker-card:first-child {margin:0; }
}

@media screen and (max-width:340px) {
    .speaker-card  .sc-img { width:60px; height: 60px;  margin-right:10px;} 
  .speaker-card  .sc-content {  width:calc(100% - 70px); }
  .speaker-card .sc-name { margin-bottom: 5px; }
}



/* = Case studies
----------------------------------------------------------------------------------------------------------------- */
.case-card { display: block; width: 32%; margin-right: 2%; margin-bottom: 2%; float: left; padding: 30px 30px 95px; background: #fff; -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); position: relative; -webkit-transition: box-shadow .2s ease; transition: box-shadow .2s ease; }
.case-card:nth-child(3n+3) { margin-right: 0 }
.case-card p { font-size: 16px; }
.case-card .cc-more { position: absolute; left: 0; bottom: 10px; padding: 12px 30px; color: #122035; border-color: #fff; background: #fff; }
.case-card .cc-img { position: absolute; height: 80px; width: 140px; right: 15px; bottom: 15px; float: right; background-size: contain; background-repeat: no-repeat; background-position: center; }
.case-card:hover .btn { color: #f49a00; }

.casestudy-filter { margin: 0 0 30px; text-align: center; }
.casestudy-filter a { position: relative; margin: 0 5px; display: inline-block; padding: 5px 37px 5px 10px; color: #fff; text-transform: uppercase; font-size: 12px; font-weight: 700; background: #124384; }
.casestudy-filter a:before { content: ''; position: absolute; right: 0; top: 0; width: 27px; height: 100%; background: #efefef url(/_img/icons/icon--filter-cross.svg) no-repeat center; }
.casestudy-filter a.on:before { background: #f49a00; }
.casestudy-filter a.on:after { content: ''; position: absolute; left: auto; right: 10px; top: 4px; width: 6px; height: 13px; border: solid #fff; border-width: 0 2px 2px 0; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); }

@media screen and (max-width: 1200px) {
    .case-card .cc-more span { display: none; }
}

@media screen and (max-width: 1024px) {
    .case-card { width: 48.5%; margin-right: 3%; margin-bottom: 3%; }
    .case-card:nth-child(odd) { margin-right: 3%; }
    .case-card:nth-child(even) { margin-right: 0 }
}

@media screen and (max-width: 650px) {
    .case-card,
    .case-card:nth-child(odd) { width: 100%; margin: 0 0 30px; }

    .case-card .cc-more,
    .case-card:hover .btn { left: 25px; bottom: 25px; color: #2a384b; border-color: #2a384b; background: #fff; }
}


@media screen and (max-width: 480px) {
    .casestudy-filter a { margin: 0 2px; padding: 5px 32px 5px 8px; font-size: 10px; }
    .casestudy-filter a:before { width: 24px; }
    .casestudy-filter a.on:after { right: 9px; top: 4px; width: 5px; height: 11px; }
}

@media screen and (max-width: 380px) {
    .case-card,
    .case-card:nth-child(odd) { margin: 0 0 25px; padding: 25px 25px 90px; }
    .case-card p { font-size: 15px; }
    .case-card .cc-img { height: 70px; width: 120px; }
    .case-card .cc-more { padding: 10px 20px; }

    .casestudy-filter { margin: 0 0 25px; }
}

/* = News
----------------------------------------------------------------------------------------------------------------- */
.news-card { width: 32%; margin-right: 2%; float: left; margin-bottom: 35px; background: #fff; -webkit-box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15); box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15); -webkit-transition: box-shadow .3s ease; transition: box-shadow .3s ease; position: relative; }
.news-card:hover { -webkit-box-shadow: 0 15px 25px rgba(0, 0, 0, 0.25); box-shadow: 0 15px 25px rgba(0, 0, 0, 0.25); }
.news-card .nc-inner { display: block; height: 100%; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
.news-card a { position: absolute; top: 0; left: 0; right: 0; width: 100%; height: 100%; }
.news-card:nth-child(3n+1) { clear: left; }
.news-card:nth-child(3n+3) { margin-right: 0; clear: right; }
.news-card:last-child { margin-right: 0; }

.news-card .nc-top { padding: 30px 35px; background: #eaeaea; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; }
.news-card .nc-title { margin-bottom: 0; }
.news-card .nc-date { margin-bottom: 15px; font-size: 15px; color: #124384; font-family: 'Montserrat', sans-serif; }
.news-card .nc-image { height: 0; padding-top: 50%; background: #bbb; position: relative; background-size: cover; background-repeat: no-repeat; background-position: center; }
.news-card .btn { position: absolute; bottom: 0; right: 0; line-height: 1.75em; }
.news-card:hover .btn { background: #f9b400; border-color: #f9b400; }
.news-card .nc-arrow { display: none; }

.news-card--pdf .nc-href { display: none; }
.news-card--pdf:hover .btn--pdf.icon:before { color: #122035; }

.main-news .news-card .nc-top { background: #fff; }

.newsView-date { padding-top: 5px; border-top: 1px solid #ddd; font-family: 'Montserrat', sans-serif; color: #f49a00; }
.newsView-image { margin: 35px 0; position: relative; }
.newsView-image--caseStudy { max-width: 200px; }
.newsView-image span { font-size: .7em; line-height: 1.2; position: absolute; bottom: 0; left: 0; padding: 5px 10px; background: #eee; }

@media screen and (max-width: 1024px) {
    .news-card .nc-top { padding: 25px; }
    .news-card .nc-date { font-size: 14px; margin-bottom: 12px; }
    .news-card .nc-title { font-size: 18px; }
}

@media screen and (max-width: 850px) {
    .news-card { margin-bottom: 30px; }
    .news-card .nc-top { padding: 25px 25px 65px; background: #122035; }
    .news-card .nc-title { color: #fff; font-weight: 400; font-size: 16px; }
    .news-card .nc-date { position: absolute; bottom: 12px; color: #f49a00; }
    .news-card .nc-image { display: none; }
    .news-card .nc-arrow { display: inline-block; width: 40px; height: 40px; position: absolute; background: #fff; line-height: 40px; text-align: center; right: 0; bottom: 0; }

    .main-news .news-card .nc-title { color: #122035; font-weight: 600; }
    .main-news .news-card .nc-arrow { background: #f49a00; color: #fff; }
    .main-news .news-card .nc-date { color: #124384; }

    .news-card--pdf .nc-arrow { display: none; }
    .news-card--pdf:before { content: '\f1c1'; font-family: "dods"; position: absolute; bottom: 0; right: 0; width: 40px; height: 40px; line-height: 40px; background: #124384; color: #fff; text-align: center; font-size: 18px; }
}

@media screen and (max-width: 700px) {
    .news-card { width: 100%; margin: 0px 0 15px; float: none; }
    .news-card:last-child { margin-bottom: 35px; }

    .main-news .news-card:last-child { margin-bottom: 0; }

    .newsView-image { margin: 30px 0; }
}

@media screen and (max-width: 480px) {
    .news-card .nc-title { font-weight: 300; }
    .news-card .nc-top { padding: 25px 25px 60px; }

    .newsView-image { margin: 25px 0; }
    .newsView-image span { padding: 4px 6px; font-size: .6em; }
}

@media screen and (max-width: 380px) {
    .news-card { margin: 0 0 10px; }
    .newsView-image { margin: 20px 0; }
}

@media screen and (max-width: 360px) {
    .newsView-image span { font-size: .5em; }
}

/* = Team 
----------------------------------------------------------------------------------------------------------------- */
.team-member-item { float: left; width: 31.3333%; margin-right: 3%; margin-bottom: 3%; background: #fff; }
.team-member-item:nth-child(3n+3) { margin-right: 0; clear: right; }
.team-member-item:nth-child(3n+1) { clear: left; }

.team-member .zoomHover { background: #ccc; }
.team-member .team-member-img { padding-top: 66%; height: 0; background-size: cover; background-position: 50% 10%; background-repeat: no-repeat; z-index: 1; }
.team-member .team-member-info { padding: 20px 25px; position: relative; background: #fff; }
.team-member .team-member-info a { display: block; color: #58595b; }
.team-member .team-member-info .icon:before { width: 24px; padding-right: 8px; }
.team-member .team-member-info .h4Name { margin-bottom: 10px; }
.team-member .team-member-info h6 { font-size: 1em; margin-bottom: 12px; line-height: 1.3; color: #124384; }
.team-member .team-member-info .email { margin-bottom: 2px; font-size: 0.938em; display: block; }
.team-member .team-member-info .icon:before { color: #f49a00; }
.team-member .team-member-info .tel { font-size: 0.938em; margin-bottom: 8px; clear: both; }
.team-member .team-member-info .mob { font-size: 0.938em; margin-bottom: 8px; }
.team-member .team-member-info .mob:before { font-size: 1.3em; }
.team-member .team-member-desc { margin-top: 25px; display: none; }
.team-member .team-member-desc p:last-of-type { margin-bottom: 0; }
.team-member--modal .zoomHover { cursor: pointer; overflow: hidden; }

.modal .team-member .team-member-desc { display: block; }
.modal .team-member-content .zoomHover { float: left; width: 30%; z-index: 1; }
.modal .team-member-content .team-member-info { float: right; width: 65%; margin: 0; padding: 0; z-index: 0; }
.modal .team-member .zoomHover > div,
.modal .team-member .zoomHover:hover > div { -webkit-transform: none; transform: none; -webkit-transition: none; transition: none; }
.modal .h4Name { margin-bottom: 30px; }
.modal .team-member .team-member-info h6 { padding: 0; margin-bottom: 15px; }

@media screen and (max-width: 1200px) and (min-width: 851px) {
    .team-member .team-member-info .h4Name { font-size: 2vw; }
}

@media screen and (min-width: 1025px) {
    .team-member--modal .team-member-img { -webkit-backface-visibility: hidden; -webkit-transform: translateZ(0) scale(1.0, 1.0); transform: translateZ(0); -webkit-transition: transform .3s ease; transition: transform .3s ease; }
    .team-member--modal .zoomHover:hover .team-member-img { -ms-transform: scale(1.05); -webkit-transform: scale(1.05); transform: scale(1.05); }
}

@media screen and (max-width: 850px) {
    .team-member-item { width: 48%; margin: 0 4% 4% 0; }
    .team-member-item:nth-child(odd) { clear: left; margin-right: 4%; }
    .team-member-item:nth-child(even) { clear: right; margin-right: 0; }
}

@media screen and (max-width: 750px) {
    .team-member .team-member-info { padding: 16px 20px; font-size: .9em; }
    .team-member .team-member-info .h4Name { margin-bottom: 8px; }
    .team-member .team-member-info h6 { margin-bottom: 10px; }

    .modal .team-member .team-member-info h6 { margin-bottom: 10px; }
    .modal .team-member .team-member-desc { margin-top: 20px; }
}

@media screen and (max-width: 650px) {
    .team-member .team-member-info { padding: 14px 16px; }
    .team-member .team-member-info .h4Name { margin-bottom: 6px; font-size: 3.4vw; }

    .team-member .team-member-info .tel,
    .team-member .team-member-info .mob { margin-bottom: 6px; }
    .team-member .team-member-info .icon:before { width: 20px; }

    .modal .team-member .team-member-info .h4Name { font-size: 20px; }
}

@media screen and (max-width: 480px) {
    .team-member-item { width: 48%; margin-right: 4%; }
    .team-member-item:nth-child(odd) { margin-right: 4%; }
    .team-member .team-member-info { padding: 12px 14px; font-size: .8em; }
    .team-member .team-member-info .icon:before { padding-right: 6px; }

    .team-member .team-member-info .icon:before { width: 16px; }

    .modal .team-member .team-member-info h6 { margin-bottom: 10px; }
    .modal .team-member .team-member-desc { margin-top: 18px; }
    .modal .team-member-content .zoomHover { width: 60%; float: none; margin: 0 auto; }
    .modal .team-member-content .team-member-info { float: none; width: 100%; margin: 20px 0 0; }
    .modal .team-member .team-member-info { font-size: .9em; }
}

@media screen and (max-width: 400px) {
    .team-member-item,
    .team-member-item:nth-child(odd) { float: none; width: 100%; margin: 0 0 25px; }
    .team-member-item:last-child { margin-bottom: 0; }
    .team-member .team-member-info .h4Name { font-size: 20px; }
    .team-member .team-member-info { padding: 20px 25px; font-size: 1em; }

    .team-member .team-member-info .icon:before { width: 20px; }
}

@media screen and (max-width: 380px) {
    .modal .team-member-content .zoomHover { width: 70%; }
}

@media screen and (max-width: 340px) {
    .team-member .team-member-info { padding: 20px; }
    .team-member .team-member-info .h4Name { font-size: 19px; }
}

/* = Associates
----------------------------------------------------------------------------------------------------------------- */
.associate-list li { margin-bottom: 30px; }
.associate-list li:first-child { display: none; }
.associate-list .icon { font-weight: 400; }
.associate-list p { max-height: 5.25em; overflow: hidden; position: relative; text-overflow: ellipsis; }
.associate-list p::before,
.associate-list p::after { content: '...'; line-height: 1; position: absolute; right: 0; top: 3em; -ms-wrap-flow: start; }
.associate-list p::after { background: currentColor; color: white; top: auto; }
.associate-list p:last-child { margin-bottom: 0; }

.author-courses .course-list .cl-item { border: 1px solid #ccc; -webkit-transition: all .2s ease; transition: all .2s ease; }
.author-courses .course-list .cl-item:hover { border-color: #eee; }

@supports (-webkit-line-clamp: 3) {
    .associate-list p { -webkit-box-orient: vertical; display: -webkit-box; -webkit-line-clamp: 3; }
    .associate-list p::before,
    .associate-list p::after { content: normal; }
}

/* = Internal banners & Sliders
----------------------------------------------------------------------------------------------------------------- */
.full-banner { padding: 60px 0; }

.contact-banner { background: #222 url(/_img/bg/bg-contact.jpg) no-repeat center; background-size: cover; background-attachment: fixed; position: relative; }
.iOS .contact-banner,
.ie .contact-banner { background-attachment: scroll; }
.contact-banner:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #122035; opacity: 0.6; }
.contact-banner h2 { color: #fff; }
.contact-banner .webForm { max-width: 600px; margin: 0 auto; position: relative; }
.contact-banner .webForm .msgError { position: absolute; top: 0; width: 100%; font-size: .8em; padding: 25px; background: #e84d54; z-index: 1; }
.contact-banner .webForm .msgError:after { content: 'OK'; width: 180px; height: 40px; line-height: 40px; border: 1px solid #fff; margin: 20px auto 0; text-align: center; cursor: pointer; }
.contact-banner .webForm label { display: none; color: #fff; }
.contact-banner .webForm .questTypeSwitch label { font-size: 12px; padding: 0 0 0 35px; display: inline-block; }
.contact-banner .webForm .questTypeSwitch .check { padding: 2px 0 0; position: absolute; top: 0; left: 0; }
.contact-banner .webForm .questTypeSwitch .check input:before { position: relative; top: -2px; }
.contact-banner .webForm .questTypeSwitch .check input.checked:after { top: 1px; }
.contact-banner .webForm .btn { margin: 25px auto 5px; width: 180px; color: #122035; border-color: #D8E3E8; background: #D8E3E8; display: block; }
.contact-banner .webForm input.text,
.contact-banner .webForm textarea,
.contact-banner .webForm select { border-color: rgba(255, 255, 255, 0.575); background: rgba(255, 255, 255, 0.95); }

.testimonials-banner { background: #d8e3e8 }
.testimonials-banner .lSSlideOuter { max-width: 900px; margin: 0 auto; }
.testimonials-banner .lSSlideWrapper { margin-bottom: 40px; }

.slider { list-style: none; }
.slider--testimonials p { text-align: center; line-height: 1.5em; color: #122035; }

.slider--logos li { text-align: center; }
.slider--logos .logo-item { height: 90px; }
.slider--logos--h80 .logo-item { height: 80px; }
.slider--logos--h70 .logo-item { height: 70px; }
.slider--logos--h60 .logo-item { height: 60px; }
.slider--logos .logo-item img { position: absolute; max-height: 100%; top: 50%; left: 50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media screen and (min-width: 751px) {
    .slider--testimonials .leader { font-size: 20px; }
}

@media screen and (min-width: 1025px) {
    .slider--testimonials .leader { font-size: 22px; }
}

@media screen and (min-width: 1201px) {
    .slider--testimonials .leader { font-size: 24px; }
}

@media screen and (min-width: 1401px) {
    .slider--testimonials .leader { font-size: 26px; }
}

@media screen and (max-width: 750px) {
    .full-banner { padding: 50px 0; }
}

@media screen and (max-width: 600px) {
    .testimonials-banner .lSSlideWrapper { margin-bottom: 35px; }
}

@media screen and (max-width: 480px) {
    .full-banner { padding: 42px 0 45px; }
    .contact-banner .webForm .btn { margin-top: 20px; width: 150px; }

    .testimonials-banner .lSSlideWrapper { margin-bottom: 30px; }
}

@media screen and (max-width: 380px) {
    .logo-banner { padding: 36px 0 40px; }

    .testimonials-banner .lSSlideWrapper { margin-bottom: 25px; }
}



.home-portfolio-logos {
    margin:30px 0 0;
    display: flex;
    align-items: center;
    padding:25px 10px;
    background: #fff;
}

.home-portfolio-logos div {
    flex:1;
    padding:0 20px;
}

/* .home-portfolio-logos img {
    height: 120px;
} */


@media screen and (max-width: 900px) {
    .home-portfolio-logos {
     flex-wrap: wrap;
     justify-content: center;

    }

    .home-portfolio-logos div {
        flex:0 0 33.333%;
        max-width: 33.333%;
        padding: 20px;
    }
}

@media screen and (max-width: 600px) {
    .home-portfolio-logos {
     padding: 25px;
    }

    .home-portfolio-logos div {
        flex:0 0 50%;
        max-width: 50%;
        padding: 20px;
    }
}


@media screen and (max-width: 480px) {
    .home-portfolio-logos {
     padding: 25px 20px;
    }

    .home-portfolio-logos div {
        padding: 15px;
    }
}

@media screen and (max-width: 400px) {

    .home-portfolio-logos {
        padding: 15px 20px;
       }

    .home-portfolio-logos div {
        flex: 0 0 100%;
        max-width: 100%;
        border: 1px solid #e6e6e6;
        margin: 10px 0;
   
    }

    .home-portfolio-logos img {
        max-width: 210px;
        max-height: 90px;
        object-fit: contain;
} 
}





/* = Footer content
----------------------------------------------------------------------------------------------------------------- */
footer p,
footer a { color: #dcdcdc; }
footer a:hover { color: #efefef; }

footer hr { margin: 30px 0 15px; border-top: 1px solid rgba(255, 255, 255, 0.35); }

.ft-col { float: left; }

.ft-col--add { width: 425px; }
.ft-col--add p { color: #dcdcdc; }
.ft-col--add p:last-child { margin-bottom: 0; }

.ft-col--links { width: calc(100% - 575px); }
.ft-col--links nav { float: left; width: 50%; font-size: 16px; }
.ft-col--links ul { list-style: none; margin: 0; padding: 0; }
.ft-col--links ul li { margin: 0 0 3px; }
.ft-col--links ul li:last-child { margin-bottom: 0; }

.ft-col--social { width: 150px; }
.ft-col--social a { width: 30px; height: 30px; margin-right: 15px; text-align: center; line-height: 30px; border-radius: 30px; position: relative; display: inline-block; vertical-align: top; color: #122035; background: #fff; -webkit-transition: background .2s ease; transition: background .2s ease; }
.ft-col--social a:hover { color: #122035; background: #f49a00; }
.ft-col--social svg { position: absolute; top: 50%; left: 50%; margin-top: 1px; transform: translate(-50%, -50%); width: 15px; }


.ft-quicklinks:before { content: 'Site Links'; display: block; margin-bottom: 15px; font-weight: 700; }
.ft-otherlinks:before { content: 'Other'; display: block; margin-bottom: 15px; font-weight: 700; }
.ft-col--social:before { content: 'Connect'; display: block; margin-bottom: 15px; font-weight: 700; }

.ftr-p { margin: 0; color: #dcdcdc; font-size: 14px; }
.ft-reg { float: left; }
.ft-reg br { display: none; }
.ft-copy { float: right; }

@media screen and (min-width: 1200px) {
    footer a:not(.icon):hover { color: #f49a00; }
}

@media screen and (max-width: 1080px) {
    .ft-col--add { width: 350px; }
    .ft-col--links { width: calc(100% - 500px); }
}

@media screen and (max-width: 960px) {
    .ft-col--add { width: 325px; }
    .ft-col--links { width: calc(100% - 475px); }

    .ft-col--social { text-align: right; }
    .ft-col--social a { margin: 0 0 0 15px; }

    .ftr-p { float: none; width: 100%; margin-bottom: 4px; }
    .ftr-p:last-child { margin: 0; }
}

@media screen and (max-width: 850px) {
    .ft-col--add { float: none; width: 100%; margin-bottom: 25px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
    .ft-col--add p { float: left; width: 50%; }

    .ft-col--links { width: calc(100% - 100px); }
    .ft-col--social { width: 100px; }
}

@media screen and (max-width: 800px) {
    .ft-reg { margin-bottom: 1px; }

    footer hr { margin: 25px 0 15px; }
}

@media screen and (max-width: 600px) {
    .ft-col--links nav { font-size: 15px; }

    .ft-col--add { padding-bottom: 25px; }
    .ft-col--add p { float: none; width: 100%; font-size: 15px; }
    .ft-col--social { position: absolute; top: 2px; right: 0; }
    .ft-col--social:before { content: none; }
    .ft-col--links { width: 100%; float: none; }
    .ft-col--links ul li { margin: 0 0 4px; }

    .ftr-p { font-size: 13px; }
}

@media screen and (max-width: 400px) {
    footer hr { border-top-color: rgba(255, 255, 255, 0.25); }

    .ft-col--links ul li { margin: 0 0 3px; }
    .ft-col--links nav,
    .ft-col--add p { font-size: 14px; }

    .ft-reg { margin-bottom: 8px; }
    .ft-reg br { display: block; }
    .ftr-p { font-size: 12px; line-height: 1.35em; }

    .ft-quicklinks:before,
    .ft-otherlinks:before { margin-bottom: 12px; }

    .ft-col--social a { width: 26px; height: 26px; line-height: 26px; border-radius: 26px; }
    .ft-col--social a:before { font-size: 14px; vertical-align: top; line-height: 26px; }
}

/* = Cookie
----------------------------------------------------------------------------------------------------------------- */
.cookie-notice { display: none; position: fixed; left: 0; bottom: 0; right: 0; z-index: 9999; font-size: .8em; -webkit-transition: transform .6s ease, opacity .6s ease; transition: transform .6s ease, opacity .6s ease; -ms-transform: translateY(100%); -webkit-transform: translateY(100%); transform: translateY(100%) }
.pageLoaded .cookie-notice,
.no-js .cookie-notice { opacity: 1; -webkit-transition-delay: .5s; transition-delay: .5s; -ms-transform: translateX(0); -webkit-transform: translateX(0); transform: translateX(0) }

.cookie-notice-inner { margin: 0 auto; max-width: 1150px; display: table; background: #333; position: relative; }
.cookie-notice p { line-height: 1.5em; color: #d4d4d4; }
.cookie-notice p:last-child { margin-bottom: 0; }
.cookie-notice .cookie-info { display: table-cell; vertical-align: middle; padding: 25px 30px; }
.cookie-notice .cookie-info .cookie-reject { display: none; }
.cookie-notice .cookie-info .cookie-links a:first-of-type { margin-left: 0; }
.cookie-notice .cookie-info p:first-child { margin-bottom: 8px; }
.cookie-notice .cookie-info a { color: #fff; text-decoration: underline; }
.cookie-notice .cookie-info .cookie-links a { display: inline-block; margin: 0 10px; }
.cookie-notice .cookie-info .cookie-links a:last-of-type { margin-right: 0; }
.cookie-notice .cookie-button { display: table-cell; vertical-align: middle; padding: 25px 30px; min-width: 280px; background: #3d3d3d; text-align: center; }
.cookie-notice .cookie-button .btn { font-size: 13px; padding: 15px 20px 15px 70px; position: relative; text-transform: uppercase; border: 0; color: #122035; background: #f9b400; }
.cookie-notice .cookie-button .btn:before { content: ''; color: #fff; background: #f49a00 url(/_img/icons/cookie-check-blue.svg) no-repeat 50% 50%; position: absolute; left: 0; top: 0; bottom: 0; height: 100%; width: 50px; }

@media screen and (max-width: 770px) {
    .cookie-notice .cookie-info .cookie-links a { display: block; margin: 6px 0 0; }
    .cookie-notice .cookie-info .cookie-links a + span { display: none; }
    .cookie-notice .cookie-info .cookie-reject .cookie-links a { display: inline-block; margin: 5px 10px 0; }
    .cookie-notice .cookie-info .cookie-reject .cookie-links a:first-of-type { margin-left: 0; }
}

@media screen and (max-width: 650px) {
    .cookie-notice .cookie-info { padding: 30px 25px 25px; display: block; }
    .cookie-notice .cookie-button { padding: 0 25px 30px; background: none; display: block; position: absolute; bottom: 0; right: 0; text-align: right; }
    .cookie-notice .cookie-info .cookie-links { width: calc(100% - 220px); min-height: 60px; }
    .cookie-notice .cookie-info .cookie-reject .cookie-links a { margin: 10px 0 0; display: inline-block; width: 44%; }
    .cookie-notice .cookie-button .btn { padding: 12px 15px 12px 65px; }
}

@media screen and (max-width: 420px) {
    .cookie-notice p { font-size: 12px; }
    .cookie-notice .cookie-info { padding: 25px; }
    .cookie-notice .cookie-info .cookie-links { width: 100%; min-height: 0; }
    .cookie-notice .cookie-info .cookie-links a { display: inline-block; margin: 0 10px; }
    .cookie-notice .cookie-info .cookie-reject .cookie-links a { margin: 0 15px 0 0; width: auto; }
    .cookie-notice .cookie-button { position: relative; text-align: left; }
    .cookie-notice .cookie-button .btn { padding: 10px 15px 10px 65px; }
    .cookie-notice .cookie-button .btn:before { width: 42px; }
}

/* = Message
----------------------------------------------------------------------------------------------------------------- */
.hero--msgQueen h1{font-size: 40px; margin-top: 30px}
@media screen and (max-width: 600px){
.hero--msgQueen h1 {font-size: 30px;}
}

/* = POOOL KIS-2884
----------------------------------------------------------------------------------------------------------------- */
#poool-dodsdiversity {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.7);
    }
