#sidepanel {
	bottom: 70px;
	transform: translateY(100%);
}

#sidepanel.transition {
	transition: visibility 0s linear .35s, transform .35s cubic-bezier(0,0,0.1,1);
	visibility: hidden;
}

#sidepanel.active {
	transform: translateY(0);
	visibility: visible;
	transition: visibility 0s linear 0s, transform .35s cubic-bezier(0,0,0.1,1);
}

#sidepanel-info {
	bottom: 0;
}

#sidepanel,
#sidepanel-info {
	max-width: 100vw;
	min-width: 100vw;
	width: auto;
}

#sidepanel.active,
#sidepanel.active.level-2 #sidepanel-info {
	box-shadow: none;
}

#sidepanel-info {
	visibility: unset;
	transform: translateX(100%);
}

#sidepanel .extra-content > .content {
	padding-bottom: 25vh;
}

#sidepanel h3,
#sidepanel .h3 {
	font-size: 19px;
	font-weight: 600;
	margin-bottom: 15px;
}

#sidepanel h4,
#sidepanel .h4 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 15px;
}

#sidepanel .content .sub-header {
	font-size: 18px;
}

/* headers when displayed in sidepanel info should be smaller */
#sidepanel-info > .content h2,
#sidepanel-info > .content .h2,
#sidepanel-info > .content h3,
#sidepanel-info > .content .h3,
#sidepanel-info > .content  h4,
#sidepanel-info > .content .h4 {    
	font-size: 16px !important;
	font-weight: 600;
}

/* headers when displayed in sidepanel info should be smaller */
#sidepanel-info > .content h5,
#sidepanel-info > .content.h5 {
	font-size: 14px;
	font-weight: 600;
}

#sidepanel .content .menu-item:first-child > .option-value-header {
	padding-top: 15px;
}

/* hide the open tab */
#sidepanel::before,
#sidepanel::after {
	display: none;
}

#sidepanel .content-title,
#sidepanel .extra-content > .content-title,
#sidepanel-info .content-title {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0;
	margin: 0;
}

#sidepanel .content-title > span,
#sidepanel .extra-content > .content-title > span,
#sidepanel-info .content-title > span {
	font-size: 19px;
	font-weight: 800;
	padding-left: 65px;
	padding-right: 65px;
}

#sidepanel .content {
	height: calc(100vh - 60px);
	height: calc(100dvh - 60px);
	padding-left: var(--horizontal-margin);
	padding-right: var(--horizontal-margin);
	padding-bottom: 25vh;
}

#sidepanel .btn-close,
#sidepanel > .content .btn-previous,
#sidepanel-info > .btn-previous {
	position: absolute;
	top: 8px;
	right: auto;
	padding: 10px;
}

#sidepanel > .content .btn-previous,
#sidepanel-info > .btn-previous {
	left: 10px;
}

#sidepanel .btn-close {
	right: 8px;
}

#sidepanel .btn-close > span,
#sidepanel > .content .btn-previous > span,
#sidepanel-info > .btn-previous > span {
	font-size: 24px;
}

#sidepanel .no-margins {
	margin-left: calc(var(--horizontal-margin) * -1);
	margin-right: calc(var(--horizontal-margin) * -1);
}

/* contact button */
#sidepanel .btn-contact {
	padding: 20px 55px;
	margin: 0;
	font-size: 16px;
}

#sidepanel .btn-contact.btn-phone-icon {
	display: block;
	margin: 0 auto 35px auto;   
}

#sidepanel .btn-contact.btn-phone-icon::before {
	left: 30px;
	font-size: 24px;
}

#sidepanel .content .agent-item .btn-contact {
	padding: 10px 11px;
}

#sidepanel .content .agent-item .btn-contact > .material-icons {
	font-size: 19px;
}

#sidepanel .content  .button-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

#sidepanel .content  .button-container .btn:only-child {
	margin-left: 35px;
	margin-right: 35px;
}

#sidepanel .content .sticky-footer {
	position: sticky;
	bottom: calc(-25vh + 60px);
	padding-top: 1px;
	padding-bottom: 1px;
	background-color: white;
}

#sidepanel .content .sticky-footer > .button-container {
	margin-top: 25px;
	margin-bottom: 50px;
	padding: 0;
}

/* F.A.Q */
#sidepanel .sidepanel-faq {
	margin-left: calc(var(--horizontal-margin) * -1);
	margin-right: calc(var(--horizontal-margin) * -1);
}

#sidepanel .sidepanel-faq .sidepanel-nav > .menu-header,
#sidepanel .sidepanel-faq .internal-anchor {
	padding-left: var(--horizontal-margin);
	padding-right: 45px;
}

#sidepanel .sidepanel-faq .internal-anchor::after {
	right: 25px;
}