﻿/* = Framework
----------------------------------------------------------------------------------------------------------------- */
.container { width: 1240px; margin: 0 auto; position: relative; }
.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: #1c0c00; z-index: 10; }
header .container { width: 1400px; }
footer { padding: 45px 0; color: #fff; background: #1c0c00; }

.main-content { position: relative; }

.section--box { background: #fff; }
.section--top { position: relative; width: 100%; }

.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: 1480px) {
    header .container { width: auto; margin-right: 40px; margin-left: 40px; }
}

@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: 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; }
}

@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; }
}

@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: #1c0c00; }

.template.template--home { margin-top: 0; }

.template--home .section--intro { padding-bottom: 40px; padding-top: 40px }

.template--home .section--top { padding-bottom: 40px; }
.template--home .section--bottom { max-width: 900px; margin: 0 auto; padding: 0 20px }

.template--1col .section--top .container { padding: 45px 0; background: #fff; }
.template--1col .section--bottom { margin: 0 0 40px; }

@media screen and (min-width: 1201px) {
    .template--home .section--intro { padding-bottom: 50px; padding-top: 50px }
}

@media screen and (max-width: 600px) {
    .template--1col .section--top .container { padding: 40px 0; }
}

@media screen and (max-width: 360px) {
    .template { margin-top: 72px; }
}

@media screen and (max-width: 340px) {
    .template { margin-top: 68px; }
}





/* = Logo
----------------------------------------------------------------------------------------------------------------- */
.logo { width: 137px; height: 46px; display: block; background: url(/_img/logo.svg) no-repeat top left; background-size: 137px 46px; }

@media screen and (min-width: 1201px) {
    #homepage .logo { width: 179px; height: 60px; background-size: auto 60px; }
    #homepage.headerSticky .logo { width: 137px; height: 46px; background-size: 137px 46px; }
}

@media screen and (min-width: 1401px) {
    #homepage .logo { width: 215px; height: 72px; background-size: auto 72px; }
    #homepage.headerSticky .logo { width: 137px; height: 46px; background-size: 137px 46px; }
}

@media screen and (max-width: 360px) {
    .logo { width: 119px; height: 40px; background-size: 119px 40px; }
}

@media screen and (max-width: 340px) {
    .logo { width: 107px; height: 36px; background-size: 107px 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: #1c0c00; border-top: 1px solid #1c0c00; -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: #d7d8e0; }
.menu ul li ul li a:hover { color: #ba2257; }
.menu ul li ul li.liOn { font-weight: 400; }

.menu-address p,
.menu-address a { color: #fff; user-select: none; }
.menu-address p span { display: block; margin: 10px 0; }
.menu-address p:last-child { margin-bottom: 0; }
.menu-address .icon--tel:hover { color: #ba2257; }
.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; display: inline-block; margin-right: 14px; color: #728a56; 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: #ba2257; }

@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: 70%; }
    .menu-address { display: table-cell; vertical-align: middle; width: 30%; min-width: 260px; }
    .menu ul li { margin: 30px 0; max-width: 275px; font-size: 26px; line-height: normal; position: relative; }
    .menu > ul > li > a { position: relative; }
    .menu > ul > li > a:hover { color: #ba2257; }
    .menu > ul > li.liOn > a:after { content: ''; position: absolute; left: 0; bottom: -14px; width: 45px; height: 5px; background: #ba2257; }
    .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: 21px; }
}

@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 ul li { max-width: 250px; }
    .menu ul li ul { left: 250px; }
}

@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% - 280px); vertical-align: top; }
    .menu-address { padding: 68px 0 30px; width: 280px; 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: #ba2257; }

    .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.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 { 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; }

    .menu-address p span { margin: 12px 0; }
    .menu-address p span:last-child { margin-bottom: 0; }
}

@media screen and (max-width: 380px) {
    .menu-wrap { padding: 35px 30px; }
    .menu { margin-bottom: 32px; }
    .menu ul li { 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-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 18px; 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; }

    .menu-address p span { margin: 10px 0; }
}

@media screen and (max-width: 320px) {
    .menu-wrap { padding: 26px 30px; }
    .menu ul li { margin: 0 0 16px; 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; }
}

ul.pageNav { margin: 0; padding: 0; border-bottom: 1px solid #ba2257; margin-bottom: 25px; text-align: center; padding-bottom: 10px; }
ul.pageNav li { display: inline; margin-right: 20px }
ul.pageNav li a { text-decoration: underline }

/* = Heros
----------------------------------------------------------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; }
.hero--default { height: 340px; background: #d7d8e0; }
.hero--noImage { height: 300px; }

.hero--home { height: 500px; background: #d7d8e0; }
.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: #d7d8e0; 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.50); }
.hero--noImage .hero-image:after { content: none; }
.hero-content { position: absolute; top: 125px; left: 50%; margin-left: -390px; width: 780px; z-index: 1; text-align: center; }
.hero-content h1 { font-size: 42px; font-weight: 400; line-height: 1.15em; color: #fff; position: relative; }
.hero-content h1:last-child { margin-bottom: 0; }
.hero-content p { color: #fff; max-width: 600px; 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--home .hero-content { top: calc(80px + 10%); }
.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; color: #fff; }
.hero--default .hero-content h1:last-child { padding-bottom: 4px; }
.hero--default .hero-content .hero-subtitle { display: inline-block; margin: 0 0 10px; font-size: .75em; font-weight: 600; text-transform: uppercase; color: #fff; }

@media screen and (min-width: 751px) {
    .hero--default .hero-content h1:after { width: 80px; margin-left: -40px; }
}

@media screen and (max-width: 1400px) {
    .hero-content { margin-left: -300px; width: 600px; }
    .hero-content h1 { max-width: 600px; margin: 0 auto 30px; }
    .hero--home .hero-content { top: calc(80px + 5%); }

    .hero--default { height: 300px; }
}

@media screen and (max-width: 1200px) {
    .hero--default .hero-content h1 { max-width: 650px; }
    .hero--home .hero-content { top: calc(80px + 3%); }
}

@media screen and (max-width: 1024px) {
    .hero-content h1 { font-size: 38px; }
    .hero--default { height: 275px; }
    .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 { height: 250px; }
    .hero--default .hero-content h1 { font-size: 34px; 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: 32px; }
    .hero-content h1:after { width: 80px; margin-left: -40px; }
    .hero--default { height: 240px; }
    .hero--default .hero-content p { line-height: 1.6em; }
    .hero--noImage { height: 275px; }
}


@media screen and (max-width: 600px) {
    .hero-content { margin: 0 30px; }
    .hero-content h1:after { height: 5px; width: 70px; margin-left: -35px; }
    .hero--default { height: 225px; }
    .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: 450px; }
    .hero-content h1 { font-size: 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: 200px; }
    .hero--default .hero-content h1 { font-size: 32px; }
}

@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: 180px; }
}

@media screen and (max-width: 380px) {
    .hero-content { margin: 0 25px; }
    .hero-content h1 { font-size: 25px; }
    .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: 160px; }
    .hero--default .hero-content h1 { font-size: 28px; padding-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-content { margin: 0 20px; }
    .hero-content h1 { font-size: 24px; }
    #page-courseview .hero--default .hero-content h1 { font-size: 23px; }
}

@media screen and (max-width: 350px) {
    .hero--home .hero-content { top: calc(80px + 2.5%); }
    .hero-content h1 { font-size: 22px; margin-bottom: 25px; }
    .hero-content p { font-size: 14px; }
    .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; }
}

@media screen and (max-width: 340px) {
    .hero-content .btn + .btn { margin-left: 8px; }
    .hero-content .btn { font-size: 11px; padding: 6px 12px 5px; }
}


/* = Boxes & Cards 
----------------------------------------------------------------------------------------------------------------- */
.welcome-box { max-width: 1200px; margin: 0 auto; position: relative; }
.welcome-box h2 { text-align: center }
.welcome-box .b-text { width: calc(50% - 20px); margin-right: 40px; float: left; }
.welcome-box .b-img { width: calc(50% - 20px); float: left; }
.welcome-box .b-img img { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; width: 100% }

.cta-boxes {  position: relative; }
.cta-boxes .cta-item { height: 0; position: relative; overflow: hidden; background: #1c0c00; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; }
.cta-boxes .cta-item a { display: block; }
.cta-boxes .cta-item a:hover .btn--trans { color: #fff; border-color: #ba2257; background: #ba2257; }
.cta-boxes .cta-item:last-child { margin-right: 0; }
.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 .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%; }

.contact-card { max-width: 700px; margin: 60px auto; padding: 40px 45px; color: #fff; background: #728a56; 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: #ba2257; }

.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) {
    .contact-card + h2 { margin-top: 80px; }
}

@media screen and (min-width: 1401px) {
    .welcome-box .b-text,
    .welcome-box .b-img { padding: 10px 0; }

    .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 (min-width: 1601px) {
    .cta-boxes { max-width: 1600px;  margin:0 auto; }
    .cta-boxes .cta-content h3 {font-size: 32px;  } 
}

@media screen and (max-width: 1400px) {
    .cta-boxes .btn { padding: .8em 1.4em .7em; }
}

@media screen and (max-width: 1280px) {
    .welcome-box { width: auto; margin-right: 40px; margin-left: 40px; }
}

@media screen and (max-width: 1200px) {
    .cta-boxes .btn + .btn { margin-left: 6px; }
    .cta-boxes .btn { font-size: 11px; padding: .7em 1.2em .6em; }
}

@media screen and (max-width: 1024px) {
    .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; }
}

@media screen and (max-width: 960px) {
    .welcome-box .b-text { width: 100%; float: none; text-align: center; max-width: 750px; margin: 0 auto }
    .welcome-box .b-img { margin-top: 40px; width: 100%; float: none; text-align: center }
    .welcome-box .b-img img { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; width: 100%; max-width: 600px }

    .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 (max-width: 850px) {
    .cta-boxes .cta-item { padding-bottom: 35%; }
}

@media screen and (max-width: 750px) {
    .cta-boxes .cta-item { padding-bottom: 40%; }
    .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-right: 30px; margin-left: 30px; }
    .welcome-box .b-img { margin-top: 35px; }

    .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; }

    .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-img { margin-top: 30px; }

    .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; }

    .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-right: 25px; margin-left: 25px; }

    .cta-boxes .cta-item { padding-bottom: 65%; }
    .contact-card { margin: 45px auto; padding: 20px; }
    .contact-card h5 { font-size: 16px; }
}

@media screen and (max-width: 360px) {
    .welcome-box { margin-right: 20px; margin-left: 20px; }

    .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; }
}

/* = News
----------------------------------------------------------------------------------------------------------------- */
.news-card-wrap { margin-bottom: 40px; }
.news-card-wrap:last-child { margin-bottom: 15px; }

.news-home { max-width: 1024px; margin-bottom: 55px; }

.news-home .news-card-wrap { -webkit-justify-content: center; -ms-flex-pack: center;  justify-content: center; } 


.news-card { width: calc(50% - 15px); margin-right: 30px; float: left; margin-top: 35px; border-radius: 8px; 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(even) {clear: right; margin-right: 0;}
.news-card:nth-child(odd) { clear: left; }
.news-card:last-child { margin-right: 0; }

.news-card .nc-top { padding: 30px 35px; border-radius: 8px 8px 0 0; 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: #ba2257; font-family: 'Montserrat', sans-serif; }
.news-card .nc-image { height: 0; border-radius: 0 0 8px 8px; padding-top: 50%; background: #bbb; position: relative; background-size: cover; background-repeat: no-repeat; background-position: center; }
.news-card .nc-image img { border-radius: 0 0 8px 8px; }

.news-card .btn { position: absolute; bottom: 0; right: 0; min-width: 0; line-height: 1.75em; border-radius: 0 0 8px 0; }
.news-card:hover .btn { background: #ba2257; border-color: #ba2257; }
.news-card .nc-arrow { display: none; }

.news-card--pdf .nc-href { display: none; }
.news-card--pdf:hover .btn--pdf.icon:before { color: #728a56; }

.main-news .news-card .nc-top { background: #fff; }

.newsview { max-width: 750px; margin: 0 auto; }
.newsView-date { font-weight: 600; padding-top: 5px; border-top: 1px solid #d7d8e0; font-family: 'Montserrat', sans-serif; color: #ba2257; }
.newsView-image { width: calc(50% - 25px); margin: 5px 0 25px 25px; position: relative; float: right; }
.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 (min-width:1104px) {
    .news-home { margin-right: auto; margin-left: auto; }
}

@media screen and (min-width: 601px) {
    .news-card:nth-child(-n+2) { margin-top: 0; }
}

@media screen and (max-width: 1320px) {
    .news-home { max-width: 1024px; }
}

@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: 960px) {
    .news-home { margin-bottom: 45px; }
}

@media screen and (max-width: 700px) {
    .main-news .news-card:last-child { margin-bottom: 0; }
    .newsView-image { margin: 30px 0; }

    .newsView-image { width: 100%; float: none; }

    .news-home { margin-bottom: 40px; }
}

@media screen and (max-width: 600px) {
    .news-card-wrap { margin-bottom: 35px; }

    .main-news .news-card:last-child { margin-bottom: 0; }
    .newsView-image { margin: 30px 0; }

    .news-card { width: 100%; float: none; margin: 30px 0 0; }
    .news-card:first-child { margin-top: 0; }
}

@media screen and (max-width: 480px) {
    .news-card-wrap { margin-bottom: 30px; }

    .news-home { margin-bottom: 35px; }

    .newsView-image { margin: 25px 0; }
    .newsView-image span { padding: 4px 6px; font-size: .6em; }
}

@media screen and (max-width: 380px) {
    .newsView-image { margin: 20px 0; }
}

@media screen and (max-width: 360px) {
    .newsView-image span { font-size: .5em; }
}

/* = Team 
----------------------------------------------------------------------------------------------------------------- */
.team-wrap { max-width: 1400px; margin: 0 auto 20px; }
.team-member-item { float: left; width: 31.3333%; margin-right: 3%; margin-top: 3%; background: #ba2257; color: #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: #ba2257; color: #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: 0; color: #fff }
.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: #ba2257; }
.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; background: #fff }
.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; background: #fff; color: #1c0c00 }
.modal .team-member .team-member-info .h4Name { color: #1c0c00 }
.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 (min-width: 851px) {
    .team-member-item:nth-child(-n+3) { margin-top: 0; }
}

@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: 4% 4% 0 0; }
    .team-member-item:nth-child(odd) { clear: left; margin-right: 4%; }
    .team-member-item:nth-child(even) { clear: right; margin-right: 0; }

    .team-member-item:nth-child(-n+2) { margin-top: 0; }
}

@media screen and (max-width: 750px) {
    .team-member .team-member-info { padding: 16px 20px; font-size: .9em; }
    .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 { 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: 600px) {
    .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: 480px) {
    .team-wrap { margin-bottom: 15px; }

    .team-member-item,
    .team-member-item:nth-child(odd) { float: none; width: 100%; margin: 0 0 30px; }
    .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; }
}


/* = Internal banners & Sliders
----------------------------------------------------------------------------------------------------------------- */
.full-banner { padding: 60px 0; }

.contact-banner { background-color: #ba2257; position: relative; }
.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: #728a56; border-color: #d7d8e0; background: #d7d8e0; 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: #d7d8e0 }
.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: #728a56; }

.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; }
}

/* = Footer content
----------------------------------------------------------------------------------------------------------------- */
footer p,
footer a { color: #dcdcdc; }
footer a:hover { color: #efefef; }

footer hr { margin: 30px 0 15px; border-top: 1px solid #efefef;; }

.ft-col { float: left; width: 50%; }
.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: 50%; text-align: right; }
.ft-col--social i { width: 30px; height: 30px; margin-right: 5px; text-align: center; line-height: 30px; border-radius: 4px; display: inline-block; color: #d7d8e0; background: #ba2257; }
.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 (max-width: 960px) {
    .ftr-p { float: none; width: 100%; margin-bottom: 4px; }
    .ftr-p:last-child { margin: 0; }
}

@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 { width: 100%; float: none }

    .ft-col--links nav { font-size: 15px; }
    .ft-col--links ul li { margin: 0 0 4px; }
    .ftr-p { font-size: 13px; }

    .ft-col--social { width: 100%; float: none; margin-top: 15px; text-align: left }
}

@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-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: 4px; }
    .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: #d7d8e0; background: #ba2257; }
.cookie-notice .cookie-button .btn:before { content: ''; color: #fff; background: #ba2257 url(/_img/icons/cookie-check.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; }
}
