/*div { border: 1px solid red; } */

html,
body { height: 100%; }

/* GENERAL */
body { font-family: 'Source Sans Pro', sans-serif; font-weight: 400; }
body.modal-open { overflow: hidden; }

a { color: #05a2f2; }
a:hover { color: #05a2f2; text-decoration: underline; }

.no-gutter > [class*='col-'] { padding-right: 0; padding-left: 0; }

/* HEADER */
nav { height: 54px; position: fixed!important; z-index: 102; top: 0; left: 0; right: 0; background: #fff; }
a.navbar-brand { margin: 2px; padding: 0; height: auto; font-size: 36px; line-height: 48px; font-family: 'bebas', sans-serif; color: #042c40; }
a.navbar-brand .logo-element { display: inline-block; width: 48px; height: 48px; background: url('../img/logo_header.svg'); background-size: cover; vertical-align: middle; margin: 0 12px 0 0px; }
.navbar { margin-bottom: 0; }

.content.sub { height: 100%; overflow: scroll; }

ul.navbar-nav { font-size: 20px; margin: 22px 11px 0 0; display: none; }
ul.navbar-nav li {}
ul.navbar-nav li a { font-weight: 400; color: #042c40; }
ul.navbar-nav li.active a { color: #05a2f2; }
ul.navbar-nav li a:hover { background: none; }
ul.navbar-nav li.regbtn a { display: inline-block; background: #ad0d1b; font-family: 'bebas', sans-serif; color: #fff; font-size: 28px; text-shadow: 0px 1px 0px rgba(0,0,0,0.25); margin: 0 0 0 20px; padding-left: 20px; padding-right: 20px; }

.btn-pri { background: #ad0d1b; font-family: 'bebas', sans-serif; color: #fff; font-size: 28px; text-shadow: 0px 1px 0px rgba(0,0,0,0.25); margin: 0 0 0 20px; padding-left: 20px; padding-right: 20px; transition: background 100ms ease-out; }
.btn-pri:hover { background: #bc0f1e; color: #fff; }
.btn-pri:active { background: #9b0b17!important; color: #fff!important; }

.wrapper { max-width: 1185px; margin: 54px auto 0 auto; padding: 0 20px; }


/* HERO AREA */
.hero { background: #fafafa; height: 655px; }

/* CONTENT */
.content .front { margin: 90px auto; background: #601118; }
.content .front h2 { font-size: 54px; font-family: 'bebas', sans-serif; margin: 0 0 10px 0; padding: 0; display: inline-block; }

.content.sub { background: url(../img/bg_diag.png); }

/* BLOG LATEST */
.blog-latest { background: #f9f9f9; padding: 35px 40px!important; }
.blog-latest h2 { color: #042c40; text-shadow: 0px 1px 0px rgba(255,255,255,0.75); float: left; }
.blog-latest a.read-more { display: inline-block; float: right; border: 1px solid #e0e4e6; box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,0.5); font-size: 22px; font-family: 'bebas', sans-serif; font-weight: 700; color: #042c40; text-shadow: 0px 1px 0px rgba(255,255,255,0.5); margin: 10px 0 0 0; padding: 8px 14px; line-height: 22px; text-decoration: none; }
.blog-latest a.read-more i { display: inline-block; width: 18px; height: 18px; line-height: 18px; margin: 1px -4px -1px 2px; background: url('../img/link_chevron.svg') 0 0 no-repeat; }
.blog-latest a.read-more:hover { background: #f2f2f2; transition: background 100ms ease-out; }
.blog-latest article { margin: 0 0 31px 0; overflow: hidden; clear: both; }
.blog-latest article:last-child { margin: 0; }
.blog-latest article h3 { line-height: 31px; font-size: 20px; font-weight: 400; margin: 0; padding: 0; display: inline; }
.blog-latest article h3 a { text-decoration: none; }
.blog-latest article h3 a:hover { border-bottom: 1px dotted rgba(5,162,241,0.5); transition: all 500ms linear; }
.blog-latest article .date { color: #9b9b9b; font-size: 14px; font-weight: 300; padding: 0 0 0 5px; }
.blog-latest article p { line-height: 31px; font-size: 18px; font-weight: 300; margin: 0; padding: 0; }

/* COMPETENCES */
.front-competences { background: #ad0d1b; color: #fff; padding: 35px 40px!important; text-shadow: 0px 1px 0px rgba(0,0,0,0.25); }
.front-competences ul { font-size: 18px; line-height: 31px; list-style: none; padding: 0; margin: 0; font-weight: 400; }
.front-competences ul li { background: url('../img/list_marker_comp.svg') 3px 7px no-repeat; padding: 0 0 0 24px; }

/* FRONTPAGE MAP */
#frontpage-map { height: 250px; }


/* FOOTER */
footer { background: #042c40; color: #365666; padding: 45px; font-size: 16px; font-weight: 300; text-shadow: 0px 1px 0px rgba(0,0,0,0.25); }
footer strong.title { font-size: 18px; font-weight: 700; margin: 0; padding: 0; }
footer .bullet { padding: 0 7px; }
footer a.brand { display: inline-block; float: right; color: #365666; text-decoration: none; font-family: 'bebas', sans-serif; font-size: 36px; line-height: 48px; }
footer a.brand .logo-element { display: inline-block; width: 48px; height: 48px; margin: 0 0 0 10px; background: url('../img/logo_foot.svg'); vertical-align: middle; line-height: 48px; }

@font-face {
    font-family: 'bebas';
    src: url('../fonts/BebasNeue-webfont.eot');
    src: url('../fonts/BebasNeue-webfont.woff') format('woff'),
         url('../fonts/BebasNeue-webfont.ttf') format('truetype'),
         url('../fonts/BebasNeue-webfont.svg#bebasregular') format('svg');
    font-weight: normal;
    font-style: normal;
}




	#event_edit_container { display: none; }

	/* BOOKING CALENDAR */
	
	.note { background-image: linear-gradient(-134deg, #F3F4CC 0%, #ECEEBE 100%);box-shadow: 0px 1px 4px 0px rgba(0,0,0,0.50); font-size: 18px; line-height: 29px; padding: 40px 50px; margin: 20px -40px; text-align: center; -moz-transform: rotate(1deg); -webkit-transform: rotate(1deg); -o-transform: rotate(1deg); -ms-transform: rotate(1deg); transform: rotate(1deg); }

	.cal.wrapper .no-gutter { margin-right: -20px; margin-left: -20px; } 
	
	.calendar-content { overflow: hidden; }
	
	.calendar-period { font-size: 16px; line-height: 18px; font-weight: 300; text-transform: uppercase; position: fixed; top: 8px; left: 10px; z-index: 100; }
	.calendar-period strong { font-weight: 700; display: block; }
	
	.pick-doctor { float: left; margin-right: 10px; cursor: pointer; cursor: pointer; }
	.pick-doctor a { display: block; width: 38px; height: 38px; border-radius: 50%; text-align: center; text-indent: -9999px; background-size: cover; border: 2px solid #ad0d1b; }
	.pick-doctor a img { width: auto; height: auto; }
	
	.pick-doctor .cross { display: inline-block; width: 38px; height: 38px; position: absolute; top: 0px; left: 0; background: url(../img/close-cross.svg) center center no-repeat; z-index: 101; }
	.pick-doctor .close-btn { display: inline-block; width: 38px; height: 38px; background: rgb(173,13,27); opacity: 0; border-radius: 50%; position: absolute; top: 0px; left: 0; z-index: 100; }
	
	.doctors-list { background: rgba(20,87,122,0.93); width: 100%; position: fixed; top: 0px; bottom: 0px; left: -320px; z-index: 101; }
	.doctors-list h2 { background: #15587a; text-align: center; color: #fff; font-weight: 300; text-transform: uppercase; font-family: 'Bebas'; font-size: 36px; margin: 0; padding: 14px 0; text-shadow: 0px 1px 1px rgba(0,0,0,0.50); }
	.doctors-list .content { overflow-y: scroll; height: 100%; }
	.doctors-list .content ul { list-style: none; margin: 29px 29px 29px 29px; padding: 0; margin-bottom: 100px; }
	.doctors-list .content ul li { overflow: hidden; padding: 8px; }
	.doctors-list .content ul li a { color: #fff; text-decoration: none; text-shadow: 0px 1px 0px rgba(0,0,0,0.25); }
	.doctors-list .content ul li a:hover { color: #06a7f9; }
	.doctors-list .content ul li a img { border-radius: 50%; width: 48px; height: 48px; margin: 0 10px 0 0; box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5); float: left; }
	.doctors-list .content ul li a .name { display: block; font-size: 20px; line-height: 20px; margin-top: 7px; font-weight: 700; }
	.doctors-list .content ul li a .title { display: block; font-size: 12px; line-height: 18px; }
	
	.calendar-overlay { position: absolute; top: 100px; left: 0; right: 0; bottom: 0; background: #fff; display: none; opacity: 0.8; z-index: 99; height: 748px; }
	.calendar-loader { position: absolute; top: 50%; left: 50%; margin: -32px 0 0 -32px; width: 64px; height: 64px; background: url(../img/preloader_64px_@2x.gif) 0 0 no-repeat; background-size: 64px 64px; z-index: 102; display: none; }
	
	.calendar {  margin: 0 -5px 0 -5px!important; font-family: 'Source Sans Pro', sans-serif; overflow-x: scroll; position: relative; padding-top: 0px; clear: both!important; }
	.calendar * {  box-sizing: content-box!important; }
	
	.dragtip { background: rgba(21,88,122,0.9) url(../img/dragtip_content.svg) center center no-repeat; text-indent: -9999px; position: fixed; top: 50%; right: 0; z-index: 100; width: 200px; height: 80px; margin: -25px 0 0 0; box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.35); pointer-events: none; }
	
	.wc-container { min-width: 900px; max-width: 1200px; }
	
	.wc-nav { position: fixed; top: 0px; right: 0; left: 0; z-index: 99; padding: 7px 7px 7px 0!important; background: #f0f0f0; }
	.wc-nav button { margin: 0 0 0 -3px!important; outline: none; background: #ededed; border: 1px solid #D5D5D5; box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,0.50); transition: all 200ms ease-out; }
	.wc-nav button:hover { background: #e9e5e5; box-shadow: inset 0px 0px 0px 0px rgba(255,255,255,0.50); }

	.wc-nav .wc-today,
	.wc-nav .wc-next,
	.wc-nav .wc-prev { font-size: 18px; padding: 0; line-height: 18px; height: 36px; }



	.wc-nav .wc-next,
	.wc-nav .wc-prev { width: 36px; padding: 0; text-decoration: none; }

	.wc-nav .wc-today { display: none; font-weight: 300; }
	.wc-nav .wc-next { border-radius: 0px 3px 3px 0px; width: 36px; padding: 0; color: #000; text-indent: -9999px; background-image: url(../img/arrow-right.svg)!important; background-position: center center!important; background-repeat: no-repeat!important; }
	.wc-nav .wc-prev { border-radius: 3px 0px 0px 3px; border-right: 0; text-indent: -9999px; background-image: url(../img/arrow-left.svg)!important; background-position: center center!important; background-repeat: no-repeat!important; }
	
	.wc-header { border-top: none!important; background: #fff!important; border-bottom: 1px solid #c2c2c2!important; }
	.wc-header td { background: #fff!important; }
	.wc-header .wc-day-column-header { background: #fff!important; font-size: 20px; font-weight: 300; }
	.wc-header .wc-day-column-header .dayname { color: #4a4a4a; font-size: 16px; text-transform: uppercase; display: inline-block; } 
	
	.wc-scrollbar-shimÂ { background: transparent!important; }
	
		
	.wc-scrollable-grid { height: 703px!important; }
	
	.wc-time-header-cell { background: #fff; font-size: 14px; font-weight: 400; padding: 4px 5px 6px 5px!important; color: #4a4a4a; }
	
	.wc-time-column-header,
	.wc-grid-timeslot-header { width: 50px!important; background: #fff!important; }
	
	.wc-day-column-headerÂ { }
	.wc-day-column-header.wc-today { font-weight: 300!important; }
	
	.wc-time-slots .wc-today { background: #e6f9ff!important; }
	
	/* EVENT REGISTRATION POPUP */
	#event-popup { display: block; background: rgba(9,22,51,0.95); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 102; display: none; }
	#event-popup .popup { position: absolute; width: 320px; height: 525px; top: 50%; left: 50%; margin: -262px 0 0 -160px; background: #fff; box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.35); padding: 10px; }
	#event-popup .popup .booking-details { background: #ad0d1b; margin: -10px -10px 0 -10px; padding: 15px 15px 15px 15px; color: #fff; overflow: hidden; }
	
	#event-popup .popup .booking-details .name { display: inline-block; font-size: 24px; line-height: 24px; font-weight: 700; float: left; }
	#event-popup .popup .booking-details .name u { text-decoration: none; text-transform: uppercase; }	
	#event-popup .popup .booking-details .date { display: block; overflow: hidden; font-size: 16px; line-height: 24px; float: left; clear: right; }

	#event-popup .popup .booking-details a.close-popup { display: inline-block; float: right; width: 32px; height: 32px; text-indent: -9999px; background: url(../img/btn_close_modal.svg); margin: -2px -2px 0 0; opacity: 0.75 }
	#event-popup .popup .booking-details a.close-popup:hover { opacity: 1; transition: all 100ms ease-out; }
	#event-popup .popup a.btn-pri { margin: 0; border-radius: 0; border: none; }
	
	#event-popup .popup ul.form-fields { margin: 0 0 15px 0; padding: 0; list-style: none; }
	#event-popup .popup ul.form-fields li { margin: 0; padding: 10px 5px 0 5px; }
	#event-popup .popup ul.form-fields li label { display: block; font-weight: 400; font-size: 14px; margin-right: 20px; padding: 0 0 0 5px; float: left; }
	#event-popup .popup ul.form-fields li input[type="text"],
	#event-popup .popup ul.form-fields li input[type="tel"],
	#event-popup .popup ul.form-fields li input[type="email"] { outline: none; width: 100%; background: #f8f8f8; border: 1px solid #d5d5d5; padding: 4px 5px; border-radius: 2px; font-size: 18px; color: #000000; line-height: 23px; } 
	#event-popup .popup ul.form-fields li input[type="tel"],
	#event-popup .popup ul.form-fields li input[type="email"] { -webkit-appearance: none; } 
	#event-popup .popup ul.form-fields li .bDayField { display: none; }
	#event-popup .popup ul.form-fields li .bDayField input[type="text"] { width: 50%; }
	#event-popup .popup ul.form-fields li label input[type="radio"],
	#event-popup .popup ul.form-fields li label { vertical-align: baseline; }

	#event-popup .popup ul.form-fields li.error {}
	#event-popup .popup ul.form-fields li.error label { color: #d0021b; }
	#event-popup .popup ul.form-fields li.error input { border: 1px solid #d0021b; background: #fff6f6; }
	
	.registration-data {  }
	.registration-spinner { background: url(../img/preloader_64px_@2x.gif) center center no-repeat; background-size: 64px 64px; display: none; height: 491px; }
	
	.registration-payment { display: none; }
	.registration-payment .total { background: #ffffe1; border-bottom: 1px solid #ededed; margin: -10px -10px 0 -10px; height: 204px; padding: 50px 0 0 0; }
	.registration-payment .total strong { display: block; color: #000; font-size: 64px; font-family: 'bebas', sans-serif; text-align: center; letter-spacing: -1px; }
	.registration-payment .total label { font-size: 18px; display: block; text-align: center; color: #787878; font-weight: 400; }
	.registration-payment .banklinks { overflow: hidden; }
	.registration-payment .banklinks h2 { text-align: center; font-size: 24px; font-weight: 400; letter-spacing: -1px; }
	.registration-payment .banklinks ul { list-style: none; margin: 0; padding: 10px 5px 0 5px; height: 201px; }
	.registration-payment .banklinks ul li { margin: 0; padding: 0; display: inline; float: left; padding: 0 5px 10px 5px; }
	.registration-payment .banklinks ul li a { display: block; width: 135px; height: 48px; border-radius: 4px; text-indent: -9999px; background-repeat: no-repeat; background-position: center center; }
	
	a.bank-swed { background: #fff; border: 1px solid #e77110; background-image: url(../img/logo_swed.png); }
	a.bank-seb { background-image:  url(../img/logo_seb.png), linear-gradient(-180deg, #60cb18 0%, #44a900 100%); }
	a.bank-lhv { background: #000; background-image: url(../img/logo_lhv.png); }
	a.bank-nordea { background-image: url(../img/logo_nordea.png), linear-gradient(-180deg, #00558B 0%, #00416E 100%); }
	
	@media
		only screen and (-webkit-min-device-pixel-ratio: 2),
		only screen and (min--moz-device-pixel-ratio: 2),
		only screen and (-moz-min-device-pixel-ratio: 2),
		only screen and (-o-min-device-pixel-ratio: 2/1),
		only screen and (min-device-pixel-ratio: 2),
		only screen and (min-resolution: 192dpi),
		only screen and (min-resolution: 2dppx) { 	
			a.bank-swed { background-image: url(../img/logo_swed@2x.png); background-size: 75%; }
			a.bank-seb { background-image:  url(../img/logo_seb@2x.png), linear-gradient(-180deg, #60cb18 0%, #44a900 100%); background-size: 50% auto, 100%; }
			a.bank-lhv { background-image: url(../img/logo_lhv@2x.png); background-size: 50%; }
			a.bank-nordea { background-image: url(../img/logo_nordea@2x.png), linear-gradient(-180deg, #00558B 0%, #00416E 100%); background-size: 75% auto, 100%; }
	}
	
	.registration-complete { display: none; }
	.registration-complete .picto-success { width: 169px; height: 169px; margin: 126px auto 24px auto; background: url(../img/picto_success.svg); }
	.registration-complete .picto-error { width: 171px; height: 171px; margin: 126px auto 30px auto; background: url(../img/picto_error.svg); }
	.registration-complete strong { font-size: 24px; font-weight: 400; display: block; text-align: center; margin: 0 0 95px 0; }
	
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	nav { height: 96px; position: static!important; }
	a.navbar-brand { margin: 7px; font-size: 42px; line-height: 80px; }
	a.navbar-brand .logo-element { width: 80px; height: 80px; margin: 0 24px 0 7px; }
	
	a.navbar-brand { margin: 7px; padding: 0; height: auto; font-size: 42px; line-height: 80px; font-family: 'bebas', sans-serif; color: #042c40; }
	a.navbar-brand .logo-element { display: inline-block; width: 80px; height: 80px; background: url('../img/logo_header.svg'); vertical-align: middle; margin: 0 24px 0 7px; }
	.navbar { margin-bottom: 0; }
	
	.content.sub { margin-top: 0px; }
	
	/* BOOKING CALENDAR */
	
	.pick-doctor { }
	.pick-doctor a { width: 48px; height: 48px; margin-top: -10px; }
	.pick-doctor a:hover { width: 54px; height: 54px; border: 0px solid #ad0d1b; }
	.pick-doctor a img { width: auto; height: auto; }
	
	.pick-doctor .cross { display: inline-block; width: 48px; height: 48px; position: absolute; top: -10px; left: 0; background: url(../img/close-cross.svg) center center no-repeat; z-index: 101; }
	.pick-doctor .close-btn { display: inline-block; width: 48px; height: 48px; background: rgb(173,13,27); opacity: 0; border-radius: 50%; position: absolute; top: -10px; left: 0; z-index: 100; }
	
	.doctors-list { width: 320px; position: absolute; top: 70px; bottom: 40px; }
	.doctors-list .content { height: 681px; }
	
	.calendar-period { font-size: 24px; line-height: 24px; position: absolute; top: 24px; left: 7px; text-shadow: 0px 1px 0px rgba(255,255,255,0.75); }
	.calendar-period strong { display: inline-block; }
	
	.calendar { margin: 0px 0 70px 0!important; position: static; padding-top: 0px; }
	.calendar-content { margin-top: -20px; }


	.wc-nav { position: static; background: transparent; padding: 16px!important; }
	
	.wc-nav .wc-today,
	.wc-nav .wc-next,
	.wc-nav .wc-prev { font-size: 18px; padding: 0; line-height: 18px; background: #ededed; border: 1px solid #D5D5D5; height: 36px; }

	.wc-nav .wc-next,
	.wc-nav .wc-prev { width: 36px; padding: 0; }

	.wc-nav .wc-today { border-radius: 0px; padding: 0 14px; display: inline-block; font-size: 16px; line-height: 18px; border-right: 0px; }
	.wc-nav .wc-next { border-radius: 0px 3px 3px 0px; width: 36px; padding: 0; color: #000; }
	.wc-nav .wc-prev { border-radius: 3px 0px 0px 3px; border-right: 0; }
	
	.dragtip { display: none; z-index: 99; }
	
	.wc-time-column-header,
	.wc-grid-timeslot-header { width: 55px!important; }
	
	/* EVENT REGISTRATION POPUP */
	#event-popup .popup { width: 420px; height: 577px; padding: 15px; margin: -284px 0 0 -210px; }
	
	#event-popup .popup .booking-details { margin: -15px -15px 0 -15px; padding: 20px; }
	
	#event-popup .popup .booking-details .name { display: block; font-size: 28px; line-height: 24px; font-weight: 700; float: left; }
	#event-popup .popup .booking-details .date { display: block; font-size: 16px; line-height: 24px; float: left; }
	
	#event-popup .popup a.btn-pri { margin: 0; border-radius: 0; border: none; }
	
	#event-popup .popup ul.form-fields { margin: 0 0 15px 0; padding: 0; list-style: none; }
	#event-popup .popup ul.form-fields li { margin: 0; padding: 15px 5px 0 5px; }
	#event-popup .popup ul.form-fields li label { font-weight: 400; font-size: 16px; padding: 0 0 0 5px; }
	#event-popup .popup ul.form-fields li input { outline: none; background: #f8f8f8; border: 1px solid #d5d5d5; padding: 6px 7px; border-radius: 2px; font-size: 18px; color: #000000; line-height: 23px; }
	
	.registration-spinner { height: 575px; }
	.registration-complete .picto-success { margin: 166px auto 24px auto; }
	.registration-complete strong { font-size: 24px; margin: 0 0 120px 0; }
	
	.registration-payment { display: none; }
	.registration-payment .total { margin: -15px -15px 0 -15px; height: 224px; padding: 70px 0 0 0; }
	.registration-payment .banklinks h2 { text-align: center; font-size: 24px; font-weight: 400; letter-spacing: -1px; }
	.registration-payment .banklinks ul { list-style: none; margin: 0; padding: 10px 5px 0 5px; height: 249px; }
	.registration-payment .banklinks ul li a { width: 180px; height: 64px; }
	
	/* FOOTER */
	footer { background: #042c40; color: #365666; padding: 45px; font-size: 16px; font-weight: 300; text-shadow: 0px 1px 0px rgba(0,0,0,0.25); }
	footer strong.title { font-size: 18px; font-weight: 700; margin: 0; padding: 0; }
	footer .bullet { padding: 0 7px; }
	footer a.brand { display: inline-block; float: right; color: #365666; text-decoration: none; font-family: 'bebas', sans-serif; font-size: 36px; line-height: 48px; }
	footer a.brand .logo-element { display: inline-block; width: 48px; height: 48px; margin: 0 0 0 10px; background: url('../img/logo_foot.svg'); vertical-align: middle; line-height: 48px; }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.calendar { margin: 0px 0 50px 0!important; }
	.calendar-period { top: 24px; }
	.calendar-content { margin-top: -20px; }
	.doctors-list { top: 0; bottom: 20px; }
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) {  }