:root { --main-color:#51039e; --accent:#a4d9eb }
html { -moz-text-size-adjust:none; -webkit-text-size-adjust:none; text-size-adjust:none }
body { margin:0; padding:0; background:#fff; text-align:left }
body, td, input, select, textarea { font-family:Ubuntu,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif; color:#333; font-size:13px }

a { color:#36f; text-decoration:none }
a:hover, a.ul { text-decoration:underline }
a:visited { color:#36f }
a:hover.neverline { text-decoration:none }
a.nolink { text-decoration:inherit; color:inherit }
.grn, a.grn, a:hover.grn, a:visited.grn { color:#093 }
.black, a.black, a:hover.black, a:visited.black { color:#000 }
.dark, a.dark, a:hover.dark, a:visited.dark { color:#333 }
.darker, a.darker, a:hover.darker, a:visited.darker { color:#222 }
.light, a.light, a:hover.light, a:visited.light { color:#666 }
.blu2, a.blu2, a:hover.blu2, a:visited.blu2 { color:var(--main-color) }
.bluish, a.bluish, a.bluish:visited { color:#399 }
span.quasilink { color:#36f; text-decoration:none; cursor:pointer }
span.quasilink.light { color:#666 }
span:hover.quasilink { text-decoration:underline }
.caps { text-transform:uppercase }
.bold { font-weight:bold }
.dib { display:inline-block }
.centered { text-align:center }
.nowrap { white-space:nowrap }
::placeholder { font-style:italic }

.clink { color:#36f }
.lbluish { color:var(--accent) }
.blue { color:#44f }
.bror, a.bror { color:#f90 }
.brrd { color:#f60 }
.brn { color:#941 }
.g8 { color:#888 }
.ga { color:#aaa }
.red { color:#c00 }
.bred { color:#f44 }
.white { color:#fff }

.sm { font-size:11px }
.sm12 { font-size:12px }
.reg { font-size:13px }
.reg14 { font-size:14px }
.mid { font-size:15px }
.mid16 { font-size:16px }
.tit { font-size:17px }
.bigger { font-size:19px }
.f23 { font-size:23px }
.f31 { font-size:31px }

.lh1 { line-height:1px; padding:0px; font-size:1px }
.rad5 { border-radius:5px }
.rad10 { border-radius:10px }
.cpoint { cursor:pointer }
.ellipse { white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.fs0 { font-size:0px }

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

input.error_highlight,
select.error_highlight,
div.error_highlight,
span.error_highlight,
textarea.error_highlight { border:1px solid #c00 !important }
div.error_msg { font-size:13px; color:#c00 }

.flag { width:23px; height:11px }

.arr90.initial, .arr180.initial { transition:inherit }
.arr90, .arr180 { transition:transform .4s ease-in-out }
.arr90.activated { transform:rotate(90deg) }
.arr180.activated { transform:rotate(180deg) }
.active-area { display:none }
.active-area.activated { display:block }

.top-bar, .top-bar * { box-sizing:border-box }
.top-bar { display:flex; height:56px; padding:4px 0; background:#fff; position:relative }
.top-bar .menu-icon { display:flex; flex-direction:column; justify-content:space-between; flex:none; width:54px; height:48px; padding:14px 13px 14px 17px; cursor:pointer }
.top-bar .menu-icon .bar { width:100%; height:3px; background-color:#aaa }
.top-bar .logo { flex:1; text-align:center; height:48px }
.top-bar .logo img { height:45px; margin-top:2px }
.top-bar .sep { flex:1 }

.top-bar a.careers-link { color:#333; line-height:24px; white-space:nowrap; text-decoration:none; margin-top:10px }
.top-bar .login-link { color:#333; line-height:24px; white-space:nowrap; text-decoration:none; border:1px solid #333; border-radius:3px; padding:0 12px; margin-top:10px; min-width:90px; text-align:center; display:inline-block }
.top-bar .login-link:hover { color:#fff; background:#666 }
.top-bar #user-icon.right-elt { cursor:pointer }
.top-bar #user-icon .icon { width:48px; height:48px; padding:8px }
.top-bar .lang-icon { padding:14px 18px 0 0; font-size:15px; cursor:pointer; text-transform:uppercase }
.top-bar .lang-icon img { width:30px; height:14px; vertical-align:-10% }
.top-bar .right-elt { margin-right:12px }

.top-bar .global-links { display:flex; gap:4px }
.top-bar .top-elt { flex:none; padding:0 6px; cursor:pointer; white-space:nowrap }
.top-bar .top-elt::after { content:""; display:block; margin:4px 0 0 -5px; height:6px; width:calc(100% + 10px); background:var(--accent); transform-origin:center }
.top-bar .top-elt:not(.selected)::after { transform:scaleX(0); transition:transform .2s ease }
.top-bar .top-elt.selected::after, .top-bar .top-elt:hover::after { transform:scaleX(1) }
.top-bar a.top-elt { color:#333; padding-top:13px; font-size:13px; text-decoration:none }

.menu-box { display:flex; gap:32px; font-size:15px }
.menu-box > div:first-child { margin-left:12px }
.menu-box > div:last-child { margin-right:12px }
.menu-box .menu-elt { flex:none; padding:0 6px; cursor:pointer; white-space:nowrap }
.menu-box .menu-elt::after { content:""; display:block; margin:10px 0 0 -8px; height:6px; width:calc(100% + 16px); background:var(--accent); transform-origin:center }
.menu-box .menu-elt:not(.selected)::after { transform:scaleX(0); transition:transform .2s ease }
.menu-box .menu-elt.selected::after, .menu-box .menu-elt:hover::after { transform:scaleX(1) }
.menu-box a.menu-elt { text-decoration:none }

.top-search-outer, .top-search-outer * { box-sizing:border-box }
.top-search-outer { height:50px; background:var(--accent); border-top:1px solid var(--accent) }
.top-search { max-width:760px; width:95%; position:relative; margin:5px auto 0 auto }
#top-search-input { border:none; width:100%; line-height:30px; font-size:14px; padding:4px 18px 4px 50px; color:#666; background:#fff; border-radius:24px }
#top-search-input:focus { outline:0 }
#top-search-input::placeholder { font-style:normal }
#top-search-submit { position:absolute; left:14px; top:10px; width:22px; height:22px; opacity:.5 }
#top-pop-search.completion { width:calc(100% - 36px); max-width:none; text-align:left; left:50%; transform:translateX(-50%) }

.popular-links-outer { border-top:2px solid #aaa; background:#999 }
.popular-links { padding:0 16px }
.popular-links .scroller-outer { margin-left:-8px; margin-right:-8px }
.popular-links .links { padding:24px 0; line-height:1.3; margin-left:-4px; display:grid; grid-template-columns:repeat(auto-fill, minmax(124px, 1fr)); gap:8px 16px }
.popular-links a.one { color:#fff; width:100%; padding:4px; text-decoration:none; border-radius:2px }
.popular-links .one .link { white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.popular-links a.one:hover { background:#888 }
.popular-links .one .sub { font-size:10px; padding:4px 0 }

/* mobe bare */
#no-logo { width:100px; margin-top:2px; height:44px; display:inline-flex; align-items:center; justify-content:center; overflow:hidden; background:#7cc; color:#fff; font-style:italic; line-height:1.3; font-weight:bold; box-sizing:border-box; padding:5px; text-align:center; font-size:10px }

.popup { display:none; transition:transform .2s ease, opacity .2s linear; transform:scale(.5); opacity:0; transform-origin:top center; z-index:300 }
.popup.below-topbar { position:absolute; top:56px }
.popup.pop-left { transform-origin:top left }
.popup.pop-right { transform-origin:top right }
.popup.pop-center { transform-origin:center }
.popup.pop-bottom { transform-origin:bottom center }
.popup.open { display:block !important }
.popup.opened { transform:none; opacity:1 }
.popup.common { background:#fff; width:85%; max-width:350px; border:1px solid #ccc; border-radius:6px; overflow:hidden; margin:80px auto 0 auto; padding:18px 12px; box-sizing:border-box }
.popup#alert-pop { padding:36px; max-width:450px }

#alert-txt { white-space:pre-line }
#alert-row { margin-top:48px; text-align:right }
#alert-ok { font-size:17px; min-width:120px }

/* autocompletion popups - margin/padding hacks to match form-row sizes */
.completion { position:absolute; background:#fff; width:95%; max-width:450px; color:#666; font-size:14px; border:1px solid #aaa; padding:6px; max-height:370px; overflow-y:auto }
.completion .one { line-height:28px; border-bottom:1px solid #eee; margin:0 -6px; padding:4px 10px; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:background-color .1s ease-in-out }
.complete-multiline .completion .one { white-space:normal; overflow:visible; line-height:1.4 }
.completion .one:last-child { border-bottom:none; margin-bottom:-6px }
.completion .one:first-child { margin-top:-6px }
.completion .one.nomatch { font-style:italic }
.completion .one:hover, .completion .one:focus { outline:0; background:#eee }
.completion .one.nomatch:hover, .completion .one.nomatch:focus { outline:0; background:#fff }
.no-outline { outline:0 }

/* Vue transitions, also used by fade_in()/fade_out() */
.realfade-enter-active, .realfade-leave-active { transition:opacity .25s linear }
.fade-enter-active, .fade-leave-active { transition:transform .15s ease, opacity .15s linear }
.slow-enter-active, .slow-leave-active { transition:transform .25s ease }
.slower-enter-active, .slower-leave-active { transition:transform .5s ease }
.fade-enter-from, .fade-leave-to, .slow-enter-from, .slow-leave-to, .slower-enter-from, .slower-leave-to { transform:scale(.5); opacity:0 }
.realfade-enter-from, .realfade-leave-to { opacity:0 }

#modal-cover { display:none; position:fixed; top:0px; left:0px; height:100%; width:100%; background:#000; opacity:.5; z-index:900 }
.modal-container-bare { position:fixed; top:0px; height:100vh; width:100vw; display:flex; align-items:center; justify-content:center; z-index:1000 }
.modal-container { display:none; position:fixed; top:15%; left:0px; width:100%; z-index:1000 }
.modal-container.full { top:0; height:100% }
.modal-container.scrolling { position:absolute; top:0px }

.transient { position:fixed; bottom:48px; right:calc((100vw - min(380px, 95vw)) / 2); background:#666; color:#fff; font-size:15px; padding:10px 20px; border-radius:10px; text-align:center; cursor:pointer; width:380px; max-width:95vw; box-sizing:border-box; opacity:1; transition:right .2s ease, opacity .2s ease }
.transient.appearing { right:-380px }
.transient.fading { opacity:0 }

.halo { transition:background-color .1s ease-in-out; border-radius:24px }
.halo:hover, .halo:focus { background-color:#eee !important }
.hovershadow:hover { box-shadow:0 5px 5px #aaa }

#burgeropen { left:0; width:320px; background:#fff; border:1px solid #ccc; border-left:none; border-top:none; transform-origin:top left }
body.bare #burgeropen { left:0; border-right:1px solid #ccc; border-left:none }
#useropen { right:0px; width:320px; background:#fff; border:1px solid #ccc; border-right:none; border-top:none }
#bare-toptitle, #logos { display:none }

.premium-top { position:sticky; top:0; z-index:200; line-height:24px; padding:12px 5px; background:#fbe5ae; color:#d08911; font-size:14px; text-align:center }
.premium-top a { display:inline-block; line-height:30px; color:#fbe5ae; background:#d08911; padding:0 10px 0 8px; border-radius:5px; font-style:italic; margin-left:10px }
.premium-top a:visited { color:#fbe5ae }

.burger-lang { height:48px; border-bottom:1px solid #eee }
a.burger-langtxt { display:block; line-height:24px; padding:12px 4px 12px 14px; font-size:14px; text-decoration:none !important; color:#666 !important; background-color:#fff; transition:background-color .1s ease-in-out }
.burger-arrow { float:right; box-sizing:border-box; height:48px; width:48px; border-left:1px solid #eee; padding:8px; cursor:pointer; transition:background-color .1s ease-in-out }
.hide, #burger-langs-hidden { display:none }
.burger-one { box-sizing:border-box; height:49px; border-bottom:1px solid #eee; padding-left:14px; font-size:14px; padding-top:15px }
a.burger-one { display:block; line-height:24px; padding:12px 4px 12px 14px; color:#666 !important; text-decoration:none !important; background-color:#fff; transition:background-color .1s ease-in-out }
a.burger-one:hover, a.burger-one:focus, a.burger-langtxt:hover, a.burger-langtxt:focus, .burger-arrow:hover { outline:0; background-color:#eee }

#user-fullname { color:#333; font-size:15px; font-weight:bold }
#user-email { color:#888; font-size:11px }

#userimg-hole { width:38px; height:38px; margin:5px; border-radius:24px; overflow:hidden; position:relative }
#userimg-hole img { position:relative }

#backbox { width:100%; height:48px; background:#ddd; position:relative; text-align:center; color:#444; font-size:18px }
#backbox div { padding-top:14px }
#backbox .arrow { height:48px; width:48px; position:absolute; left:0px; filter:invert(.6) }

#main-outer { padding:.1px 0 36px 0 }
#main-outer.gray, #main-above.gray { background:#f3f3f3 }
#left-col { display:none }
#crumbs { display:none }

.left-col-elt { box-sizing:border-box; width:270px; border:1px solid #ccc; border-radius:5px; margin:0 0 20px 12px; background:white }
#colright-right { display:none }

.share-mobe { display:inline-block }
.share-mobe img { margin:0 2px; vertical-align:middle; cursor:pointer; height:35px; width:35px }
#share-container { margin-bottom:20px; text-align:center }
#share-container2 { margin:15px 0 0 0; text-align:center }

.article-card, .article-card * { box-sizing:border-box }
.article-card { flex:none; width:340px; max-width:100%; height:190px; background:#fff; border:1px solid #ccc; border-radius:15px; padding:0; overflow:hidden; line-height:1.3; text-decoration:none !important }
.article-card .image { background-size:cover; background-position:center center; background-repeat:no-repeat; width:100%; height:100px; overflow:hidden;  }
.article-card .title { padding:12px 14px; font-size:14px; line-height:18px; height:48px; overflow:hidden }
.article-card .meta { padding:12px 14px }

/* login, register */
#thickline { width:100%; height:4px; background:var(--accent) }

.login-wrap { width:600px; max-width:95%; margin:48px auto; text-align:center }
.login-wrap .title { font-size:19px }
.login-form { box-sizing:border-box; width:318px; max-width:93%; margin:40px auto 0 auto; text-align:left; background:#fff; border:2px solid #ccc; padding:36px 24px 20px 24px }
.login-form .label { font-size:14px; color:#666; line-height:24px; margin:10px 0 4px 0 }
.login-form .input input { box-sizing:border-box; background:#fff; border:1px solid #aaa; border-radius:2px; padding:6px; font-size:15px; width:100%; color:#666 }
.login-form .input input:focus { border:1px solid #444; outline:0 }
.login-form .login-button { display:block; width:100%; margin:35px 0 10px 0; font-weight:bold }
.login-form .error { color:#c00; font-size:13px; margin:18px 0; text-align:center }
.login-form .btlink2 { margin-top:32px; text-align:center }

.bil-contact { color:#666; text-align:center; padding:0 15px; margin:20px 0 }

/* footer */
#footer-outer { background:var(--main-color) }
body.bil #footer-outer { background:#e5e5e5 }
#footer-container { padding:10px 18px 15px 0; font-size:11px; color:#fff; max-width:1150px; margin:0 auto }
#footer-container h3 { color:#fff; font-weight:bold; margin:0 0 5px 0; font-size:13px }
#footer-container p { margin:5px 0 }
#footer-links-outer { background:#aaa }
#footer-links { padding:12px 20px; color:#fff; line-height:22px; max-width:1150px; margin:0 auto }
#footer-links a { display:block; text-align:center; white-space:nowrap; overflow:hidden }
#footer-links a, #footer-links a:visited { color:#fff }
#footer-links .block { box-sizing:border-box }
#footer-links .block.b, #footer-links .block.e { display:none }
.footer-link { display:inline }
.footer-link.sep:after { content:" | "; display:inline; color:#fff }
.footer-one { text-align:center; padding:5px 0 0 18px }
.footer-one a { line-height:180%; color:#fff }
.footer-one a:visited { color:#fff }
#footer-logos { text-align:center; padding:18px 0 0 0; margin:48px auto 0 auto; height:52px; overflow:hidden; background:#e5e5e5; border-bottom:14px solid #e5e5e5 }
#footer-logos img { display:inline-block; margin:0 4px; border:1px solid #ccc; height:50px; width:60px }

#bare-footer { background:#fff; padding:24px 16px; font-size:11px; color:#666; border-top:4px solid var(--accent) }
#powered-by { padding:15px 0; margin-left:18px; text-align:center; font-size:9px; color:#666 }
#bil-popj div.popmnu { font-weight:bold; height:24px; padding-top:6px }
#bil-popj div.popmnu:hover { background-color:#fff !important }
#bil-popj .popt { margin:15px 8px; box-sizing:border-box; line-height:24px; padding-right:10px }
#bil-popj td { height:24px; vertical-align:middle }

/* info messages */
div.msg { text-align:center; border:1px solid #666; background:#fff; box-sizing:border-box; padding:8px 14px; color:#333; opacity:0; transition:opacity .5s ease, transform .5s ease-out; transform:translateY(-40px); max-width:540px; margin:24px auto 24px auto; width:80%; border-radius:30px; font-size:14px }
div.msg.shown { opacity:1; transform:none }
div.msg a { text-decoration:underline }

/* scroll arrows */
div.scroll-arrow { display:none; background:#999; width:48px; height:48px; border-radius:24px; box-sizing:border-box; position:absolute; top:calc(50% - 38px); z-index:20; position:absolute; transition:background-color .1s ease-in-out }
div.scroll-arrow:hover { background-color:#777 }
div.scroll-arrow.right { right:4px }
div.scroll-arrow.right div { position:absolute; top:0; left:0; width:14px; height:14px; border-top:4px solid #fff; border-right:4px solid #fff; transform:rotate(45deg); top:14px; left:11px }
div.scroll-arrow.left { left:4px }
div.scroll-arrow.left div { position:absolute; top:0; left:0; width:14px; height:14px; border-top:4px solid #fff; border-left:4px solid #fff; transform:rotate(-45deg); top:14px; left:17px }

/* listings */
#listings-title { min-height:48px; color:#666; font-size:17px; box-sizing:border-box; width:100%; padding:14px 5px; margin:0; font-weight:bold }
#offer-list { position:relative }
.listings-row .listings-inner { box-sizing:border-box; min-height:48px; padding:16px 0px 14px 36px; position:relative; font-size:14px; color:#444; line-height:32px }
.listings-row:last-child { border-bottom:1px solid #ddd }
.listings-row .line2 { padding-right:16px }
.listings-row .line2 .pub-date { display:none; float:right; padding:0 0 0 20px; color:#888; min-width:50px; text-align:center }
.listings-row .flag { position:absolute; top:26px; left:7px }
.listings-row .ap-date { float:right; box-sizing:border-box; padding:8px 12px; color:#666; line-height:20px; text-align:center }
.listings-row .applied { color:#093; padding-top:2px }
.listings-row .heart { float:right; height:24px; width:24px; padding:8px; margin:-2px 4px -8px 4px }
.listings-row.featured div.feat { font-weight:bold }
.listings-row .match { display:none; float:right; background:#0c4; width:12px; height:12px; border-radius:7px; margin:11px 6px 0 12px }
.listings-row .match.yes { background:#0c4 }
.listings-row .match.no { background:#f00 }
.listings-row .tags { color:#444; display:block }
.listings-row .b4-tags { display:none; color:#444 }
.listings-row .snip { color:#888; padding-right:36px }
.listings-row .snip div { float:left }
.listings-row .snip .ellipse { max-width:95% }

.listings-row.bil { background:#f5ddbc }
.listings-row.bil .listings-inner { margin-left:32px; background:#fff }
.listings-row img.school { position:absolute; top:42px; left:-29px; width:24px; height:24px; opacity:.65 }
.listings-row.bil .line2, .listings-row.bil .snip { margin-left:-28px }

#listings-main { background:#fff; overflow:hidden; border-top:1px solid #ccc; border-bottom:1px solid #ccc }
.listings-sep, .listings-deskad { background:#e8e8e8; border-top:1px solid #ccc; border-bottom:1px solid #ccc; height:8px; line-height:1px }
.listings-course { display:block }
.listings-course2  { box-sizing:border-box; height:110px; padding:12px 16px 16px 16px; background:#eef; position:relative; overflow:hidden }
.listings-course2 > img { float:right; padding-left:3px; height:45px; width:66px; display:none }
.listings-course2 > div { visibility:hidden }
.listings-mobead { margin:2px 0; background:#e8e8e8; border-top:1px solid #ccc; border-bottom:1px solid #ccc; padding:8px 0 }
.listings-pager { height:46px; font-size:14px; color:#888; border-bottom:1px solid #ddd; padding-right:4px }
.listings-pager.pager2 { border-bottom:none }
.listings-pager a.pager-but { display:block; float:right; background:#eee; margin:8px 3px 0 3px; padding:0 4px; text-align:center; line-height:28px; min-width:42px; transition:background-color .1s ease-in-out; color:#666; font-size:14px; text-decoration:none; text-align:center }
.listings-pager .pager-but:hover { background-color:#ddd }
.listings-pager .pager-but img { vertical-align:-35% }
.listings-pager .pager-label { display:none }
.listings-pager .pager-text { float:left; margin:15px 0 0 8px }

.listings-empty { max-width:720px; margin:18px auto 30px auto; text-align:center; background:#fffbf7; border:1px solid #f3dbb5; padding:15px; font-size:17px; color:#666; border-radius:5px }
.listings-empty2 { width:75%; max-width:500px; margin:30px auto; text-align:center; border:1px solid #ccc; padding:25px; border-radius:5px; font-size:17px; color:#666; background:#fff }
.pin-button { text-align:center }
.pin-button > span { display:inline-block; padding:8px; font-weight:bold; margin:12px auto }

/* filters */
a[data-facet] { cursor:pointer }
#work-filters { padding:0 15px 0 48px; position:relative }
.filters-fullwidth { margin:0 -25px 15px -58px }
.filters-perso { padding:0 20px 10px 20px; border-bottom:1px solid #ccc }
.filters-perso .box-links a.one { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.filters-one { line-height:18px; padding:7px 0 }
#filters-row { height:48px; background:#e5e5e5; text-align:center; position:relative; cursor:pointer }
.filters-lines { display:inline-block; height:48px; width:40px; position:relative }
.filters-lines div { position:absolute; left:9px; height:2px; background:#666 }
#filters-label { display:inline-block; padding:14px 18px 0 0; vertical-align:top; color:#444; font-size:14px; text-align:left }
#filters-cross { position:absolute; right:6px; top:2px; border:1px solid #666; height:24px; width:24px; cursor:pointer; z-index:1; background:#fff }
#filters-cross:hover { background:#ccc }
#filters-open { display:none; text-align:left; margin:10px 0 20px 0 }
.filters-title { cursor:pointer; font-weight:bold; position:relative; margin-top:8px; color:#666 }
.filters-arrow { position:absolute; top:4px; left:-40px; height:24px; width:24px }
.filters-active { position:relative }
.filters-active img { height:20px; width:21px; position:absolute; top:6px; left:-39px }
.filters-more { color:#888; cursor:pointer }
.filters-select-div { display:none; width:240px; border:1px solid #aaa; overflow:hidden; background:url(/images/mobe/arrow-down-2x.png) no-repeat right #fff; background-size:24px 24px; line-height:26px; margin:2px 0 }
.filters-select { width:270px; border:none; border-radius:0; background:transparent; -webkit-appearance:none; color:#666; padding-left:4px; font-size:14px }
.filters-select, .filters-select option { outline:none }
.filters-button { display:inline-block; color:#888; border:1px solid #888; line-height:30px; border-radius:10px; padding:0 36px; cursor:pointer }
#filters-container { padding:10px; margin-top:30px; display:none }
#filters-container .filters-select-div { width:180px }
#filters-container .filters-select { width:210px }

/* work home + cards */
.m2 { margin-top:2px }
.m4 { margin-top:4px }
.m6 { margin-top:6px }
.m8 { margin-top:8px }
.m12 { margin-top:12px }
.m18 { margin-top:18px }
.m24 { margin-top:24px }
.m32 { margin-top:32px }
.m36 { margin-top:36px }
.m48 { margin-top:48px }
.m64 { margin-top:64px }
.p6 { padding-top:6px }
.lh14 { line-height:1.4 }
.lh18 { line-height:1.8 }
#work-home { max-width:1150px; margin:0 auto; padding:36px 12px 0 12px }
#work-home section { margin-bottom:64px }
#work-home .titl { font-size:17px; font-weight:bold }
#work-home .titl .count { font-weight:normal }
#work-home .spinner, #recos-container  .spinner { width:64px; height:64px; padding:50px 70px }
#work-home .nli { width:100%; max-width:1016px; box-sizing:border-box; background:#fff; border-radius:10px; border:1px solid #999; text-align:center }
#work-home .nli1 { padding:20px 20px 0 20px; text-align:center; box-sizing:border-box }
#work-home .nli1 div { max-width:400px; margin-left:auto; margin-right:auto }
#work-home .nli2 div { margin:36px auto 0 auto; position:relative; width:260px }
#work-home .nli2 .logo { width:66px; height:32px; position:absolute; top:31px; left:16px; background:#fff }
.work-home-empty { background:#fff; border:1px solid #ccc; border-radius:10px; padding:18px 18px 24px 18px; max-width:480px; margin:0 auto 36px auto }

.cards-outer { overflow:hidden; position:relative }
.cards-inner { display:flex }
.cards-inner.single { margin-bottom:-300px; padding-bottom:320px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-left:15px }
.cards-inner.single > .work-card:first-child { margin-left:12px }
#work-home .cards-outer.single { margin-left:-12px; margin-right:-12px }
.box-pad { padding-left:12px; padding-right:12px }
.cards-inner.multi { flex-flow:row wrap; margin-right:-15px; justify-content:center }
.cards-inner.single .work-card, .cards-inner.single .article-card  { scroll-snap-align:start }
.work-card { font-size:13px; width:180px; height:200px; background:#fff; border-radius:10px; overflow:hidden; margin:0 15px 0 0; text-align:left; position:relative; box-sizing:border-box; padding:12px; line-height:19px; border:1px solid #ddd; flex:none }
.work-card:hover, .work-card:active, .work-card:focus { border:1px solid #999; box-shadow:0 5px 5px #aaa; outline:0 }
.work-card.wide { width:210px }
.work-card.tprog { height:245px; width:100%; min-width:340px; padding:0; font-size:14px }
.work-card.tprog .logo { margin-left:30px; margin-top:22px }
.work-card.tprog .apply { float:right; margin:20px 30px 0 0; display:inline-block; color:var(--main-color); font-size:17px; padding:8px 0; border:1px solid var(--main-color); border-radius:24px; background:#fff; width:120px; text-align:center; transition:color .1s ease-in-out, border-color .1s ease-in-out }
.work-card.tprog .apply:hover, .work-card.tprog .apply:focus { color:#fff; background:var(--main-color) }
.cards-inner.multi .work-card { margin-bottom:20px; width:300px }
.cards-inner.multi .work-card.tprog { width:calc(100% - 15px); min-width:320px }
.work-card.green { background:var(--main-color); color:#fff; text-align:center }
.work-card.green .green-button.rev:hover { border-color:#fff }
.work-card.green a, .work-card.green a:hover { color:#fff }
a.work-card, a.work-card:hover, a.listings-course, a.listings-course.tit { text-decoration:none; color:inherit }
.work-card .top { height:68px }
.work-card.tprog .top { height:98px; background:#dcd5af }
.work-card.tprog .middle { height:110px; border-bottom:1px solid #aaa; padding:13px 15px 0 15px; box-sizing:border-box; line-height:20px }
.work-card.tprog .bottom { padding:7px 20px 0 15px; font-size:15px }
.work-card.center { text-align:center }
.work-card span.logo { display:block; float:left }
.work-card span.logo > img { width:60px; height:50px; border:1px solid #ccc }
.work-card div.logo { float:left; width:60px; height:50px; background:#7cc; color:#fff; line-height:13px; font-size:10px; font-weight:bold; box-sizing:border-box; border:1px solid #ccc; padding:5px; display:table; table-layout:fixed; overflow:hidden }
.work-card div.logo > div { display:table-cell; vertical-align:middle; text-align:center }
.work-card div.logo > div > div { max-height:40px; overflow:hidden }
.work-card span.logo.reco, .work-card div.logo.reco { float:none; margin:0 auto }
.work-card .job-titl { font-weight:bold; overflow:hidden; height:38px }
.work-card .job-titl-reco { font-weight:bold }
.work-card .bytwo { display:inline-block; width:49%; padding:0 4px; box-sizing:border-box; vertical-align:top }
.work-card .num-offers { font-size:31px }
.work-card .num-offers-sm { font-size:27px }
.work-card .location { color:#888; max-height:38px }
.work-card .quot { font-family:"Times New Roman"; font-weight:bold }
.work-card .his-title { line-height:21px; overflow:hidden; height:86px; box-sizing:border-box; color:#399 }
.work-card.reco { transition:transform .2s ease; transform-origin:center }
.work-card.reco.closing { transform:scale(0) }
.work-card .co-spont { float:right; height:24px; width:24px; padding:6px; margin:6px 10px 0 0; border:1px solid #999; border-radius:5px }

.work-review-card { display:inline-block; width:100%; vertical-align:top; background:#fff; overflow:hidden; border:1px solid #ccc; border-radius:10px; padding:18px 18px 12px 18px; text-align:center; line-height:1.3; box-sizing:border-box }
.listings-work-reviews .work-review-card { margin-bottom:18px }
.work-review-card .close-cross-outer { float:right; margin:0 0 4px 4px }
.work-review-card .left { text-align:left }
.work-review-card .review-full { line-height:18px }
.work-review-card .review { line-height:18px; max-height:144px; overflow:hidden }
.work-review-card .bottom { margin:24px -8px 0 -8px }
.work-review-card .bottom a.one { display:inline-block; width:99%; padding:4px 8px; box-sizing:border-box; background-color:#fff; transition:background-color .1s ease-in-out, color .1s ease-in-out; border-radius:5px }
.work-review-card .bottom a.one, .work-review-card .bottom a.one:visited { color:#999 }
.work-review-card .bottom a.one:hover { background-color:#ddd; color:#666 }
.work-review-card .bottom img { height:18px; width:18px; opacity:.4; vertical-align:-18%; margin-right:8px }

#wrm-inner { position:relative; width:620px; max-width:95%; box-sizing:border-box; margin:0 auto; text-align:center; overflow-y:auto }

/* view offer */
#offer-thumbs { height:48px; margin:18px 0 }
#offer-thumbs img { width:32px; height:32px; margin:8px 10px; float:left }
#offer-thumbs #thumbs-msg { display:table-cell; vertical-align:middle; height:48px; padding-right:15px }

#offer-main { margin-top:2px; padding:8px 0 0 0 }
#offer-main #job-title { margin:8px 0 16px 0; font-size:17px; color:#666; font-weight:bold }
#offer-main #offer-inner1, .co-outer #co-head, .co-outer #co-desc { padding:0 5px }
.co-outer .co-logo2 { display:none }
.co-outer .heart, #offer-main .heart { height:24px; width:24px; float:right; padding:12px; margin:28px 8px; cursor:pointer }
#offer-main .but-container { text-align:center; margin-bottom:12px }
#offer-main .but-zone { padding:12px 0; text-align:center; vertical-align:top }
#offer-main .but-zone .but { font-size:17px; min-width:230px }
#offer-main .or-login { display:block; text-align:center; padding-top:8px }
#offer-main #before-tags { clear:both }
#offer-main .tags { font-size:13px; color:#666; margin:7px 0 28px 0 }
#offer-main .stats { margin:20px auto 15px auto }
#offer-main .stats2 { width:40px; border-right:1px solid #ccc }
#offer-main .stats3 { width:8px }
#offer-main .jobspecs { box-sizing:border-box; width:100%; padding:8px 5px 12px 5px }
#offer-main .jobspecs td { text-align:left; vertical-align:top; color:#666; line-height:16px; padding-right:15px }
#offer-main .jobspecs td.spec { font-weight:bold; max-width:130px }
#offer-main #jobdesc { padding:0 5px; line-height:16px; max-height:208px; overflow:hidden; margin-bottom:15px }
#offer-main #jobdesc p { margin:16px 0 }
#offer-main #read-full { margin:15px 0 24px 0; text-align:center; display:none }
#read-full a { display:inline-block; font-size:14px; padding:5px 10px; border-radius:2px; border:1px solid #ccc; border-radius:5px }

/* box links of various kinds */
.local-menu-outer { height:48px; overflow:hidden; margin-bottom:18px }
.local-menu { display:flex; justify-content:left; overflow-x:scroll; gap:12px; margin:8px 0 -300px 0; padding:0 8px 308px 8px; font-size:13px }
.local-menu a { display:inline-block; white-space:nowrap; line-height:32px; padding:0 12px; color:#666; border:1px solid #888; border-radius:20px; background:#fff; transition:background-color .1s ease-in-out }
.box-links, .related-searches { font-size:14px }
.related-searches .title, #next-recos .title { margin-bottom:10px; font-weight:bold }
.related-searches a.one, .box-links a.one { display:inline-block; padding:6px 12px; margin:0 4px 8px 0; color:#666; border:1px solid #888; border-radius:20px; background:#fff }
.related-searches a:hover.one, .related-searches a:focus.one, .box-links a:hover.one, .box-links a:focus.one, .box-links a.one.active, .local-menu a:hover, .local-menu a:focus, .local-menu a.active { color:#fff; background:#999; text-decoration:none }
.box-links a:hover.one.active, .box-links a:focus.one.active, .local-menu a:hover.active, .local-menu a:focus.active { background:#fff; color:#666 }

.work-account { margin-bottom:6px; color:#666 }
.work-account .one { line-height:22px; padding:4px 0 4px 32px; position:relative; border-radius:4px; display:block }
.work-account .one:hover, .work-account a.one:focus { background:#eee; text-decoration:none }
.work-account a.one { color:#666 !important }
.work-account .one .title { font-weight:bold }
.work-account .one > img { position:absolute; height:21px; width:21px; opacity:.5; top:4px; left:4px }

#id__overlay_apply { display:none; margin-top:120px; width:95%; max-width:400px; background-color:#fff; border:2px solid #888; border-radius:6px; text-align:left; overflow:hidden }
#overlay-waiter { margin:45px 0 30px 0; height:90px; width:90px }

div.grayline { width:100%; height:1px; line-height:1px; border-top:1px solid #ccc }

/* co page */
.co-box { background:#fff; border-top:1px solid #ccc; border-bottom:1px solid #ccc; padding-bottom:18px }
.co-outer { margin:20px 0 5px 0; padding:15px 0 5px 0 }
.co-outer #co-name { color:#333; font-size:17px; font-weight:bold }
.co-outer #co-meta { line-height:20px; padding-bottom:15px }
.co-outer #co-desc { padding-top:18px; max-height:180px; overflow:hidden; line-height:18px }
.co-outer #co-desc p { margin-top:18px }
.co-outer #read-full { margin:15px 0 24px 0; text-align:center; display:none }
#co-noofers { color:#666; font-size:19px; margin:50px 15px; text-align:center; line-height:36px }
.co-title { color:#666; font-size:17px; font-weight:bold; margin:24px 0 18px 0; font-weight:bold }

/* tooltips */
#tooltip { text-align:center; color:#333; background:#ff8; position:absolute; border-radius:5px; z-index:100; padding:12px }
#tooltip:after { width:0; height:0; border-left:10px solid transparent; border-right:10px solid transparent; border-top:10px solid #ff8; content:''; position:absolute; left:50%; bottom:-10px; margin-left:-10px }
#tooltip.top:after { border-top-color:transparent; border-bottom:10px solid #ff8; top:-20px; bottom:auto }
#tooltip.left:after { left:10px; margin:0 }
#tooltip.right:after { right:10px; left:auto; margin:0 }

/* buttons */
.green-button { box-sizing:border-box; display:inline-block; color:#fff !important; background:var(--main-color); font-size:15px; cursor:pointer; line-height:36px; border:1px solid var(--main-color); border-radius:2px; padding:0 8px; text-align:center; transition:background-color .1s ease-in-out, color .1s ease-in-out, border-color .1s ease-in-out; min-width:150px }
.green-button.h32 { line-height:30px }
.green-button.gray { color:#333 !important; background:#ccc; border:1px solid #ccc }
.green-button.white { color:#666 !important; background:#fff; border:1px solid #666 }
.green-button.red { background:#f75; border:1px solid #f75 }
.green-button.revred { background:#fff; color:#d00 !important; border:1px solid #d00 }
.green-button.rev { color:var(--main-color) !important; background:#fff; border:1px solid var(--main-color) }
.green-button.gray2 { color:#000 !important; background:#ddd; border:1px solid #000 }
.green-button.dark { background:#444; border:1px solid #444 }
a.green-button { text-decoration:none !important }
.green-button:disabled { opacity:.4 }
.green-button:hover, .green-button:focus { outline:0 }
.green-button:hover, .green-button:focus { background-color:#fff; border-color:var(--main-color); color:var(--main-color) !important }
.green-button.gray:hover, .green-button.gray:focus { border-color:#aaa; background-color:#eee; color:#333 !important }
.green-button.white:hover, .green-button.white:focus { color:#fff !important; border-color:#666; background-color:#666 }
.green-button.red:hover, .green-button.red:focus { border-color:#f75; background-color:#e54; color:#fff !important }
.green-button.revred:hover, .green-button.revred:focus { border-color:#d00; background-color:#d00; color:#fff !important }
.green-button.rev:hover, .green-button.rev:focus { color:#fff !important; border-color:var(--main-color); background-color:var(--main-color) }
.green-button.gray2:hover, .green-button.gray2:focus { border-color:#aaa; background-color:#eee; color:#000 !important }
.green-button.dark:hover, .green-button.dark:focus { border-color:#777; background-color:#777; color:#fff !important }

/* flex finger scrollers */
.scroller-outer { overflow:hidden; position:relative }
.scroller-inner { display:flex; overflow-x:scroll; margin-bottom:-300px; padding-bottom:305px; scroll-snap-type:x mandatory; scroll-padding-left:12px }
.scroller-elt { flex:none; scroll-snap-align:start }

/* cookie consent */
#id__cookieok { position:fixed; width:100%; box-sizing:border-box; background-color:#ddd; opacity:.95; margin:0; left:0; bottom:0; padding:14px 8px; z-index:600; text-align:center; color:#000; font-size:15px }
#id__cookieok div.options { margin-top:12px }
#id__cookieok .green-button { line-height:32px }

.close-cross { width:24px; height:24px; opacity:.4; position:relative }
.close-cross-outer { width:24px; height:24px; padding:6px; position:relative; border-radius:24px; transition:background-color .1s ease-in-out; background:#fff; cursor:pointer }
.close-cross-outer:hover { background:#eee }
.close-cross-outer.abs { position:absolute; right:5px; top:5px }
.close-cross:hover, .close-cross-outer:hover .close-cross { opacity:.7 }
.close-cross:before, .close-cross:after { position:absolute; left:10px; content:' '; height:25px; width:2px; background:#333 }
.close-cross:before { transform:rotate(45deg) }
.close-cross:after { transform:rotate(-45deg) }

#top-ovl { box-sizing:border-box; position:fixed; top:0px; height:60px; line-height:60px; left:0; width:100%; background:#fc0; box-shadow:0px 5px 5px #aaa; z-index:600; font-size:15px; color:#444; transition:transform .3s ease; padding:0; text-align:center; transform:translateY(-100%); display:none }
#top-ovl.open { display:block }
#top-ovl.opened { transform:none }

/* studies */
#stu-title { color:#666; font-size:17px; margin:14px 5px; line-height:2; font-weight:bold }
.loginbox-quotes .userquot { margin:12px 0; color:#399; line-height:1.3 }
.loginbox-quotes .userref { margin:12px 0; color:#666; font-size:10px }
.bigquot { font-size:15px; font-family:"Times New Roman"; font-weight:bold }
.bigquot.f21 { font-size:21px }
.stu-place-title { color:#399; font-size:17px; margin:14px 0 }
.stu-place-subtit { color:#666; font-style:italic; font-size:13px }
img.stars { vertical-align:middle; position:relative; top:-2px; margin:0 5px }
.first-center-name { color:#888; margin-top:18px; line-height:2 }
div.tbar { width:82px; height:8px; border:1px solid var(--accent); position:relative; display:inline-block; vertical-align:middle; margin-left:8px }
div.tbar > div { height:8px; background:var(--accent) }
span.trat { font-size:11px; color:#399; font-weight:bold }
.place-more { margin:20px 0 }
.place-sep { height:20px; background:#e8e8e8; border-top:1px solid #ccc; border-bottom:1px solid #ccc; line-height:1px }
.one-place { margin-bottom:20px }
.padded, .padded1col { padding-left:10px; padding-right:10px }
#unis-latest { margin:24px 0; height:234px }
#unis-latest .scroller-elt { width:170px; height:230px; background:#fff; border:1px solid #ccc; border-radius:10px; overflow:hidden; margin-right:24px; text-align:center; cursor:pointer; position:relative; color:#666; font-size:14px }
#unis-latest .block { width:120px; height:100px; display:block; margin:24px auto 16px auto }
#unis-latest div.block { background:#7cc; color:#fff; font-style:italic; line-height:1.3; font-weight:bold; box-sizing:border-box; padding:5px; display:table; overflow:hidden }
#unis-latest div.block div { display:table-cell; vertical-align:middle }

.small-review-card { display:block; box-sizing:border-box; flex:none; width:320px; height:220px; background:#fff; border:3px solid var(--accent); border-radius:15px; padding:12px 16px; margin-right:15px; overflow:hidden; line-height:1.3; text-decoration:none !important }
.small-review-card:hover, .small-review-card:active, .small-review-card:focus { border:3px solid #90c5eb; box-shadow:0 5px 5px #aaa; outline:0 }
.small-review-card .top { height:22px; margin-left:-4px }
.small-review-card .quote { display:inline-block; position:relative; left:0; top:-4px; margin-right:10px; width:22px; height:17px }
.small-review-card.study .quote { top:4px }
.small-review-card .title { color:var(--main-color); font-weight:bold; font-size:16px; line-height:20px; height:38px; overflow:hidden }
.small-review-card .review { line-height:15px; height:60px; overflow:hidden }
.small-review-card .rev-footer { margin-top:22px }
.small-review-card .logo { height:26px; width:31px; border:1px solid #aaa; float:left; margin:0 12px 12px -2px }
.small-review-card .unistars { height:18px; width:90px; vertical-align:-25% }
.small-review-card.study .logo { margin:4px 12px 8px -2px }

.center-large-outer { padding-left:90px; margin:8px 0 0 0 }
.center-large-outer > .main { float:right; width:100% }
.center-large-outer > .left { float:left; margin-left:-90px; width:90px }
.center-large-outer > .left img { height:67px; width:80px; display:block }
.center-large-outer .mobe-great { height:28px; width:80px; background:#7cc; color:#cff; text-align:center }
.center-large-outer .mobe-great div { display:inline-block; font-size:16px; vertical-align:middle; padding-top:3px }
.center-large-outer .mobe-great .twoline { display:inline-block; font-size:9px; padding-left:3px }
.center-large-outer .quot { margin-top:4px; max-width:700px }
.center-large-outer .by { margin-top:4px; font-size:11px; color:#666 }
.uni-right { display:none }
.center-large-one { color:#399; margin-top:12px }
.center-large-outer.listings { padding-top:10px; padding-bottom:20px }

.uni-page-logo { width:72px; height:60px; border:1px solid #aaa }
#uni-topimg-cont { margin:0 0 20px 0; position:relative }
#uni-topimg { width:100% }
#uni-logo-inimg { position:absolute; bottom:-10px; left:15px }
#uni-logo-titl { float:left; margin:20px 15px 0 0 }
#uni-titl1 { margin:20px 0; line-height:28px }
#uni-titl1 h1 { display:inline; color:#333; font-size:21px; padding-right:15px; margin:0 }
#main .stars-large { display:none }
.stars-large { height:24px; width:120px }
#uni-titl1 .stars-large { vertical-align:middle; position:relative; top:-2px }
.uni-subtit { text-align:center; font-size:19px; margin-bottom:20px; padding-top:20px }
.uni-subtit.further { margin-top:50px; border-top:1px solid #e5e5e5 }
#reviews-stats .first { display:none }
#reviews-stats .rec1 { background:#f1f8fb; padding:16px 0; margin:0 25px 18px 25px; font-size:14px; line-height:1.4 }
#reviews-stats .rec1 div { font-size:23px }
#reviews-stats .sco1 { font-size:13px; padding:8px 0 }
#reviews-stats .sco1 span { color:#aaa }
#reviews-stats .stars-large { display:block; margin:0 auto }
#uni-rec2 { display:none }
.levels-one { margin:3px 0; text-align:center }
.levels-one a, .levels-one span { display:inline-block; width:80px; text-align:right; vertical-align:middle; padding:0 10px 3px 0; font-size:13px }
.levels-one > div { display:inline-block; border:1px solid var(--accent); width:212px; height:12px; vertical-align:middle }
.levels-one > div > div { background:var(--accent); height:10px; border:1px solid #fff }

.one-review { border:1px solid #ccc; border-radius:5px; padding:8px 8px 16px 8px; background:#fff; margin:24px 8px }
.stars-small { height:18px; width:90px; padding:8px 0 }
.one-review .stars-small { display:block }
.useful { border-radius:5px; width:120px; height:28px; background:#f1f8fb; border:1px solid #e5e5e5; float:right; margin:10px 0 10px 10px; color:#aaa; text-align:center; cursor:pointer }
.useful.locks { background:yellow }
.useful img { height:32px; width:32px; vertical-align:middle; margin:-2px 0 0 -10px; opacity:.7 }
.useful span { display:inline-block }
.one-review .reviewer { text-transform:uppercase; margin:5px 0 10px 0 }
.one-review .simple-title { font-size:17px; color:var(--main-color); margin-bottom:20px }
.one-review .meta { color:#aaa }
.one-review .rtype { color:#444; margin-top:24px }
.one-review .rtype img { height:24px; width:24px; vertical-align:middle; opacity:.4; padding:0 8px 2px 0 }
.one-review .label { font-weight:bold; margin-top:28px; max-width:700px }
.one-review .label.together { margin-top:12px }
.nobold { font-weight:normal }
.one-review .txt { margin-bottom:30px; max-width:700px }
.one-review .txt.together { margin-bottom:12px }
.one-review .readfull { text-align:center; margin:24px 0 8px 0 }
.one-review .readfull a { display:inline-block; padding:4px 32px; border:1px solid #ccc; border-radius:2px }
div.txt div.short { max-height:160px; overflow:hidden }
div.txt div.short p { margin:20px 0 }
#studies-main .read-more { cursor:pointer; color:#36f; font-size:14px }
.txt20 { font-size:14px; line-height:20px }
#uni-about-more { background:#f1f8fb; padding:10px; max-width:350px; margin:20px auto 0 auto }
#uni-about-more div { margin-bottom:4px }
.uni-partner { padding:0 10px 20px 0; box-sizing:border-box }

.levels-two { text-align:center; margin:8px 0 }
.levels-two.result5 { display:none }
.levels-two > span { display:inline-block; width:125px; text-align:left; vertical-align:middle; padding:0 5px 3px 0; font-size:11.5px; line-height:.9 }
.levels-two.lang > span { text-align:right; width:70px }
.levels-two > div { display:inline-block; border:1px solid var(--accent); width:152px; height:12px; vertical-align:middle; position:relative }
.levels-two > div > img { position:absolute; top:-3px; width:18px; height:18px; margin-left:-8px }
.levels-two > div > div { background:var(--accent); height:10px; border:1px solid #fff }
.levels-two .sq { display:inline-block; position:absolute; width:18px; height:18px; background:#ffc10e; top:-3px; text-align:center; margin-left:-8px; color:#fff; font-weight:bold; font-size:12px; line-height:18px }
.levels-two.result4 > div > div { width:150px }
.levels-two.result3 > div > div { width:112px }
.levels-two.result2 > div > div { width:75px }
.levels-two.result1 > div > div { width:37px }
.levels-two.result0 > div > div { width:0px }
.levels-two.result4 > div > img, .levels-two.result4 .sq { left:150px }
.levels-two.result3 > div > img, .levels-two.result3 .sq { left:112px }
.levels-two.result2 > div > img, .levels-two.result2 .sq { left:75px }
.levels-two.result1 > div > img, .levels-two.result1 .sq { left:37px }
.levels-two.result0 > div > img, .levels-two.result0 .sq { left:0px }
.one-review .onblu { background:#f1f8fb; max-width:700px; padding:10px; margin:0 -8px }
.one-review .onblu .label { margin-top:10px }
.one-review .onblu .txt { margin-bottom:10px }
.uni-job { box-sizing:border-box; margin:20px 0; padding-bottom:20px; border-bottom:1px solid #e5e5e5; line-height:28px; font-size:14px }
.uni-job .flag { padding-right:8px }
.hasbic-box { width:665px; max-width:95%; margin-top:32px; position:relative }
.hasbic-box .graybg { background:#eee; border-radius:20px; height:120px; margin-left:60px; text-align:center; font-size:18px; color:#666; box-sizing:border-box; color:#666; padding:12px 30px 12px 70px; position:relative }
.hasbic-box .l2 { position:absolute; left:0px; bottom:12px; width:100%; box-sizing:border-box; padding:0 30px 0 80px }
.hasbic-box .grn-circle { position:absolute; top:-10px; left:0px; width:140px; height:140px; background:#d6fed2; border-radius:70px; box-sizing:border-box; border:8px solid #c8ecc5; text-align:center; font-size:19px; color:#80c97a; padding-top:20px }
.hasbic-one { display:inline-block; width:380px; max-width:95%; box-sizing:border-box; margin:0 15px 30px 0; color:#666; font-size:16px }
.hasbic-one img { vertical-align:middle; position:relative; top:-2px; margin-right:10px }

.green-button.courses-but { min-width:230px; line-height:48px; font-weight:bold; font-size:17px }
#uni-titl1 .courses-but { float:right; margin:10px 0 10px 20px }
#uni-globar { background:#f1f8fb; padding:18px 0; text-align:center }
#uni-actions { margin:24px 0 32px 0; text-align:center }
#uni-actions a.green-button { min-width:240px; line-height:48px; margin:8px 20px; vertical-align:top; font-size:17px; font-weight:bold }
#stick { position:relative; z-index:5; width:100%; margin:0 auto }
#stick1 { max-width:1150px; margin:0 auto }
#stick.sticky { position:fixed; box-shadow:0px 5px 5px #aaa; background:#f1f8fb; top:-70px; left:0px; width:100vw; height:70px; transition:transform .3s }
#stick.sticky.opened { transform:translateY(100%) }
#stick.sticky .sticky-hide { display:none }
#stick.sticky #main { padding-left:40px; padding-right:40px }
#stick.sticky #uni-titl1 { margin-top:0; margin-bottom:0; padding:6px 0 }
#stick.sticky #uni-titl1 .courses-but { margin:4px 0 4px 20px }
#stick.sticky #uni-globar { padding:2px 0 12px 0 }
#uni-globar > div { display:inline-block; vertical-align:middle; font-size:14px; width:16%; text-align:left; box-sizing:border-box }
#uni-globar > div.big { font-size:39px; text-align:right; padding-right:10px }
#uni-globar img { vertical-align:middle; width:36px; height:36px; opacity:.6 }

.valuestars input.stars[value="0"] ~ .star.gt0 { display:none }
.valuestars input.stars[value="1"] ~ .star.lt1, .valuestars input.stars[value="1"] ~ .star.gt1 { display:none }
.valuestars input.stars[value="2"] ~ .star.lt2, .valuestars input.stars[value="2"] ~ .star.gt2 { display:none }
.valuestars input.stars[value="3"] ~ .star.lt3, .valuestars input.stars[value="3"] ~ .star.gt3 { display:none }
.valuestars input.stars[value="4"] ~ .star.lt4, .valuestars input.stars[value="4"] ~ .star.gt4 { display:none }
.valuestars input.stars[value="5"] ~ .star.lt5 { display:none }

/* forms */
.form-outer { padding:10px; box-sizing:border-box; font-size:15px }
.form-outer .sep { position:relative; text-align:center; height:48px; line-height:48px; font-size:17px; color:#399 }
.form-outer .sep div { height:1px; width:100%; position:absolute; left:0px; top:25px; border-top:1px solid #ccc }
.form-outer .sep span { position:relative; z-index:1; background:#fff; padding:0 16px }
.form-outer .sep-subtit { font-size:15px; color:#888; text-align:center; margin:-8px 0 24px 0; font-style:italic }

.form-row { margin-bottom:20px; padding:0 }
.form-row .label { padding:0 0 6px 0; font-size:15px; box-sizing:border-box; color:#666 }
.form-row .label .more { padding-top:4px; color:#4aa; font-size:13px; font-style:italic }
.form-row .field.text { padding-top:4px }
.form-row input[type="text"], .form-row input[type="password"], .form-row input[type="email"], .form-row input[type="number"], .form-row select, .form-row textarea { border:1px solid #aaa; background:#fff; padding:6px; border-radius:2px; color:#666; font-size:15px; width:95%; max-width:450px }
.form-row input[type="text"]:focus, .form-row input[type="password"]:focus, .form-row input[type="email"]:focus, .form-row input[type="number"]:focus, .form-row select:focus, .form-row textarea:focus { border:1px solid #444; outline:0 }
.form-row select { width:260px }
.form-row input[type="text"]:disabled, .form-row input[type="password"]:disabled, .form-row input[type="email"]:disabled, .form-row input[type="number"]:disabled, .form-row select:disabled, .form-row textarea:disabled { background:#eee }
.form-row input.medium { width:260px }
.form-row input.short, .form-row select.short { width:150px }
.form-row input.shorter, .form-row select.shorter { width:90px }
.form-row input[type="radio"], .form-row input[type="checkbox"] { vertical-align:baseline }
.form-row label { white-space:nowrap; min-width:85px; display:inline-block }
.form-row .errors { display:none; padding:5px 5px 5px 0; font-size:13px; margin-top:4px }
.form-row .errs { padding:5px 5px 5px 0; font-size:13px; margin-top:4px }

.inline-radio-options input { display:none }
.form-row .inline-radio-options label { min-width:auto }
.inline-radio-options label span { display:inline-block; line-height:24px; padding:0 10px; margin:0 4px 4px 0; cursor:pointer; border:1px solid #aaa; color:#888; border-radius:15px; min-width:64px; text-align:center }
.inline-radio-options label span:hover, .inline-radio-options label span:focus { border:1px solid #000 }
.inline-radio-options input[type="checkbox"] + span { border-radius:3px }
.inline-radio-options input:checked + span { border:1px solid #3cf; color:#fff; background:#3cf }
.inline-radio-options input:not(:checked) + span:hover { background:#3cf; border:1px solid #3cf }
.inline-radio-options input:checked + span:focus, .inline-radio-options input:checked + span:hover { border:1px solid #048 }

/* large mobile / landscape */
@media screen and (min-width:360px) {
  .listings-row .match, .listings-row .line2 .pub-date { display:block }
}

@media screen and (min-width:400px) {
  .premium-top { font-size:15px }
  .cards-inner.multi { justify-content:flex-start }
  .cards-inner.multi .work-card.norm { width:calc((100% - 31px) / 2) }
}

@media screen and (min-width:440px) {
  #offer-main #offer-inner1, .co-outer #co-head, .co-outer #co-desc { padding-left:10px; padding-right:10px }
  #offer-main .jobspecs td.spec { width:100px; padding-left:10px }
  #offer-main #jobdesc { padding:0 10px }
  .co-outer .co-logo2 { display:inline }
  .cards-inner.multi .work-card.wide { width:calc((100% - 31px) / 2) }
}

@media screen and (min-width:460px) {
  .work-card.tprog, .cards-inner.multi .work-card.tprog { width:440px }
}

@media screen and (min-width:530px) {
  .premium-top { font-size:17px }
}

/* tablet size and up */
@media screen and (min-width:610px) {
  .phone-only { display:none !important }
  #tbox { padding-left:7px }

  #footer-logos { height:80px }
  #footer-logos img { margin-right:8px; height:75px; width:90px }
  body.bil #footer-logos { padding-bottom:20px }

  #offer-main .co-logo,
  .co-outer .co-logo { height:100px; width:120px }
  #offer-main #before-tags { clear:none }
  #offer-main #after-tags { clear:both }

  /* Studies */
  .uni-right { display:block; position:absolute; top:8px; right:15px; width:90px; text-align:center; color:#666; z-index:10 }
  .uni-left { min-height:120px }
  .stu-has-right { margin-right:120px }
  .first-center-name .st-and-rev { display:none }
  .center-large-outer .mobe-great { display:none }
  .one-place { position:relative }
  .padded, .padded1col { padding-left:15px; padding-right:15px }
  .first-place { position:relative }
  #stu-title { margin-left:15px }
  .stu-place-title { text-decoration:underline }

  #uni-logo-inimg { left:30px }
  .uni-page-logo { width:120px; height:100px }
  #uni-logo-titl { margin-right:24px }
  #uni-titl1 { line-height:36px }
  #uni-titl1 h1 { font-size:29px }
  #uni-titl1 .stars-large { top:-6px }
  .uni-subtit { padding-bottom:12px; border-bottom:1px solid #e5e5e5; text-align:left }
  .uni-subtit.further { border-top:none }
  #main .stars-large { display:inline }
  #reviews-stats .first { padding:0; float:left; display:block }
  #reviews-stats .rec1 { display:none }
  #reviews-stats .sco1 { float:right; padding:0; font-size:17px }
  #reviews-stats .stars-large { float:right; margin-left:8px; position:relative; top:-4px }
  .uni-levels { width:49%; float:left }
  .levels-one { margin:10px 0 }
  .one-review { padding-left:15px; padding-right:15px }
  .one-review .onblu { padding:15px; margin-left:auto; margin-right:auto }
  .uni-partner.home { display:inline-block; width:48%; vertical-align:top }
  .hasbic-box .graybg { font-size:22px; padding-top:18px }
  .hasbic-box .l2 { font-size:25px; bottom:18px }
  .work-review-card .bottom a.one { width:49% }

  .cards-inner.multi .work-card.norm { width:calc((100% - 46px) / 3) }
  .cards-inner.single > .work-card:first-child { margin-left:16px }
  .box-pad { padding-left:16px; padding-right:16px }
  #work-home { padding-left:16px; padding-right:16px }
  #work-home .cards-outer.single { margin-left:-16px; margin-right:-16px }
}

@media screen and (min-width:660px) {
  .cards-inner.multi .work-card.wide { width:calc((100% - 46px) / 3) }
}

@media screen and (max-width:719px) {
  .tablet-up { display:none !important }
  .tablet-down-block { display:block }
  .one-place .related-searches { text-align:center }
}

/* large tablet */
@media screen and (min-width:720px) {
  .tablet-down { display:none !important }

  #lang-webdropdown3 { text-transform:uppercase }
  .premium-top { font-size:19px }
  .premium-top a { margin-left:24px }
  .transient { right:32px; top:62px; bottom:auto }
  body.bil .transient { top:86px }

  #footer-container { padding:10px 18px 8px 0 }
  .footer-one { float:left; box-sizing:border-box; padding-left:18px; text-align:left }
  .footer-one a, .footer-one p { line-height:1.4 }
  .footer-link { display:block }
  #footer-container h3 { margin:0 0 8px 0 }
  #footer-container p { margin:8px 0 }
  #footer-about { width:34% }
  #footer-company { width:21% }
  #footer-company.footer-one { margin-left:6% }
  #footer-work { width:18% }
  #footer-studies { width:20% }
  .footer-link.sep:after { content:none }
  .listings-work-reviews .work-review-card { margin-right:16px; width:calc(50% - 20px) }

  #lang-wd-flag { padding:10px 0 }
  #userimg-hole { margin:5px }

  #burger-sections { display:none }

  #offer-main #job-title { font-size:19px }
  #offer-main #offer-inner1, .co-outer #co-head, .co-outer #co-desc { padding-left:20px; padding-right:10px }
  #offer-main .but-container { padding-left:24px }
  #offer-main .but-zone { display:inline-block; margin-right:20px }
  #offer-main #jobdesc { padding:0 20px; max-height:none }

  .co-outer #co-name { font-size:19px }

  #id__overlay_apply { max-width:600px }
  #overlay-waiter { margin:25px 0 30px 0; height:140px; width:140px }

  #powered-by { padding:2px 0; text-align:center; font-size:11px; color:#333 }
  #powered-by.bil-bare .pow1, #powered-by.bil-bare .pow2, #powered-by.bil-bare .pow2 a { display:inline; font-size:11px; color:#333 }

  .login-wrap .title { font-size:21px }

  .listings-row .tags, .listings-row .b4-tags { display:inline }
  .listings-mobead { margin:0; padding:0; height:6px; line-height:1px }
  .listings-deskad { height:auto; line-height:normal; padding:12px 0 }
  .listings-pager a.pager-but { min-width:115px }
  .listings-pager .pager-label { display:inline }
  #top-ovl { font-size:19px }
  .pin-button { float:right; margin:0 8px 4px 8px }

  .place-more .green-button { position:relative; left:-40px }
  .one-review .review-row { display:table; width:100%; table-layout:fixed }
  .one-review .review-left { display:table-cell; vertical-align:top }
  .one-review .review-right { box-sizing:border-box; display:table-cell; vertical-align:top; width:280px; padding-left:20px }
  .levels-two { text-align:left }
  .levels-two span { width:100px }

  #uni-about-main { width:64%; float:left }
  #uni-about-more { width:30%; float:right; margin-top:0 }
  .uni-job { display:inline-block; width:50%; height:104px; margin:0 0 20px 0; vertical-align:top; padding-right:10px }
  .form-row { display:table; width:100%; margin-bottom:12px; table-layout:fixed }
  .form-row .label { display:table-cell; vertical-align:top; width:200px; padding:4px 10px 0 10px; text-align:right }
  .form-row.narrow .label { width:150px }
  .form-row .field { display:table-cell }
  .hasbic-box .graybg { font-size:24px }
  .cards-inner.multi .work-card.norm { width:180px }
  #work-home .nli1 { float:right; width:50%; padding-top:32px }
  #work-home .nli2 { float:left; width:50% }
  #work-home .nli2 div { margin-top:24px }

  #footer-links .block { width:33%; float:left }
  #footer-links a { text-align:left; max-width:230px }
}

@media screen and (min-width:800px) {
  #uni-rec2 { display:block; width:180px; float:right; background:#f1f8fb; padding:16px 0; font-size:15px; line-height:1.4; text-align:center }
  #uni-rec2 div { font-size:27px }
  .uni-levels.premium { width:300px }
  .uni-partner.home { width:32% }
  .cards-inner.multi .work-card.wide { width:210px }
  #colright-outer.one-col #review-cards { margin-right:-12px }
  #colright-outer.one-col .one-review { box-sizing:border-box; width:calc(50% - 24px); display:inline-block; margin-left:8px; margin-right:12px; vertical-align:top }
}

@media screen and (max-width:1023px) {
  .web-up { display:none !important }
  #bil-popj.left-col-elt { width:auto; max-width:720px; margin-left:auto; margin-right:auto }
}

/* laptop/desktop */
@media screen and (min-width:1024px) {
  .web-down { display:none !important }
  .premium-top { font-size:21px }
  .premium-top a { margin-left:32px }

  body.bil .top-bar { height:80px; padding:16px 0 }
  body.bil .top-bar .logo img { height:68px; margin:-10px 0 0 0 }
  body.bil .popup.below-topbar { position:absolute; top:80px }
  #no-logo { width:141px; height:64px; font-size:14px; margin-top:-8px }

  #burger-menu { display:none }
  .top-bar .logo { flex:none; margin-left:12px }
  .top-bar .menu-icon { display:none }
  .top-bar.bare .logo { flex:none; margin-left:12px }
  .top-bar.bare .lang-icon { padding-left:67px }
  body.bil .top-bar.bare .lang-icon { padding-left:80px }
  .top-bar #bare-toptitle { display:block; font-size:21px; color:#333; text-align:center; flex:1; padding-top:12px }

  body.bare #burgeropen, #burgeropen { right:0; left:auto; transform-origin:top right }
  #burger-lang-arr { display:none }
  #burger-langs-hidden { display:block }
  .popular-links { width:1100px; max-width:95%; margin-left:auto; margin-right:auto }
  .local-menu { justify-content:center }

  #logos { display:block; float:right; height:82px; margin:-12px 20px 0 0 }
  #logos img { border:1px solid #ccc; margin-right:8px; width:96px; height:80px }
  #logos.space { margin-right:100px }

  #crumbs { box-sizing:border-box; display:block; padding:12px 15px; line-height:24px; min-height:48px; padding-right:420px }

  #main-outer { margin:0 auto; max-width:1150px; box-sizing:border-box; padding-right:12px; box-sizing:border-box }
  #main-outer.bare { max-width:1024px; padding-right:0 }
  #main-outer.three-col { padding-left:314px }
  #main-outer.three-col > #main-inner { float:right; width:100% }
  #main-outer.three-col > #left-col { display:block; float:left; width:300px; min-height:600px; padding-right:14px; margin-left:-314px }
  #main-outer.gray, #main-above.gray { background:#fff }

  #filters-cross { display:none }
  #colright-outer.three-col { padding-right:330px }
  #colright-main { float:left; width:100% }
  #colright-right { display:block; float:right; width:300px; padding:0 15px; margin-right:-330px }
  #colright-outer.one-col .one-review { width:calc(50% - 28px); display:inline-block; vertical-align:top }
  #footer-links .block { width:25% }
  #footer-links .block.b { display:block }

  #share-container2 { display:none }
  #filters-row { display:none }

  .listings-sep, .listings-mobead { display:none }
  .listings-row, .listings-course { border-bottom:1px solid #ccc }
  .listings-course { padding:8px 0 }
  .listings-deskad { background:white; border-top:none }
  #listings-main { border-radius:10px; border:1px solid #ccc }
  #main-outer.three-col #work-home { padding-top:18px }
  .pin-button { margin-right:0 }

  .co-outer { margin:20px 0 0 0 }
  .co-box { border-radius:10px; border:1px solid #ccc }

  /* BICs */
  #main-inner .bil-contact { display:none }

  /* Studies */
  .padded { padding:0 }
  #stu-title { margin-left:0 }
  .place-sep { display:none }
  .one-place { margin-bottom:40px }
  .uni-levels { width:49% }
  #uni-rec2 { width:25% }
  .uni-levels.premium { width:30% }
  .form-row .label { width:270px; padding-right:15px }
}

@media screen and (min-width:1165px) {
  .top-bar a.top-elt, .top-bar a.careers-link { font-size:14px }
  .top-bar .global-links { gap:12px }
  .top-bar .right-elt { margin-right:16px }
  .top-bar .sep.left { flex:2 }
  .top-bar .top-elt::after { margin-left:-8px; width:calc(100% + 16px) }
  .padded1col { padding-left:0; padding-right:0 }
  #colright-outer.three-col { padding-right:315px }
  #colright-right { padding-right:0; margin-right:-315px }
  .work-card { margin-right:29px }
  .cards-inner.multi { margin-right:-29px }
  #footer-links .block { width:20% }
  #footer-links .block.a { padding-left:8px }
  #footer-links .block.e { display:block }
  #work-home .cards-inner.single > .work-card:first-child { margin-left:0 }
  #work-home .cards-outer.single { margin-left:0; margin-right:0 }
  #work-home { padding-left:0; padding-right:0 }
  .pin-button { margin-right:0 }
}

/* large laptop/desktop */
@media screen and (min-width:1350px) {
  #crumbs { padding-left:35px }
  .top-bar .global-links { position:absolute; top:4px; left:50%; transform:translateX(-50%) }
  body.bil .top-bar .global-links { top:16px }
  .uni-partner-home { width:24% }
  #backbox .arrow { left:20px }
  .transient { right:120px }
}

