/* START_SECTION:htt-course-map (INDEX:21) */
.htt-course-map{max-width:1280px;margin:48px auto 54px;padding:0 20px;color:#193f31}
.htt-course-map__header{text-align:center;margin:0 0 22px}
.htt-course-map__header h2{color:#17583e;font-size:clamp(25px,3vw,36px);line-height:1.22;margin:0 0 8px;font-weight:700}
.htt-course-map__header p{margin:0;color:#50685d;font-size:15px}
.htt-course-map__layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr);border:1px solid #dbe5de;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(16,65,39,.07)}
.htt-course-map__canvas{position:relative;min-height:465px;background:#eef3ed;overflow:hidden;touch-action:none;cursor:grab}
.htt-course-map__canvas:active{cursor:grabbing}
.htt-course-map__tiles,.htt-course-map__pins{position:absolute;inset:0;overflow:hidden}
.htt-course-map__tile{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}
.htt-course-map__google{display:none;position:absolute;inset:0}
.htt-course-map.is-google-map .htt-course-map__google,.htt-course-map.is-google-loading .htt-course-map__google{display:block}
.htt-course-map.is-google-map .htt-course-map__tiles,.htt-course-map.is-google-map .htt-course-map__pins,.htt-course-map.is-google-map .htt-course-map__controls,.htt-course-map.is-google-map .htt-course-map__attribution{display:none}
.htt-course-map.is-google-map .htt-course-map__canvas{touch-action:auto;cursor:default}
.htt-google-course-popup{min-width:180px;padding:2px 4px 5px}
.htt-google-course-popup img{width:100%;height:125px;object-fit:cover;border-radius:7px}
.htt-google-course-popup h3{font-size:15px;margin:9px 0 6px;color:#174f36}
.htt-google-course-popup a{display:block;padding:9px 12px;text-align:center;background:#277c52;color:#fff;text-decoration:none;border-radius:6px;font-weight:700}
.htt-course-map__pins{pointer-events:none}
.htt-course-map__pin{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-100%);width:35px;height:35px;padding:0;border:3px solid #fff;border-radius:50%;color:#fff;background:#277c52;font-size:19px;line-height:1;box-shadow:0 3px 10px #0005;cursor:pointer;pointer-events:auto}
.htt-course-map__pin:after{content:'';position:absolute;left:50%;top:calc(100% - 2px);margin-left:-5px;border:5px solid transparent;border-top-color:#277c52;border-bottom:0}
.htt-course-map__pin:focus-visible,.htt-course-map__controls button:focus-visible,.htt-course-map__locate:focus-visible{outline:3px solid #ffb68c;outline-offset:2px}
.htt-course-map__pin:hover,.htt-course-map__pin.is-active{background:#145438;z-index:4;transform:translate(-50%,-100%) scale(1.12)}
.htt-course-map__pin-count{position:absolute;top:-7px;right:-8px;padding:1px 5px;border-radius:12px;background:#164d35;color:#fff;font:700 10px/15px Arial,sans-serif;border:1px solid #fff}
.htt-course-map__controls{position:absolute;z-index:8;top:14px;right:14px;display:grid;gap:6px}
.htt-course-map__controls button{width:36px;height:36px;border:1px solid #c8d8cf;border-radius:8px;background:#fff;color:#277c52;box-shadow:0 1px 7px #0002;font:700 23px/1 Arial,sans-serif;cursor:pointer}
.htt-course-map__controls button:last-child{font-size:17px}
.htt-course-map__attribution{position:absolute;z-index:5;bottom:5px;left:8px;background:#ffffffe6;border-radius:4px;padding:2px 5px;font:11px/1.3 Arial,sans-serif;color:#2b4237}
.htt-course-map__attribution a{color:#145438;text-decoration:underline}
.htt-course-map__popup{position:absolute;z-index:10;max-width:min(275px,80%);min-width:208px;padding:0 0 13px;border-radius:11px;background:#fff;box-shadow:0 8px 32px #0004;pointer-events:auto;max-height:calc(100% - 20px);overflow-y:auto}
.htt-course-map__popup img{display:block;width:100%;height:125px;object-fit:cover}
.htt-course-map__popup h3{font-size:16px;line-height:1.25;color:#174f36;margin:12px 12px 6px}
.htt-course-map__popup p{font-size:13px;margin:0 12px 10px;color:#5b7166}
.htt-course-map__popup a{display:block;background:#277c52;color:#fff;text-align:center;border-radius:6px;margin:8px 12px 0;padding:10px 14px;font-size:14px;font-weight:700;text-decoration:none}
.htt-course-map__popup a:hover{background:#145438;color:#fff}
.htt-course-map__popup-close{position:absolute;top:7px;right:7px;width:27px;height:27px;border:0;border-radius:50%;background:#fff;color:#174f36;font-size:21px;line-height:23px;cursor:pointer}
.htt-course-map__sidebar{display:flex;flex-direction:column;max-height:465px;min-width:0;border-left:1px solid #dbe5de}
.htt-course-map__sidebar-top{padding:17px 16px 12px;background:#fff;border-bottom:1px solid #edf0ec}
.htt-course-map__sidebar-top label{display:block;font-size:13px;font-weight:700;color:#2e5a46;margin-bottom:7px}
.htt-course-map__search{display:block;width:100%;box-sizing:border-box;border:1px solid #cbdcd1;border-radius:8px;padding:11px 12px;background:#fff;color:#183f30;font-size:14px}
.htt-course-map__list{padding:0;margin:0;list-style:none;overflow-y:auto;flex:1;overscroll-behavior:contain}
.htt-course-map__item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #edf1ee}
.htt-course-map__item:last-child{border-bottom:none}
.htt-course-map__locate{flex:1;min-width:0;text-align:left;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#205b3f;font-weight:600;font-size:13px;line-height:1.35;font-family:inherit;cursor:pointer}
.htt-course-map__locate img{width:64px;height:51px;object-fit:cover;border-radius:6px;flex-shrink:0}
.htt-course-map__locate span{overflow-wrap:anywhere}
.htt-course-map__book{white-space:nowrap;color:#277c52;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.htt-course-map__empty{display:none;padding:18px;text-align:center;color:#547161}
.htt-course-map__note{text-align:center;color:#67796f;font-size:12px;margin:11px 0 0}
@media (max-width:820px){.htt-course-map__layout{grid-template-columns:minmax(0,1fr)}.htt-course-map__canvas{min-height:375px}.htt-course-map__sidebar{max-height:270px;border-left:0;border-top:1px solid #dbe5de}.htt-course-map{margin:34px auto 44px;padding:0 14px}}
@media (max-width:480px){.htt-course-map__canvas{min-height:315px}.htt-course-map__locate img{width:52px;height:45px}.htt-course-map__item{padding:9px 10px}.htt-course-map__book{font-size:11px}}

.htt-course-map__item[hidden]{display:none!important}


.htt-course-map .htt-course-map__pin{background:#277c52!important;color:#fff!important;border:3px solid #fff!important;border-radius:50%!important;width:35px!important;height:35px!important;padding:0!important;min-width:0!important;min-height:0!important;line-height:1!important;box-sizing:border-box!important}
.htt-course-map .htt-course-map__pin:hover,.htt-course-map .htt-course-map__pin.is-active{background:#145438!important}
.htt-course-map .htt-course-map__controls button{background:#fff!important;color:#277c52!important;border:1px solid #c8d8cf!important;border-radius:8px!important;padding:0!important;width:36px!important;height:36px!important;min-width:0!important;min-height:0!important}
.htt-course-map .htt-course-map__locate{background:transparent!important;color:#205b3f!important;border:0!important;border-radius:0!important;padding:0!important;min-width:0!important;min-height:0!important;box-shadow:none!important;text-align:left!important}
.htt-course-map .htt-course-map__popup-close{background:#fff!important;color:#174f36!important;border:0!important;border-radius:50%!important;padding:0!important;width:27px!important;height:27px!important;min-width:0!important;min-height:0!important;box-shadow:none!important}
/* END_SECTION:htt-course-map */
