html {
	overflow-x: hidden;
}

body {
	font-size: 16px;
	color: #444;
	font-family: Geogrotesque, Arial, sans-serif;
	overflow-x: hidden;
}


.container {
	width: 1256px;
	max-width: 100%;
}

h1, h2, h3, h4 {
	color: #000;
}

h1 {
	margin: 0 353px 0 -72px;
	padding: 35px 72px;
	font-size: 45px;
    font-weight: 600;
    color: #fff;
}

h2 {
	font-size: 35px;
	font-weight: 600;
}

.contact h2 {
	font-weight: 400;
}

h3 {
	font-size: 30px;
	color: #000;
	font-weight: 400;
}

h4 {
	font-size: 16px;
	font-weight: 600;
}

p {
	font-size: 16px;
	line-height: 1.3;
	margin-bottom: 17px;
}

a {
	color: #0089cf;
	text-decoration: underline;
    -webkit-transition-duration: .15s;
         -o-transition-duration: .15s;
            transition-duration: .15s;
}

a:hover {
    color: #115171;
    text-decoration: none;
}

img {
    max-width: 100%;
	height: auto;
}

.icon {
	display: -ms-grid;
	display: grid;
	place-items: center;
	margin-right: 16px;
	border-radius: 9999px;
	background-color: #0089cf;
}

@media screen and (max-width: 1230px) {

		h1 {
			margin-left: 0;
			padding: 35px 34px;
		}
}

@media screen and (max-width: 480px) {

	h1 {
		font-size: 35px;
	}

	h3 {
		font-size: 26px;
	}
}

/* HEADER */

.header {
	background-color: #ECF8FE !important;
	background-image: url(../img/header-desktop.png);
	background-position: top right;
	background-repeat: no-repeat;	
}

.header-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	color: #000;
	margin: 0;
	padding-top: 33px;
	position: relative;
}

.header-content a {
	color: inherit;
	text-decoration: none;
	font-weight: 600;
}

.header-content a:hover {
	color: inherit;
}

.header-logo {
	display: block;
	margin-right: 33px;
}

.header-image-mobile {
	display: none;
}

.header-logo img {
	width: 108px;
}

.header-text {
	position: relative;
	padding-left: 33px;
	padding-bottom: 227px;
}

.header-text::before {
	content: "";
	width: 1px;
	height: calc(100% + 33px);
	background-color: #d5e5ec;
	position: absolute;
	left: 0;
	top: -33px;
}

.header-location {
	margin: 12px 0 40px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
	color: #1E3643;
}

.header-title,
.header-date
 {
	font-size: 35px;
	line-height: 1;
	font-weight: 600;
	margin-bottom: 0;
}

.header-title {
	margin-top: 40px;
}

.header-date {
	margin-bottom: 49px;
	padding-top: 10px;
	color: #0089cf;
}


.header-langSwitcher {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-top: 0;
	position: absolute;
	right:129px;
	top: 40px;
	text-shadow: none;
	color: #fff;
}

.header-langSwitcher a {
	margin: 0 3px;
	font-size: 18px;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.header-langSwitcher a.active {
	font-weight: 400;
}

.lang-short-text {
    display: none;
}
.lang-full-text {
    display: inline;
}

.registration-default h1 {
	background-color: #f04e26;
}



@media screen and (max-width: 1470px) {

	.header {
		background-position: top 0 right -120px;
	}

	.header-langSwitcher {
		right: 15px;
	}
}

@media screen and (max-width: 1230px) {

	.header-content {
		display: block;
		padding-left: 15px;
	}

	.header-langSwitcher {
		top: 15px;
	}

	.header-text {
		padding-left: 0;
	}

	.header-text::before{
		display: none;
	}

	.header-location {
		position: relative;
		margin: 12px 0 0;
		padding-bottom: 35px;
	}

	.header-location::after {
		content: "";
		position: absolute;
		left: 27px;
		bottom: 0;
		width: 2px;
		height: 30px;
		background-color: #D5E5EC;
	}

	.header-title {
		margin-top: 5px;
	}

	.header-langSwitcher {
		right: 15px;
	}

	.registration-default h1 {
		margin: -41px 354px 0 0;
	}
	
	.registration-btn {
		padding-left: 15px;
	}

	.registration-btn {
		position: relative;
		margin: 0;
	}

	.registration-btn::after {
		content: "";
		position: absolute;
		left: 42px;
		bottom: -30px;
		width: 2px;
		height: 38px;
		background-color: #D5E5EC;
	}
}

@media screen and (max-width: 1090px) {

	.header {
		background-position: top 0 right -220px;
	}

	.lang-full-text {
        display: none;
    }

    .lang-short-text {
        display: inline;
    }

	.registration-default h1 {
		margin: -41px 257px 0 0;
	}

}

@media screen and (max-width: 990px) {
	.header {
		background-image: unset;
	}

	.header-content {
		padding-top: 25px;
	}

	.header-image-mobile {
		display: block;
		margin: -25px -15px 0 -30px;
	}

	.header-logo img {
		width: 128px;
		position: absolute;
	}

	.header-image-mobile img {
		width: 100%;
	}

	body:not(:has(.registration-btn)) .header-text {
		padding-bottom: 69px;
	}

	.header-location {
		margin: 25px 0 0;
        padding-bottom: 80px;
	}

	.header-location::after {
		height: 70px;
	}

	.registration-default h1 {
		margin: -41px 0 0 0;
		max-width: 715px;
		position: relative;
		z-index: 0;
	}

	.registration-default h1::after {
		content: "";
		height: 100%;
		width: 100vw;
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		background-color: #f04e26;	
	}

}

@media screen and (max-width: 620px) {

	.header-logo img {
		width: 108px;
	}
}


@media screen and (max-width: 480px) {

	.header-title,
	.header-date {
		font-size: 30px;
	}

	.header-date {
		margin-top: 3px;
		margin-bottom: 28px;
	}

	.registration-btn {
		margin-top: 9px;
	}

	.header-location::after {
		left: 19px;
	}

	.registration-btn::after {
        left: 34px;
    }
}


/* Forms*/

form[action*="token"] {
	margin-bottom: 45px;
	position: relative;
}

form[action*="token"]::before {
	content: "";
	width: 200vw;
	height: calc(100% + 142px + 99px);
	background-color: #f6f6f6;
	position: absolute;
	z-index: -10;
	top: -141px;
	right: -100vw;
	bottom: -99px;
	left: -174px;
}

label {
	color: #444;
	font-size: 16px;
	font-weight: 400;
}

.form-field {
	max-width: 726px;
	padding: 0 15px;
}

.form-horizontal .control-label {
	padding-top: 7px;
}

.participants-count-select {
	padding: 0 15px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: minmax(102px, 199px) minmax(210px, auto);
	grid-template-columns: minmax(102px, 199px) minmax(210px, auto);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.participants-count-select span {
	line-height: 1.2;
}

.form-control {
	height: 40px;
	border-radius: 6px;
	background: #fff;
	border: 1px solid rgba(163, 180, 186, 0.55);
	-webkit-box-shadow: none;
	        box-shadow: none;
}

.form-group {
	margin-bottom: 8px;
}

.form-group:has(input[name="register"]) {
	margin-left: 0;
}

.form-control.sizeXS {
	width: 20%;
}

.form-control.sizeS {
	width: 40%;
}

.form-control.sizeM {
	width: 60%;
}

.form-control.sizeL {
	width: 80%;
}

.iti {
	display: block;
}

.iti__selected-flag {
	padding: 1px 9px 0 18px;
}

.iti--separate-dial-code .iti__selected-dial-code {
    margin-left: 12px;
    font-weight: 600;
}

.iti--separate-dial-code .iti__selected-flag {
    background-color: #E5F1F7;
}

.iti__arrow {
    margin-left: 9px;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 8px solid #0089cf;
}

.btn {
	margin: 10px 0 20px;
	padding: 7px 45px;
	font-size: 18px;
	border-radius: 0;
	-webkit-transition-duration: .15s;
	     -o-transition-duration: .15s;
	        transition-duration: .15s;
	text-decoration: none;
}

.btn-primary {
	border: 0;
	border-radius: 6px;
	font-size: 22px;
	font-weight: 600;
	color: #fff;
}

.btn.btn-primary,
.btn.btn-primary:focus,
.btn.btn-primary:active {
	background-color: #0089cf;
}

.btn.btn-primary:hover {
	background: #115171;
}


.btn.btn-primary:not([href*="token"]),
.btn.btn-primary:not([href*="token"]):focus,
.btn.btn-primary:not([href*="token"]):active {
	background-color: #f04e26;
} 


.btn.btn-primary:not([href*="token"]):hover {
	background: #d93108;
}


.registrationForm {
	position: relative;
	z-index: 0;
	margin-bottom: 30px;
	padding-bottom: 43px;
}

.registrationForm::after {
	content: '';
	display: block;
	position: absolute;
	z-index: -10;
	background-color: #fff;
	top: -12px;
	right: -100vw;
	bottom: 0;
	left: -72px;
	-webkit-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
	        filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
}

.registrationForm .checkbox-offsetted, .registrationForm .radio-offsetted {
	margin-left: 80px;
}

.checkbox label, .radio label {
	padding-left: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	line-height: 1.5;
}

.registrationForm input[type=radio] {
	width: 20px;
	height: 20px;
	margin: 0;
	margin-left: -30px;
	accent-color: #0089cf;
}

.registrationForm input[type=checkbox].checkbox-static {
	position: static;
	margin-left: 0;
}

.registrationForm p {
	margin-top: 23px;
}

.registrationForm p:last-of-type {
	margin-bottom: 26px;
}

.registrationForm h2 {
	position: relative;
	margin: 43px -100vw 16px 0;
	padding-bottom: 12px;
	font-size: 18px;
	letter-spacing: 1px;
	color: #9BBECF;
	font-weight: 600;
}

.registrationForm h2::after {
	content: "";
	height: 2px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #d5e5ec;
}

.registrationForm h2.heading-first {
	margin-top: 20px;
}

.registrationForm h3 {
	font-size: 16px;
}

span.required {
	color: #f04e26;
}

p:has(span.required) {
	margin-top: 11px;
}


.message {
	font-size: 18px;
	margin: 20px 0 15px;
	max-width: 77rem;
}

.message-error {
	color: #e60000;
}

.alert {
	border-radius: 0;
	max-width: 80rem;
}

.tooltip-toggle {
	width: 22px;
	height: 22px;
	margin: 0 4px;
	display: inline-block;
	background-image: url('../img/location.svg');
	background-repeat: no-repeat;
	vertical-align: middle;
	cursor: help;
	position: relative;
	top: -1px;
}

.tooltipsy {
	max-width: 600px;
	font-size: 16px;
	text-align: left;
	padding: 15px 20px 0;
	line-height: 1.3;
	background-color: #67D898;
	-webkit-box-shadow: 0 8px 44px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 8px 44px rgba(0, 0, 0, 0.16);
	position: relative;
}

.tooltipsy .table, .tooltipsy .alert {
	margin-bottom: 14px;
}

.tooltipsy .table .table {
	margin-bottom: 0;
}

.tooltip-src {
	display: none;
}


.tooltipsy span {
	margin: 0 -20px;
	padding: 0 20px;
	display: block;
	background-color: #FFF;
}

.tooltipsy a {
	color: #444;
}


.tooltipsy span:first-child {
	margin: 0;
    padding: 0px 85px 11px 0;
    font-size: 19px;
    font-weight: 600;
    color: #fff;
    background-color: transparent;
	position: relative;
}

.tooltipsy span:nth-child(2){
	padding-top: 11px;
}

.tooltipsy > a:last-child {
	display: block;
	margin: 0 -20px;
	padding: 20px 20px 35px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	background-color: #fff;
}

.iti__flag {
	background-image: url('../img/flags.png');
}

@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 192dpi) {
	.iti__flag {
		background-image: url('../img/flags@2x.png');
	}
}

@media screen and (max-width: 1230px) {

	.registrationForm {
		padding-left: 34px;
	}

	.registrationForm::after {
		left: 0;
	}

	form[action*="token"]::before {
		height: calc(100% + 118px + 99px);
		top: -118px;
		bottom: -99px;
	}
}

@media screen and (max-width: 990px) {

	.tooltip-toggle {
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		margin-left: 10px;
	}
}

@media screen and (min-width: 768px) {

	.form-horizontal .control-label {
		padding-left: 15px;
		text-align: left;
		line-height: 1.2;
	}
}

@media screen and (max-width: 767px) {	
	
	.form-horizontal .form-group {
		margin-right: 0;
		margin-left: 0;
	}

	.form-field,
	.participants-count-select {
		padding: 0 15px 0 0;
	}

	#typeExtraContainer .form-field,
	#typeExtraContainer .participants-count-select {
		padding: 0;
	}

	form[action*="token"]::before {
		height: calc(100% + 118px + 66px);
		bottom: -66px;
	}
}


@media screen and (max-width: 510px) {	

	.tooltipsy span:first-child {
		padding: 0px 20px 11px 0;
	}
}


@media screen and (max-width: 460px) {

	.tooltip-toggle {
		margin: 0;
		position: absolute;
		top: 58px;
		left: 4px;
	}
}	


@media screen and (max-width: 400px) {	

	.participants-count-select {
		-ms-grid-columns: 75px auto;
		grid-template-columns: 75px auto;
	}
}


/* TABLES */

td[data-title]:first-of-type:not(.booking-summary td) {
	font-weight: 600;
}

.booking-summary {
	margin-right: calc(-100vw / 2 + 1200px / 2);
    margin-bottom: -136px;
	margin-left: -71px;
    padding: 25px 22px 156px 41px;
    background-color: #f6f6f6;
    -webkit-box-shadow: 0px -6px 0px #fff, 0px 2px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0px -6px 0px #fff, 0px 2px 6px rgba(0, 0, 0, 0.16);
    position: relative;
    z-index: 0;
}

.booking-summary .table {
	margin-top: 28px;
}

.booking-summary .table thead th,
.booking-summary .table tbody td {
	border: 0;
	padding: 13px 8px 15px 8px;
	text-align: left;
	position: relative;
}

.booking-summary .table tbody tr:last-child td {
	border: 0;
}

.booking-summary .table thead th {
	margin-top: 29px;
	padding-bottom: 9px;	
}

.booking-summary .table tbody td {
	margin-top: 29px;
	padding-bottom: 16px;	
}

.booking-summary .table thead th::after,
.booking-summary .table tbody td::after {
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: -1;
	left: 0;
}


.booking-summary .table thead th::after {
	bottom: 0;
	border-bottom: 3px solid #D5E5EC;
}

.booking-summary .table thead th:last-child::after {
	width: 100vw;
}

.booking-summary .table tbody td::after {
	bottom: 0;
	border-bottom: 1px solid #D5E5EC;
}

.booking-summary .table tbody td:last-child::after {
	width: 100vw;
}

.booking-summary .table th:first-child,
.booking-summary .table td:first-child {
	padding-left: 0;
}

.booking-summary + p:has(a[class*="btn-primary"]) {
	margin-left: -34px;
	position: relative;
	z-index: 10;
}

.registrationInstruction {
	color: #444;
	font-size: 18px;
}

.sessionBookingContainer {
	margin-bottom: 30px;
}

.sessionBookingContainer form table {
	width: auto;
}

.sessionBookingContainer > .registrationInstruction:first-child {
	margin-top: -36px;
	margin-bottom: 0;
}

.sessionBookingContainer:not(:has(.registration-btn)) .registrationInstruction {
	font-weight: 600;
	color: #f04e26;
}

.sessionBookingContainer > .registrationInstruction:only-child {
	margin-top: 121px;
    margin-left: -72px;
    margin-right: calc(-100vw / 2 + 1200px / 2);
    padding: 111px 40px;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
    font-size: 25px;
}

.sessionBookingHeading {
	margin-top: 50px;
}

.registrationDetail + .sessionBookingHeading {
	position: relative;
	z-index: 10;
	margin-left: -34px;
}

#typeExtraContainer {
	position: relative;
	margin-top: 20px;
	margin-bottom: 47px;
	padding: 24px 15px 50px 47px;
}

#typeExtraContainer::before {
	content: "";
	border-left: 27px solid transparent;
	border-right: 27px solid transparent;
	border-bottom: 21px solid #F6F6F6;
	position: absolute;
	top: -13px;
	left: 11px;
}

#typeExtraContainer::after {
	content: "";
	background-color: #F6F6F6;
	position: absolute;
	top: 0;
	right: -50vw;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.bookingGroup {
	margin: 0 0 5px -72px;
	margin-right: calc(-100vw / 2 + 1200px / 2);
	padding: 8px 22px 17px;
	background-color: #fff;
	-webkit-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
	        filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
	position:relative;
	z-index: 0;
}

.bookingGroup::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 42px solid transparent;
	border-right: 0;
	border-top: 33px solid #9BBECF;
	bottom: -33px;
	left: 0;
	position: absolute;
	z-index: -10;
}

.bookingGroup:has(.open:not(th)) {
	margin-bottom: 31px;
}

.bookingGroup:first-of-type {
	margin-top: 53px;
}

.bookingGroup .maximumAllowedCountNotice {
	margin-left: 21px;
	margin-bottom: 15px;
}

.designTable {
	border-collapse: separate;
	border-spacing: 6px 0;
	margin-left: -3px;

}

.designTable thead th {
	color: #9BBECF;
}

.designTable thead tr th {
	position: relative;
	min-width: 80px;
	border-bottom: 3px solid #D5E5EC;
	font-weight: 600;
}

.designTable tbody tr td, 
.designTable tbody tr th {
	font-weight: normal;
	line-height: 1.32;
	border-color: #D5E5EC;
	position: relative;
}

.designTable tbody tr td {
	padding: 13px 8px 10px 8px;
}

.designTable tbody tr:first-child td, 
.designTable tbody tr:first-child th {
	border: none;
}


.designTable tbody:first-child tr:first-child th {
	border-top: 3px solid #D5E5EC;
}

.designTable tbody:first-child td {
	font-weight: 600;
	border: 0;
}

.designTable tbody:first-child td:has(.inputContainer) {
	padding-bottom: 10px;
}

.designTable tbody:first-child .inputContainer + .maximumAllowedCountNotice {
	display: inline-block;
    margin: 0;
    margin-left: 15px;
    line-height: 1;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.designTable tbody tr:last-child td, 
.designTable tbody tr:last-child th {
	border-bottom: 1px solid #D5E5EC;
}

.bookingTable thead tr th {
    line-height: 1;
    padding: 8px 8px 8px 4px;
}


.bookingTable tbody tr th {
	max-width: 422px;
	padding: 13px 8px 10px 44px;
}

.bookingTable tbody tr th, 
.bookingTable tbody tr td {
	position: relative;
	height: 69px;
}

.bookingTable tbody tr td:last-child:empty {
	display: none;
}

.bookingTable thead th:last-child::after,
.bookingTable tbody tr:not(.collapsibleContent) td:last-child::after,
.bookingTable tbody tr:not(.collapsibleContent):last-child td:last-child::before,
.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) td:last-child::before,
.designTable tbody:first-child td:last-child::after,
.designTable tbody:first-child tr:last-child td:last-child::before {
	content: "";
	display: block;
	height: 100%;
	width: 100vw;
	position: absolute;
	z-index: -1;
	left: 0;
}

.bookingTable thead th:last-child:after {
	bottom: -3px;
	border-bottom: 3px solid #D5E5EC;
}

.designTable tbody:first-child tr:first-child td:last-child:after {
	top: 0;
	border-top: 3px solid #D5E5EC;
}

.bookingTable tbody tr:not(.collapsibleContent) td:last-child::after {
	top: -1px;
	border-top: 1px solid #D5E5EC;
}

.designTable tbody:first-child td:last-child::after {
	top: 0;
	border-top: 1px solid #D5E5EC;
}

.bookingTable tbody tr:not(.collapsibleContent):last-child td:last-child::before,
.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) td:last-child::before,
.designTable tbody:first-child tr:last-child td:last-child::before
{
	bottom: -1px;
	border-bottom: 1px solid #D5E5EC;
}

.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) th:not(.open),
.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child):not(:has(.open)) td {
	border-bottom: 1px solid #D5E5EC;
}



@media screen and (max-width: 1230px) {

	.bookingTable thead tr th {
		min-width: 70px;
	}

	.registrationDetail + .sessionBookingHeading {
		margin-left: 40px;
	}

	.booking-summary {
		margin-right: -18px;
        margin-left: 0;
	}

	.booking-summary + p:has(a[class*="btn-primary"]) {
		margin-left: 42px;
	}

	.sessionBookingContainer > .registrationInstruction:first-child {
		margin-top: -50px;
		padding-left: 15px;
	}

	.sessionBookingContainer > .registrationInstruction:only-child {
		margin-top: 3px;
		margin-left: 0;
		margin-right: -18px;
	}
}

@media screen and (min-width: 991px) {

	form[action*="token"] .bookingTable td:has(span.inputContainer) {
		text-align: center;
		padding-right: 0;
		padding-left: 0;
	}
}


@media screen and (max-width: 990px) {

	.designTable tbody:first-child th,
	.designTable tbody tr:last-child td, 
	.designTable tbody:first-child tr:first-child th,
	.designTable tbody:first-child td:last-child,
	.designTable tbody:first-child td:last-child::after,
	.designTable tbody:first-child tr:first-child td:last-child:after,
	.booking-summary .table tbody td::after  {
		border: 0;
	}

	.designTable tbody:first-child th::before {
		content: "";
		display: block;
		height: 100%;
		width: 100vw;
		position: absolute;
		z-index: -1;
		left: 0;
		top: -1px;
		border-top: 1px solid #D5E5EC;
	}

	.designTable tbody:first-child tr:first-child th::before {
		border-top: 3px solid #D5E5EC;
	}

	.designTable tbody:first-child td:last-child {
		padding: 0 8px 15px 0;
		display: block;
	}

	.designTable tbody:first-child .inputContainer + .maximumAllowedCountNotice {
		display: block;
		margin: 15px 0 0 0;
	}

	.booking-summary .table {
		margin-left: -4px;
		display: -ms-grid;
		display: grid;
	}

	.booking-summary .table tbody tr {
		padding-bottom: 20px;
	}

	.booking-summary .table tbody tr:first-child td:first-child {
        height: auto;
        padding-top: 21px;
    }

	.booking-summary .table tbody tr:first-child td:first-child::after {
		border-top: 3px solid #D5E5EC;
		width: 100vw;
	}

	.booking-summary .table tbody tr:not(:first-child) td:first-child::after {
        border-top: 1px solid #D5E5EC;
        width: 100vw;
    }

	.booking-summary .table tbody tr:last-child td:last-child::after {
		margin-bottom: -20px;
        border-bottom: 1px solid #D5E5EC;
    }

	.booking-summary .table tbody td[data-title]:first-child::before {
		padding-top: 20px;
	}


	.booking-summary td[data-title]::before {
		padding-left: 0;
	}

	.booking-summary td[data-title]:first-of-type {
        font-weight: 400;
    }

	.booking-summary + p:has(a[class*="btn-primary"]) {
		margin-left: 34px;
	}
}


@media screen and (max-width: 767px) {

	#typeExtraContainer {
		margin-left: -34px;
		padding-left: 34px;
	}

	#typeExtraContainer::before {
		left: 16px;
	}

	.bookingGroup::after {
		border-left: 33px solid transparent;
		border-top: 25px solid #9BBECF;
		bottom: -25px;
	}

	.bookingGroup:has(.open:not(th)) {
		margin-bottom: 25px;
	}
}

@media screen and (max-width: 480px) {

	.registrationDetail + .sessionBookingHeading {
			margin-left: 33px;
	}

	.booking-summary {
		padding-left: 32px;
	}
	
	.bookingGroup .maximumAllowedCountNotice {
		margin-left: 13px;
	}
}


/*/////////////////////////////////////*/

.booking-book {
	width: 100%;
	height: 120px;
	margin: 0;
	padding: 20px 0;
	background: #fff;
	-webkit-box-shadow: 0px 2px 26px rgba(0, 0, 0, 0.16);
	        box-shadow: 0px 2px 26px rgba(0, 0, 0, 0.16);
	position: fixed;
	z-index: 100;
	bottom: 0;
	left: 0;	
}

.booking-book .btn {
	margin-top: 15px;
}

.booking-book input.btn.btn-primary,
.booking-book input.btn.btn-primary:focus,
.booking-book input.btn.btn-primary:active {
	margin-left: 146px;
	background-color: #0089CF;
	opacity: 1;
}

.booking-book input.btn.btn-primary:hover {
	background-color: #115171;
}

.booking-book button,
.booking-book button:visited {
	border: 0;
	font-size: 16px;
	font-weight: 600;
	color: #0089CF;
	text-decoration: underline;
}

.booking-book button:hover,
.booking-book button:focus {
	border: none;
	color: #115171;
	background-color: transparent;
	text-decoration: none;
}

.booking-book .btn-default:active {
	background-color: transparent;
    border-color: transparent;
	-webkit-box-shadow: none;
	        box-shadow: none;
}


.inputContainer {
	height: 30px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	white-space: nowrap;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/*
td.conflicting {
	background-color: rgba(240, 78, 38, 0.26);
}
*/


td.conflicting .input-capacity {
	min-height: 100%;
	position: relative;
}

td.conflicting .input-capacity::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(240, 78, 38, 0.26);
	position: absolute;
	top: 10px;
	right: 0;
	bottom: -10px;
	left: 0;
	z-index: -10;
}


.conflictingAlert {
	white-space: normal;
	font-size: 14px;
	display: none;
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 150px;
	padding: 15px;
	color: #f04e26;
	background-color: #fff;
	z-index: 10;
	-webkit-box-shadow: 0px 3px 17px rgba(0, 0, 0, 0.16);
	        box-shadow: 0px 3px 17px rgba(0, 0, 0, 0.16);
}

.conflictingAlert::before {
	content: "";
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #fff;
    position: absolute;
    top: -7px;
    left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}

td.conflicting:hover .conflictingAlert {
	display: inline-block;
	text-align: center;
}

.inputContainer input[type=text] {
	display: none;
}

.inputContainer .countValue {
	width: 30px;
	display: inline-block;
    margin: 0px -3px 0 -4px;
    border-right: 1px solid #fff;
    min-width: 2rem;
    background-color: #67D898;
    padding: 7px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #fff;
    line-height: 1;
    vertical-align: top;
    position: relative;
    z-index: 5;
}

td.conflicting .inputContainer .countValue {
	background-color: #f04e26;
}

.inputContainer i {
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}

.inputContainer i.bi-dash-lg {
	cursor: auto;
}

.inputContainer i.bi-plus-square, 
.inputContainer i.bi-plus-square-fill, 
.inputContainer i.bi-check-square-fill {
	color: #67D898;
}

td.conflicting .inputContainer i.bi-plus-square,
td.conflicting .inputContainer i.bi-plus-square-fill,
td.conflicting .inputContainer i.bi-check-square-fill {
	color: #f04e26;
}

.inputContainer i.bi-plus-square-fill.disabled {
	color: #aae8c6;
}

.inputContainer i.bi-dash-square {
	color: #9BBECF;
}

td.conflicting .inputContainer i.bi-dash-square {
	color: #f04e26;
}

.inputContainer i.bi-square {
	color: #67D898;
}

.inputContainer [class^=bi-]::before {
	background-color: #fff;
	border-radius: 4px;
}

.capacity {
	font-size: 1.1rem;
	color: #444;
}

.bookingTable-readonly .capacity {
	font-size: 1.4rem;
}

.adminNotice {
	color: white;
	background: #f04e26;
	padding: 18px;
	margin: 30px 0;
	max-width: 80rem;
}

.maximumAllowedCountNotice {
	margin: 0 17px 39px 0;
	font-weight: 400;
	color: #f04e26;
}

.btn:focus, a:focus, input:focus {
	outline: none !important;
}

.inconsistentSubject, td:has(> .dupliciteSlot) {
	background: #ffd3d3;
}

.inconsistentSubject, .dupliciteSlot, .inputContainer.dupliciteSlot i {
	cursor: help;
}

.registrationDetail {
    margin-right: calc(-100vw / 2 + 1200px / 2);
	margin-left:-71px;
    padding: 30px 22px 40px 41px;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
    position: relative;
    z-index: 0;
}

.registrationDetail h1, 
.registrationDetail h2 {
	margin-top: 9px;
}

.registrationDetail .designTable {
	margin-top: 40px;
	margin-bottom: 40px;
}

.registrationDetail .designTable th {
	padding: 13px 62px 15px 0px;
}

.registrationDetail .designTable td {
	padding: 13px 8px 15px 8px;
}

@media screen and (max-width: 1230px){

	.registrationDetail {
		margin-right: -18px;
		margin-left: 0;
	}

	.booking-book input.btn.btn-primary,
	.booking-book input.btn.btn-primary:focus,
	.booking-book input.btn.btn-primary:active {
		margin-left: 44px;
	}
}

@media screen and (max-width: 990px) {

	.registrationDetail {
		margin-top: -41px;
	}

	.registrationDetail .designTable {
		margin-top: 51px;
		margin-bottom: 40px;
	}

	.registrationDetail .designTable th {
		padding: 13px 62px 3px 0px;
	}

	.booking-book input.btn.btn-primary,
	.booking-book input.btn.btn-primary:focus,
	.booking-book input.btn.btn-primary:active {
		margin-left: 0;
		padding: 7px 35px;
	}

	.booking-book button {
		padding: 10px 27px; 
	}

	.input-capacity {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}

	.capacity {
		width: 64px;
		margin-right: 20px;
		font-size: 16px;
		color: #444;
		-webkit-box-ordinal-group: 0;
		    -ms-flex-order: -1;
		        order: -1;
	}

	td.conflicting .input-capacity::after {
		top: 0;
		right:0;
		bottom: 0;
		left: 0;
	}

	td.conflicting .input-capacity:has(.capacity)::after {
		top: 0;
		right:0;
		bottom: 0;
		left: -10px;
	}

	.input-capacity .conflictingAlert {
		top: 100%;
	}

	.input-capacity:has(.capacity) .conflictingAlert {
		left: 25px;
	}
}

@media screen and (max-width: 480px) {

	.registrationDetail {
		padding: 20px 22px 6px 32px;
	}

	.booking-book button {
		padding: 10px 0 10px 15px; 
	}
}

@media screen and (max-width: 400px) {

	.booking-book input.btn.btn-primary, 
	.booking-book input.btn.btn-primary:focus, 
	.booking-book input.btn.btn-primary:active {
		padding: 7px 20px;
	  }
}


/*Body*/
.body-content {
	position: relative;
	margin-top: -195px;
	padding-left: 189px;
	-webkit-transition-duration: .15s;
	     -o-transition-duration: .15s;
	        transition-duration: .15s;
}

@media screen and (max-width: 1230px) {

	.header-text {
		padding-bottom: 192px;
	}

	.body-content {
		margin-top: -160px;
	}
}

@media screen and (max-width: 990px) {

	body:not(:has(.registration-btn)) .body-content {
        margin-top: -24px;
    }
}


@media screen and (max-width: 480px) {

	.header-text {
		padding-bottom: 220px;
	}

	.body-content {
		margin-top: -177px;
	}
}

/*Collapsing sections*/

.toggle-icon {
	width: 33px;
	height: 33px;
	margin-right: 14px;
	border-radius: 9999px;
	color: #fff;	
	line-height: 1;
	font-weight: 600;
	background-color: #0089cf;
	position: absolute;
	top: 17px;
	left: -3px;
}

.toggle-icon::after {
	content: "i";
	color: #fff;
}

h3.toggleContent {
	display: inline-block;
    cursor: pointer;
    padding: 13px 37px 10px 20px;
	margin-bottom: 8px;
    background: #fff url(../img/arrow.svg) right center no-repeat;
}

h3.toggleContent.open {
	font-size: 35px;
	font-weight: 600;
	background: #fff;
	margin-top: 14px;
}

.bookingGroup:has(.maximumAllowedCountNotice) h3.toggleContent {
	margin-bottom: 0;
}

.collapsibleContent {
	display: none;
}

table.collapsibleContent {
	padding: 16px 10px 10px 21px;
    margin-top: 0;
}

th.toggleContent {
	position: relative;
	cursor: pointer;
}

tr.collapsibleContent td {
	position: relative;
	border: 0 !important;
	padding: 0 0 46px !important;
	background-color: #F6F6F6;
}

th.open:after,
tr.collapsibleContent td::after {
	content: "";
	display: block;
	height: calc(100% + 1px);
	width: 100vw;
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: -1px;
	left: -47px;
	background-color: #F6F6F6;
}

tr.collapsibleContent:last-child {
	position: relative;
}

tr.collapsibleContent:last-child::after {
	content: "";
	display: block;
	height: 100%;
	width: 100vw;
	position: absolute;
	z-index: -1;
	left: 0;
}

tr.collapsibleContent:last-child::after {
	bottom: -1px;
	border-bottom: 1px solid #D5E5EC;
}

tr:has(th.open){
	background-color: #F6F6F6;
}

tr:has(th.open) td {
	-webkit-box-shadow: -6px 0 0 #F6F6F6;
	        box-shadow: -6px 0 0 #F6F6F6;
}

tr > th.open .toggle-icon {
	width: 27px;
	height: 27px;
	left: 0;
	color: #fff;
	background-color: #f04e26;
}

tr > th.open .toggle-icon::before,
tr > th.open .toggle-icon::after {
    content: "";
    display: block;
    width: 10px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform-origin: center;
        -ms-transform-origin: center;
            transform-origin: center;
}

tr > th.open .toggle-icon::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
        -ms-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
}

tr > th.open .toggle-icon::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        -ms-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
}

tr > th.toggleContent.open {
	color: #f04e26;
	font-weight: 600;
}


@media screen and (max-width: 1230px) {

	.body-content {
		padding-left: 15px;
	}

	.bookingGroup {
		margin-right: -18px;
		margin-left: 0;
		padding: 8px 22px 17px;
	}

	.bookingGroup:first-of-type {
		margin-top: 30px;
	}


}

@media screen and (max-width: 1090px) {
	.container{
		width: auto;
		max-width: 100%;
	}
}

@media(max-width: 990px) {
	thead {
		display: none;
	}

	tbody tr,
	tbody th,
	tbody .collapsibleContent td {
		display: block;
		width: 100%;
	}

	tbody tr {
		position: relative;
	}

	td[data-title] {
		display: table-row;
	}

	td:not([data-title]):has(span.inputContainer:only-child){
		padding: 0px 8px 10px 38px;
	}


	/*
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child):has(td:last-child:empty) td:nth-last-child(2)::before,
	.bookingTable tbody tr:not(.collapsibleContent):last-child:has(td:last-child:empty) td:nth-last-child(2)::before,*/
	td[data-title]::before,
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) td:last-child::before,
	.bookingTable tbody tr:not(.collapsibleContent):last-child td:last-child::before {
		content: attr(data-title);
		width: auto;
		padding: 0px 22px 14px 40px;
		color: #9BBECF;
		font-weight: bold;
		display: table-cell;
		z-index: 0;
	}

	/*
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child):has(td:last-child:empty) td:nth-last-child(2)::before,
	.bookingTable tbody tr:not(.collapsibleContent):last-child:has(td:last-child:empty) td:nth-last-child(2)::before,*/
	.bookingTable tbody tr:has(th.open),
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) td:last-child::before,
	.bookingTable tbody tr:not(.collapsibleContent):last-child td:last-child::before {
		position: relative;
	}

/*
	tr > th.open span {
		display: grid;
		font-weight: 400;
	}
*/
	.toggle-icon {
		top: 15px;
		left: 0;
	}
	
	tr > th.open .toggle-icon {
		font-weight: 600;
		left: 2;
	}

	tr > th.toggleContent.open  {
		position: static;
	}

	.bookingTable tbody tr:not(.collapsibleContent) {
		padding-bottom: 20px;
	}

	.bookingTable tbody tr.collapsibleContent {
		margin-bottom: 1px;
	}
	
	/*.bookingTable tbody tr th {
		display: flex;
		align-items: center;
		height: 66px;
		padding: 13px 0px 10px 44px;
	}*/

	.bookingTable tbody tr td {
        height: auto;
        padding: 0px 8px 10px 44px;
    }

	table.collapsibleContent {
		padding: 12px 10px 10px 24px;
	}

	/*
	.bookingTable tbody tr:not(.collapsibleContent):has( td:last-child:empty) td:nth-last-child(2)::after,
	.bookingTable tbody tr:not(.collapsibleContent):last-child:has(td:last-child:empty) td:nth-last-child(2)::before,
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child):has(td:last-child:empty) td:nth-last-child(2)::before,*/
	.bookingTable>tbody>tr>td,
	.bookingTable tbody tr th,
	.designTable tbody tr:last-child th,
	.bookingTable tbody tr:not(.collapsibleContent) td:last-child::after, 
	.bookingTable tbody tr:not(.collapsibleContent):last-child td:last-child::before,
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) th:not(.open),
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child):not(:has(.open)) td,
	.bookingTable tbody tr:has(+ tr.collapsibleContent:last-child) td:last-child::before {
		border: 0;
	}

	.bookingTable tbody tr:first-child th::before,
	.bookingTable tbody tr th::before  {
		content: "";
		display: block;
		height: 100%;
		width: 100vw;
		position: absolute;
		z-index: 0;
		left: 0;
		top: -1px;
		border-top: 1px solid #D5E5EC;
	}

	.bookingTable tbody tr:first-child th::before {
		top: -3px;
	}
	
	.bookingTable tbody tr:first-child th::before {
		border-top: 3px solid #D5E5EC;
	}

	th.open:after,
	tr.collapsibleContent td::after {
		left: -35px;
	}

	.bookingTable tbody tr th {
		height: auto;
		padding: 21px 0px 18px 46px;
	}
	

}

@media screen and (max-width: 480px) {

	.bookingGroup {
		padding: 8px 22px 17px;
	}

	table.collapsibleContent {
		padding: 12px 10px 10px 16px;
	}
	
	h3.toggleContent {
		font-size: 26px;
		padding: 0 22px 0px 12px;
		margin: 22px 0 12px;
		background: #fff url(../img/arrow.svg) right 10px no-repeat;
		background-size: 14px;
		z-index: 0;
	}

	h3.toggleContent.open {
		font-size: 26px;
		margin: 21px 0 17px;
	}

}


/*Anotation*/

.anotation {
	display: -ms-grid;
	display: grid;
}

.anotation-heading {
	margin: 23px 0 0;
	font-weight: 600;
}

.anotation-heading:first-of-type {
	margin: 0px;
}

.anotation-image {
	width: 203px;
	height: 203px;
	border-radius: 100%;
	overflow: hidden;
}

.anotation-text {
	max-width: 825px;
	margin: 5px 0 17px;
}

.anotation-image {
	margin-bottom: 20px;
}

.anotation-image img {
	-o-object-fit: cover;
	   object-fit: cover;
}

.anotation-speakerName {
	margin: 13px 0 0;
	font-size: 20px;
	font-weight: 600;
	color: #0089CF;
}


@media screen and (min-width: 720px) {
	.anotation{
		-ms-grid-columns: auto 1fr;
		grid-template-columns: auto 1fr;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: start;
	}

	.anotation-heading,
	.anotation-heading:first-of-type {
		margin: 5px 0 0;
	}

	.anotation-image {
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		-ms-grid-row-span: 5;
		grid-row: 1 / 6;
		margin-right: 33px;
		margin-bottom: 0;
	}

	.anotation-heading,
	.anotation-text,
	.anotation-speakerName {
		-ms-grid-column: 2;
		grid-column: 2;
	}
}


/*Success page*/

.content-success {
	position: relative;
	z-index: 0;
	max-width:700px;
}

.content-success .message {
	margin-bottom: 34px;
}

.message-success {
    margin: 0;
    margin-left: -72px;
    padding: 38px 155px 67px 75px;
    font-size: 45px;
	line-height: 1;
    font-weight: 600;
    color: #fff;
    background-color: #67d898;
	position: relative;
	z-index: 0;
}

.content-success .btn {
	margin: 25px 0 69px;
	background-color: #0089cf;
}

.content-success .btn:hover {
	background-color: #115171;
}

.content-success::after {
	content: "";
	position: absolute;
	z-index: -10;
	top: 119px;
	right: -100vw;
	bottom: 0;
	left: -72px;
	background-color: #fff;
	-webkit-filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));
	        filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.16));

}

@media screen and (max-width: 1230px) {

	.message-success {
		margin: -41px 0 0 -34px;
		padding: 38px 155px 64px 34px;
		line-height: 1.1;
	}

	.content-success {
		padding-right: 14px;
		padding-left: 34px;
	}

	.content-success::after {
		left: 0;
	}
}

@media screen and (max-width: 990px) {

	.message-success {
		max-width: 100%;
		padding: 35px 0 35px 34px;
	}

	.message-success::after {
		content: "";
		height: 100%;
		width: 100vw;
		background-color: #67d898;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	.content-success {
		max-width: 100%;
	}
}

@media screen and (max-width: 480px) {
    .message-success {
        font-size: 35px;
    }
}




/*Contact*/

.contact .container {
	width: 1226px;
	margin-bottom: 440px;
	padding: 30px 57px 0;
	background: #ecf8fe;
	position: relative;
	overflow-x: clip;
}

.contact-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 33px 0;
	width: 100%;
	max-width: 1114px;
	background: #fff;
	-webkit-box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
	        box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
}

.contact-box-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 42px 31px;
}

.contact-box-item:first-of-type {
	width: 35%;
}

.contact-box-item:not(:first-of-type) {
	width: 33%;
	border-left: 1px dashed #C3C3C3; 
	padding-left: 43px;
}

.contact-box a {
	font-size: 21px;
	text-decoration: underline;
}

.contact-box a:hover {
	text-decoration: none;
}

.contact-icon {
	width: 57px;
	height: 57px;
	margin-right: 16px;
}

.box-item-text {
	font-size: 24px;
}

.box-item-text div:last-child {
	font-size: 16px;
}

.contact-venue {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 2fr;
	grid-template-columns: 1fr 2fr;
	margin: 69px 0 0;
}

.contact-venue__transport {
	-ms-grid-column-span: 2;
	grid-column: span 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.address {
	min-width: 330px;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	padding-right: 30px;
}

.transport-items {
	max-width: 757px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 51% auto;
	grid-template-columns: 51% auto;
}

.transport-items p {
	-ms-grid-column-span: 2;
	grid-column: span 2;
}

.transport-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px 21px 40px 70px;
	position: relative;
}

.transport-item::before {
	content: "";
	width: 1px;
	height: 100%;
	border-left: 1px dashed #C3C3C3;
	position: absolute;
	bottom: 0;
	left: 30px;
}

.transport-item:last-of-type {
	padding-right: 0;
}

.transport-item .contact-icon {
	position: absolute;
	top: 0;
	left: 0;
}

.transport-item__text span {
	font-weight: 600;
}


.img-building {
	margin: 0 -58px -178px -24px
}

.map {
	height: 413px;
	position: relative;
	right: -58px;
	margin-bottom: -278px;
	text-align: right;
}



@media screen and (max-width: 1140px) {

	.contact-box-item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.contact-icon {
		margin-right: 0;
		margin-bottom: 7px;
	}

	.box-item-text {
		text-align: center;
	}

	.transport-items {
		max-width: 100%;	
		-ms-grid-columns: 1fr;	
		grid-template-columns: 1fr;
	}

	.transport-items p {
		-ms-grid-column-span: 1;
		grid-column: span 1;
	}

	.transport-item {
		padding-right: 0;
	}

	.transport-item:first-of-type {
		padding-bottom: 15px;
	}

}

@media screen and (max-width: 920px) {

	.contact .container {
		padding: 30px;
	}

	.contact-box {
		margin: 40px 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.contact-box-item {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		width: 100%;
	}

	.contact-box-item:first-of-type {
		width: auto;
		padding-left: 30px;
	}

	.contact-box-item:not(:first-of-type)  {
		width: auto;
		border-top: 1px dashed #C3C3C3;
		border-left: 0;
		padding-left: 30px;
	}

	.contact-icon {
		margin-right: 16px;
		margin-bottom: 0;
	}

	.box-item-text {
		text-align: initial;
	}

	.img-building {
		margin-left: 0;
		margin-right: -30px;
	}

	.map {
		right: -30px;
	}
}

@media screen and (max-width: 780px) {

	.contact .container {
		margin-bottom: 60px;
		padding: 30px 30px 0;
	}

	.contact-venue {
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
	}

	.contact-venue__transport {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
		-ms-grid-column-span: 1;
		grid-column: 1 span;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.transport-items {
		margin-top: 50px;	
	}

	.transport-item,
	.transport-item:last-of-type {
		padding-right: 50px;
	}

	.img-building {
		-webkit-box-ordinal-group: 1;
		    -ms-flex-order: 0;
		        order: 0;
        margin-right: 0;
        margin-bottom: 45px;
	}

	.img-building img {
		width: 100%;
	}

	.map {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
		right: initial;
		margin: 0 -30px;
	}

}

/*
@media screen and (min-width: 571px) {

	.transport-item__text span {
		color: inherit;
		font-weight: 400;
	}
}
*/

@media screen and (max-width: 570px) {

	.transport-item {
		margin-right: -20px;
		padding: 70px 40px 40px 0;
	}
	
	.transport-item::before {
		width: 100%;
		height: 1px;
		border: 0;
		border-top: 1px dashed #C3C3C3;
		left: 0;
		top: 30px;
	}
}

@media screen and (max-width: 415px) {

	.address {
		min-width: initial;
	}
	
	.contact-box-item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: start;
	}

	.contact-icon {
		margin-right: 0;
		margin-bottom: 7px;
	}
}



/*FOOTER*/

.footer-content {
	display: -ms-grid;
	display: grid;
	grid-auto-rows: 160px;
	line-height: 1;
}

.footer-link {
	background-color: #f04e26;
	-ms-flex-line-pack: end;
	    align-content: end;
	padding-bottom: 80px;
	text-align: left;
}

.footer-link a {
	color: #fff;
	font-size: 29px;
	font-weight: 600;
	text-decoration: none;
}

.footer-copyright {
	color: #fff;
	font-size: 16px;
	background-color: #0089cf;
	-ms-flex-line-pack: end;
	    align-content: end;
	padding-bottom: 83px;
	text-align: center;
}

.footer-social {
	background-color: #a9d5eb;
	color: #fff;
	-ms-flex-line-pack: end;
	    align-content: end;
	padding-bottom: 66px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
}

.social-icon {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 56px;
	height: 56px;
	margin-left: 6px;
	border-radius: 7px;
	background: #fff;
	-webkit-box-shadow: 0px 3px 6px rgba(32, 76, 143, 0.18);
	        box-shadow: 0px 3px 6px rgba(32, 76, 143, 0.18);
	-webkit-transition-duration: .15s !important;
	     -o-transition-duration: .15s !important;
	        transition-duration: .15s !important;
    -webkit-transition-property: background-color, fill;
    -o-transition-property: background-color, fill;
    transition-property: background-color, fill;
    -webkit-transition-timing-function: cubic-bezier(.4,0,.2,1);
         -o-transition-timing-function: cubic-bezier(.4,0,.2,1);
            transition-timing-function: cubic-bezier(.4,0,.2,1);
}

.social-icon:first-of-type {
	margin-left: 0;
}

.social-icon:hover{
	background-color: #0089cf;
}

.social-icon:hover svg path {
	fill: #fff;
}


@media screen and (min-width: 920px) {
	
	.footer{
		background: -webkit-gradient(linear, left top, right top, color-stop(50%, #f04e26), color-stop(0, #a9d5eb));
		background: -o-linear-gradient(left, #f04e26 50%, #a9d5eb 0);
		background: linear-gradient(90deg, #f04e26 50%, #a9d5eb 0);
        margin-top: 7rem;
	}

	.footer-content {
		-ms-grid-columns: 31.1% 31.4% 1fr;
		grid-template-columns: 31.1% 31.4% 1fr;
	}
}

@media screen and (max-width: 919px) {
	.footer-content {
		margin-right: -15px;
		margin-left: -15px;
	}

	.footer-link {
		padding-bottom: 70px;
		text-align: center;
	}

	.footer-social {
		padding-bottom: 60px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	.footer-copyright {
		padding-bottom: 70px;
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}
}


/*HELPERS*/

.color-primary {
	color: #0089cf;
}

.color-secondary {
	color: #f04e26;
}

.bg-primary {
	background-color: #0089cf;
}

.bg-secondary {
	background-color: #f04e26;
}

.hidden {
	display: none;
}

.line {
	position: relative;
	padding-top: 20px;
}

.line::after {
	content: "";
	height: 1px;
	width: 100vw;
	background-color: #D5E5EC;
	position: absolute;
	left: 0;
}

.line-above::after {
	top: 0;
}

.line-bellow::after {
	bottom: 0;
}


/*HOME LINK*/

.home-link {
	margin-top: 30px;
}

.home-link::before {
	height: 250px;
	width: 1px;
	position: absolute;
	z-index: -10;
	bottom: 0;
	left: 158px;
	background-color: #D5E5EC;
}


.home-link div {
	padding: 15px 0 124px;
	position: relative;
	left: -54px;
}

.home-link a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding-left: 43px;
	text-decoration: none;
}

.home-link a:hover {
	text-decoration: underline;
	color: #115171;
}

.home-link a::before {
	content: "";
	height: 15px;
	width: 17px;
	position: absolute;
	left: 0;
	background: #fff url(../img/arrow.svg) no-repeat;
	-webkit-transform: rotate(180deg);
	    -ms-transform: rotate(180deg);
	        transform: rotate(180deg);
}

@media screen and (max-width: 1230px) {

	.home-link::before {
		left: 56px;
	}

	.home-link div {
		left: 18px;
	}
}

@media screen and (max-width: 767px) {

	.home-link::before {
		left: 48px;
	}

	.home-link div {
		left: 8px;
		padding: 3px 0 81px;
	}
}
