#mainmenu {background:#ffffff;}

#mainmenu .offcanvas-header {-webkit-box-pack: end;-webkit-justify-content: flex-end;-ms-flex-pack: end;justify-content:flex-end}
#mainmenu .offcanvas-header h5 {font-weight: 400; font-style: italic; display: none;}
#mainmenu .offcanvas-header button { padding:0.8rem; opacity: 0.75;}

#mainmenu .offcanvas-body {padding-top:0; padding-left:0; padding-right: 0;}
#mainmenu .offcanvas-body ul {position: relative; padding: 1rem 1rem 0 1rem;}
#mainmenu .offcanvas-body ul li {position: relative; margin: 0 0 11px;}
#mainmenu .offcanvas-body ul li a {position: relative; font-size: 1.125rem; padding: 19px 19px 19px 50px; display: block;box-shadow: 0 0 9px rgba(0,0,0,.2); line-height: 1.2; color:#333; font-weight: 700;}
#mainmenu .offcanvas-body ul li a i.bi {position: absolute; left: 25px;font-size: 26px; height:26px;line-height: 1; text-align: center; top:50%; transform:translate(-50%, -50%);}
#mainmenu .offcanvas-body ul li a i.bi:before {background:-webkit-gradient(linear,left top,right top,from(#f99919),color-stop(21%,#f4702a),color-stop(40%,#ee254a),color-stop(60%,#ed2870),color-stop(80%,#c52378),to(#861766)); background:linear-gradient(120deg,#f99919 0%,#f4702a 21%,#ee254a 40%,#ed2870 60%,#c52378 80%,#861766 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

#mainmenu .offcanvas-body ul li.item-location a {background-color: #830065;box-shadow: none; color:#fff;}
#mainmenu .offcanvas-body ul li.item-location a i.bi {color:#fff;}
#mainmenu .offcanvas-body ul li.item-location a i.bi:before {background:none; color: #fff; -webkit-background-clip: none; -webkit-text-fill-color:#fff;}

#programmenu {background:#fff;}

#programmenu .offcanvas-header {-webkit-box-pack: end;-webkit-justify-content: space-between;-ms-flex-pack: justify;justify-content:space-between; background-color:#f9f9f9;}
#programmenu .offcanvas-header h5 {font-weight:700;}
#programmenu .offcanvas-header button { padding:0.8rem; opacity: 0.75;}

#programmenu .offcanvas-body {padding-top:0;}
#programmenu .offcanvas-body ul {position: relative;}
#programmenu .offcanvas-body ul li {position: relative; border-bottom:1px solid rgba(0,0,0,0.15);}
#programmenu .offcanvas-body ul li a {position: relative; font-size: 1.125rem; padding: 1rem 0 1rem 3.5rem; color:#333; display: block; line-height: 1.2; font-weight: 500;}
#programmenu .offcanvas-body ul > li a i.bi {position: absolute; left: 25px;font-size: 26px; height:26px;line-height: 1; text-align: center; top:50%; transform:translate(-50%, -50%);color:#fff;}
#programmenu .offcanvas-body ul li a i.bi:before {background:-webkit-gradient(linear,left top,right top,from(#f99919),color-stop(21%,#f4702a),color-stop(40%,#ee254a),color-stop(60%,#ed2870),color-stop(80%,#c52378),to(#861766)); background:linear-gradient(120deg,#f99919 0%,#f4702a 21%,#ee254a 40%,#ed2870 60%,#c52378 80%,#861766 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
#programmenu .offcanvas-body ul li a i.fas {position: absolute; right: 0.5rem;width:20px;line-height: 1; text-align: center; top:50%; margin-top:-10px;}

#programmenu .offcanvas-body ul li.item-location {display: none;}
#programmenu .offcanvas-body ul li.item-location a {font-style: italic;}
/*
#programmenu .offcanvas-body ul li.item-location a {background-color: #830065;box-shadow: none; color:#fff;}
#programmenu .offcanvas-body ul li.item-location a .bi:before {-webkit-text-fill-color: #fff;}
*/

#programmenu .submenu {position: fixed; right:-200%; top:0; bottom:0; background:#fff;width:400px; max-width:100%; height:100%; padding: 0; z-index:201; -webkit-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0); -webkit-transition: all 0.5s; -moz-transition: all 0.5s; transition: all 0.5s;}
#programmenu .submenu.subopen {right:0; -webkit-transform: translate3d(0px, 0, 0); -moz-transform: translate3d(0px, 0, 0); transform: translate3d(0px, 0, 0);}

#programmenu .submenu a.mp-back {padding-left: 30px;  font-weight: 700; font-size: 1.25rem; font-family: 'museo', serif;}
#programmenu .submenu a.mp-back i {right:auto;left: 0; margin-top:-11px;}

#programmenu .submenu ul {padding: 1rem; height:auto; max-height: 100%;}
#programmenu .submenu ul li {}
#programmenu .submenu ul li a {}

#programmenu .submenu ul li.nothing {padding:1rem 0; font-style: italic;}


.offcanvasmenu a.mainlink {text-decoration: underline; text-align: center; display: block; width:100%; position: relative; margin:1.5rem auto 0 auto; font-size: 1rem;}

#searchmenu.offcanvas.offcanvas-top {height:24vh;border-bottom: none;}
#searchmenu .offcanvas-header {-webkit-box-pack: end;-webkit-justify-content: space-between;-ms-flex-pack: justify;justify-content:space-between; background-color:#f9f9f9;}
#searchmenu .offcanvas-header h5 {font-weight:700;}
#searchmenu .offcanvas-header button { padding:0.8rem; opacity: 0.75;}

#searchmenu {background:#fff;}
#searchmenu form {position: relative;}
#searchmenu form > div {position: relative;}
#searchmenu form input {background-color:#fff; position: relative; padding-right:3rem;}
#searchmenu form button {background:none; border:none; color:#333; font-size: 1.25rem; position: absolute; right: 0; top: 0; height:100%; width:3rem; text-align: center;}

.offcanvasmenu .mCSB_scrollTools {right: 0;}

@media (max-width: 400px) {
    body.backdrop .offcanvas-backdrop.show {opacity: 0 !important;}
}

@media (max-width: 350px) {
    #mainmenu .offcanvas-body ul li a {font-size: 1rem;padding: 16px 10px 16px 40px;}
    #mainmenu .offcanvas-body ul li a i.bi {font-size: 22px;height:22px;left:20px;}
    
    #searchmenu.offcanvas.offcanvas-top {height:30vh;}
}

@media (max-height: 576px) and (orientation: landscape) {
    #searchmenu.offcanvas.offcanvas-top {height:auto;}
}