body {
	-webkit-font-smoothing: antialiased;
	width: 100vw;
	height: 100vh;
}

body,
input,
textarea,
button,
b,
p {
	font-family: 'Lato', sans-serif, 'BlinkMacSystemFont', 'segoe ui', '微軟正黑體', 'microsoft jhenghei', sans-serif;
	font-size: 15px;
	line-height: 1.3em;
	color: #3f3f3f;
}

::-webkit-scrollbar {
	width: 0px;
	height: 0px
}

::-webkit-scrollbar-track {
	background-color: #f2f2f2;
}

::-webkit-scrollbar-thumb {
	background-color: #d9e4fc;
}

::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
	color: #ccc;
	font-size: 15px;
	font-weight: normal;
}

a.btn {
	color: #3f3f3f;
}

.flex_none {
	flex: none !important;
}

.flex_set{
	display: flex;
	padding:5px;
}

.flex_1{
	flex:1;
}

.flex_row{
	flex-direction: row;
}

.flex_col{
	flex-direction: column;
}

/*-----------------------------checkbox / radio style*/

.item .checkbox{
	margin-top: 5px;
	margin-bottom: 5px;
}

input[type="radio"].checkitem,
input[type="checkbox"].checkitem{
	display: none;
}

.checkitem_wrap{
	margin-left: 0px !important;
	margin-right: 0px;
}

.checkitem_wrap span{
	padding-left:8px;
	font-size: 14px;
	color:#666;
}

label.checkitem{
	position: absolute;
	left: 0px;
	top: 2px;
	width: 20px !important;
	height: 20px;
	background-color:#fff;
	overflow: hidden;
	border:2px solid #999;
	border-radius: 5px;
	display: block;
	padding-left: 0px;
}

input[type="radio"] + label.checkitem{
	border-radius: 50px;
}

input.checkitem:checked + label{
	background-color:red;
	transition:200ms;
	border:2px solid red;
}

input.checkitem.chb_aid:checked + label{
	background-color:#01C43E;
	transition:200ms;
	border:2px solid #01C43E;
}

input.checkitem:disabled + label{
	background-color:#fff;
	transition:200ms;
	border:2px solid #999;
}/*disabled*/

input.checkitem:disabled + label ~ span{
	color:#999;
}/*disabled*/

input[type="radio"].checkitem:checked + label::before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50px;
    left: 0px;
    top: 0px;
    z-index: 1;
    margin: 4px;
}

input[type="checkbox"].checkitem:checked + label::before {
	position: absolute;
	content: "";
	width: 12px;
	height: 12px;
	left: 0px;
	top: 0px;
	z-index: 1;
	margin: 2px;
	background-image: url(../image/icon_checked.svg);
	background-size: contain;
}

/*表單選項摺疊*/

.checkbox.fold +.folder{
	display: none;
}

.checkbox.fold.fold_active +.folder{
	display: block;
}

/*-----------------------------entrance / register / login*/
.form_narrow .form-group{
	margin-bottom:10px;
}

.btn_round{
	border-radius: 50px;
	padding:8px;
	margin:8px 0px;
	min-width: 120px;
	font-size: 16px;
}

/*input-group-login*/
.input-group-login > .form-control,
.input-group-login > .input-group-addon,
.input-group-login > .input-group-btn > .btn {
	height: 44px !important;
	font-size: 15px;
	font-weight: bold;
	background-color:transparent;
	border:0px solid transparent;
	border-bottom:1px solid #777;
	border-radius: 0px;
	box-shadow: none;
}

.input-group-login > .form-control {
	font-size: 20px;
	padding-left: 20px;
}

.input-group-login > .form-control:focus {
	box-shadow: none;
	outline: 0px;
	border-bottom: 1px solid #E41E2B;
}

.input-group-login > .focus_border {
	background-color:#E41E2B !important;
}

.input-group-login > .input-group-addon {
	background-color: transparent;
	padding: 5px;
}

select.input-group-login > .form-control,
select.input-group-login > .input-group-addon,
select.input-group-login > .input-group-btn > .btn {
	height: 44px;
	line-height: 44px;
}

textarea.input-group-login > .form-control,
textarea.input-group-login > .input-group-addon,
textarea.input-group-login > .input-group-btn > .btn,
select[multiple].input-group-login > .form-control,
select[multiple].input-group-login > .input-group-addon,
select[multiple].input-group-login > .input-group-btn > .btn {
	height: auto;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
	input[type="date"].input-lg,
	input[type="time"].input-lg,
	input[type="datetime-local"].input-lg,
	input[type="month"].input-lg,
	.input-group-login input[type="date"],
	.input-group-login input[type="time"],
	.input-group-login input[type="datetime-local"],
	.input-group-login input[type="month"] {
	line-height: 44px;
	}
}

.cav_regStep{
	width: 90px;
	height: 90px;
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0px auto 0px auto;
	position: relative;
}

.txt_regHelp{
	line-height: 1.3em !important;
	margin-bottom:15px;
}

/*-----------------------------header / main*/

header.header {
	width: 100%;
	height: 50px;
	position: absolute;
	top: 0px;
	left: 0px;
	display: flex;
	justify-content: space-between;
	color: #fff;
	line-height: 50px;
	z-index: 10;
}

header.header .header_title {
	flex: 1;
	height: 100%;
	padding: 0px 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: keep-all;
	font-size: 16px;
	color: #fff;
	line-height: 50px;
	letter-spacing: 1px;
}

header.header a {
	min-width: 50px;
	padding: 0px 10px;
	background-color: transparent;
	color: #fff;
	text-align: center;
	line-height: 50px;
	font-size: 16px;
}

header.header_fix {
	position: fixed;
	box-shadow: 0px 3px 5px -2px rgba(0, 0, 0, 0.2);
}

header.header_fix ~ .main {
	width: 100%;
	height: calc(100% - 50px);
	position: absolute;
	top: 50px;
	overflow: auto;
}

.main_flex{
	height: calc(100% - 50px);
	display: flex;
	flex-direction: column;
}

.main_flex > section.sec_flex{
	flex:1;
	overflow: auto;
}

section {
	position: relative;
}

section.gap {
	margin-top: 10px;
}

section.sec_full {
	height: 100%;
	overflow: hidden;
}/*非連續一頁式:子元素tab切換*/

.ellipse_wrap + section.gap{
	margin-top: 30px;
}

/*-----------------------------main content*/

.wrapper {
	z-index: 0;
}

.menu {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 50;
	display: none;
	background-color: #F7F7F9;
}

.ellipse_wrap {
	-webkit-clip-path: ellipse(100% 100% at 50% 0%);
	clip-path: ellipse(100% 100% at 50% 0%);
	min-height: 200px;
	background-image: url(../image/bg_dot_red.svg);
	background-size: cover;
	display: flex;
	flex-direction: column;
	padding-top: 50px;
	padding-bottom: 30px;
}

.ellipse_wrap.aid{
	background-image: url(../image/bg_dot_green.svg);
}

.ellipse_wrap.gray{
	background-image: url(../image/bg_dot_gray.svg);
	min-height: 100px;
}


.cav_userLogo {
	width: 90px;
	height: 90px;
	background-image: url(../image/img_default_userLogo.jpg);
	background-size: contain;
	border-radius: 50%;
	margin: 0 auto;
	border: 2px solid #dddddd;
	position: relative;
}

.cav_appLogo{
	width: 100px;
	height: 130px;
	background-size: contain;
	background-repeat: no-repeat;
	margin: 10px auto 20px auto;
	position: relative;
}

.badge_dark {
	background-color: rgba(0, 0, 0, 0.3);
	margin: 0 auto;
}

.menu_function {
	width: 100%;
	min-height: 30px;
	background-color: #fff;
	margin-top: -30px;
	border-bottom: 1px solid #f2f2f2;
	padding: 35px 10px 5px 10px;
	display: flex;
	justify-content: space-around;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);
}

.cav_menu_function {
	width: 40px;
	height: 40px;
	background-size: contain;
	margin: 5px auto;
}

.cav_menu_function ~ span {
	font-size: 13px;
	font-weight: normal;
	letter-spacing: 0.5px;
}

.menu_report {
	padding: 5px 0px;
}

.menu_report div {
	overflow: visible;
}

.menu_report_card {
	width: inherit;
	height: 80px;
	background-color: #fff;
	box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.05),
	inset 0px 2px 5px 0px #fff;
	border-radius: 10px;
	margin: 5px 3px;
	padding: 10px 15px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid #F2F2F2;
}

.menu_report_card div:first-of-type {
	color: #666;
}

.menu_report_card div:last-of-type {
	font-size: 24px;
	text-align: right;
	font-weight: bold;
}



/*-----------------------------list

.list.puretext = 純文字列表
.list.form = 輸入表單
---------------------------------*/

.list .item {
	background-color: #fff;
	padding: 15px 30px;
	text-decoration: none;
	color: #3f3f3f;
	display: flex;
	flex-direction: row;
	cursor: default;
}

.list .item > * {
	flex: 1;
	word-break: break-all;
}

.list .item.card {
	padding: 10px 15px;
	margin: 5px 10px;
	border: 1px solid #f2f2f2;
}/*卡片*/

.list .item.card {
	flex-direction: column;
	box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.05), inset 0px 2px 5px 0px #fff;
	border-radius: 5px;
}

.list .item.card .card_inf {
	display: flex;
	flex-direction: row;
	padding-bottom: 10px;
}

.item.card .card_photo {
	width: 80px;
	height: 80px;
	margin-bottom: 10px;
	margin-right: 10px;
	background-color: #f2f2f2;
	border-radius: 15px;
	background-size: cover;
	line-height: 80px;
	text-align: center;
	font-weight: bold;
	font-size: 24px;
	color: rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.card_inf ul {
	flex: 1;
}

.card_inf ul .badge {
	margin: 5px;
}

.list .item.col_2 {
	padding: 10px 10px !important;
}/*兩欄*/

.list .item.col_2 > * {
	padding-left: 15px;
	padding-right: 15px;
}

.list .item.col_2 >:first-child{
	border-right:1px solid #f2f2f2;
}

.list .item.record{
	margin:5px;
}

.list .item.record > ul {
	margin-bottom: 0px;
	list-style: none;
	padding-left: 10px;
	padding-right: 10px;
}

.list .item.record > div {
	display: flex;
	flex-direction: row;
	padding-left: 10px;
	padding-right: 10px;
}

.list .item.record > div > * {
	flex: 1;
	position: relative;
	overflow: auto;
}

.rec_point_title {
	color: #999;
	text-align: left;
	font-size: 12px;
}

.rec_point {
	width: 100%;
	font-weight: bold;
	font-size: 24px;
	position: absolute;
	bottom: 0px;
	word-break: keep-all;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	text-align: left;
}

.rec_tel {
	font-weight: bold;
	font-size: 20px;
}

.rec_time {
	font-size: 12px;
	color: #ccc;
	margin-top: -2px;
}

.rec_spend {
	font-weight: bold;
	font-size: 16px;
	color: #999;
}


.list a.item:active {
	box-shadow: inset 100vw 0px 10px 0px rgba(0, 0, 0, 0.02);
}

.list .item:not(.title) {
	border-bottom: 1px solid #f2f2f2;
}

.list .item.title {
	background-color: transparent;
	padding: 10px 20px !important;
	border-bottom: 0px;
	font-size: 12px;
	text-align: center !important;
	color: #999;
	word-break: break-all;
}/*段落標題*/



.list .item.guide {
	background-color: transparent;
	padding: 15px 20px !important;
	border-bottom: 0px;
	font-size: 14px;
	text-align: left;
	color: #999;
	word-break: break-all;
	line-height: 18px;
}/*段落說明*/

.list .item.textarea {
	padding: 10px !important;
	border-bottom: 0px;
	font-size: 14px;
	text-align: left;
	color: #999;
	word-break: break-all;
	line-height: 18px;
}/*文字輸入區塊*/

.list .item.textarea textarea{
	resize: vertical;
	min-height: 200px;
	box-shadow: none;
}


.gap {
	margin-top: 10px;
}/*段落間隔*/

.gap_sm {
	margin-top: 5px;
}/*段落間隔*/


.padding_bottom {
	padding-bottom: 15px !important;
}

.padding_top {
	padding-top: 15px !important;
}

.list .item_arrow {
	width: 30px;
	flex: none;
	display: flex;
	justify-content: center;
}/*連結箭頭*/


.list .item_arrow * {
	align-self: center;
}

.list .item p {
	width: inherit;
	word-break: break-all;
}

.list.result .item{
	padding: 10px 30px;
	flex-direction: column;
}

.list.flexcol .item{
	flex-direction: column;
}

.list.puretext .item {
	padding: 5px 30px;
	display: flex;
	flex-direction: row;
	border: 0px;
}/*純文字列表*/


.list.puretext.wide .item {
	padding: 10px 30px;
	border-bottom: 1px solid #f2f2f2;
}

.list.puretext.narrow .item {
	padding: 0px 5px;
	font-size: 14px;
}/*純文字列表-較高*/


.list.puretext .item span.title {
	width: 6em;
	margin-right: 5px;
	flex: none;
	color: #797E91;
}/*純文字列表-列頭*/


.list.puretext .item span:not(.title) {
	font-weight: bold;
}

.list.puretext .div_title {
	padding: 10px 30px 0px 30px;
	font-weight: bold;
	color: #608EBE;
	background-color: #fff;
}/*純文字列表-區塊文字標題-藍標*/


.list.form .item:not(.title):not(.wide) {
	padding: 10px 30px;
	position: relative;
}

.list.form .item label {
	font-weight: normal;
	color: #888;
	margin-bottom: 0px;
	width: 100%;
}

.form_control {
	width: 100%;
	border: 0px;
	background-color: transparent;
	padding: 5px 0px;
	outline: 0px;
	border-bottom: 1px solid #fff;
}

.form_control ~ .focus_border {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background-color: #3399FF;
	transition: 0.4s;
}

.form_control:focus ~ .focus_border {
	width: 100%;
	transition: 0.4s;
	left: 0%;
}

.must::before {
	content: "\2731";
	position: absolute;
	left: 15px;
	bottom: 15px;
	color: #f85f5f;
	font-size: 10px;
}

.item.search  > div::before{
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background-image:url(../image/icon_search.svg);
	background-size: contain;
	margin: 7.5px 0px;
}

.item.search input{
	font-size: 20px;
	text-align: left;
	font-weight: bold;
	line-height: 20px;
	padding-left:35px;
	padding-right:20px;
}

.item.search .btn_input_clear{
	position: absolute;
	right:0px;
	color:#ccc;
}

.item.search .btn_input_clear:active{
	color:#2e93e5;
}

.item.item_narrow{
	padding:10px;
}/*padding窄*/


.list.folderList > .item{
	margin:0px 5px;
	padding:5px 10px;
}

.list.folderList > .item.active{
	margin:0px 5px 5px 5px;
}

.item.folder{
	flex-direction: column;
}

.item.folder .folder_handle{
	display: flex;
	padding:10px 0px 10px 0px;
}

.item.folder .folder_title{
	font-weight: normal;
	font-size: 18px;
	flex:1;
}

.item.folder .folder_sortQty,
.item.folder .folder_date{
	font-size: 12px;
	color:#999;
	font-weight: normal;
}

.item.folder .folder_sortQty::before{
	content: "(";
}

.item.folder .folder_sortQty::after{
	content: ")";
}

.item.folder .folder_object {
	display: none;
	padding-bottom:10px;
}

.item.folder.active .folder_object{
	display: block;
}

.item.folder.active .folder_handle .item_arrow svg{
	transform: rotate(270deg);
}

.item.folder .list a.item{
	border:0px;
	padding:8px 10px 8px 30px;
	line-height: 1em;
}

.item.folder .list .item:hover{
	background-color:#f2f2f2;
}

.list.select .item{
	padding:15px 10px;
	font-size: 20px;
}/*選擇*/

.list.select .item.active{
	background-color:#ddd;
	transition: .2s;
	font-weight: bold;
}/*選擇*/

/*--------------------------------news*/
.sec_news .item.folder{
	padding:0px;
}

.sec_news .folder_title{
	font-size: 15px !important;
	padding:0px 15px;
}

.sec_news .folder_object{
	background-color:#F7F7F9;
}

.sec_news .folder_object .news_content{
	padding:10px 15px 20px 15px;
	width: inherit;
}


/*-----------------------------article*/

.article_meta{
	font-size: 12px;
	color:#666;
	border-top:1px solid #c4c4c4;
	border-bottom:1px solid #c4c4c4;
	padding:5px 5px 5px 5px;
}

.article_meta span{
	padding-right:10px;
}

.article_container{
	padding-top:15px;
	padding-bottom:30px;
}
/*-----------------------------shopInf*/

.cav_shopInf_cover {
	width: 100vw;
	height: 55vw;
	/*cover比例 100:55*/
	background-image: url(../image/img_default_cover.jpg);
	background-size: cover;
}

.btn_shopInf_coverEdit {
	position: absolute;
	right: 0px;
	bottom: 0px;
	margin: 10px;
	opacity: .8;
}

.btn_shopInf_logoEdit {
	position: absolute;
	bottom: -10px;
	right: -10px;
	opacity: .8;
}

.cav_shopInf_userLogo {
	margin: -70px auto;
}

.sec_shopInf_userLogo {
	padding: 35px;
}

.shopInf_function,
.cropImg_function {
	width: 100%;
	display: flex;
	justify-content: space-around;
	padding: 10px 0px;
}

.shopInf_function a,
.cropImg_function a {
	width: inherit;
	margin: 0px 5px;
}

.shopInf_function a ~ a,
.cropImg_function a ~ a {
	border-left: 1px solid #f2f2f2;
}

.photo_wrap {
	padding: 10px;
	display: flex;
	justify-content: center;
}

.photo_wrap > * {
	flex: none;
	display: block;
	max-width: 150px;
	max-height: 150px;
	width: 30vw;
	height: 30vw;
	background-color: #EDFAFF;
	border: 1px dashed rgba(26, 117, 187, 0.32);
	float: left;
	margin: 2px;
	overflow: hidden;
	position: relative;
}

.photo_wrap .cav_shopInf_photo {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../image/img_default_photo.jpg);
}

.photo_wrap input[type="file"] {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: red;
	opacity: 0;
}

/*-----------------------------shopEdit*/

.btn_shopOpen_status ~ .shopOpen_time {
	display: flex;
}

.btn_shopOpen_status.active ~ .shopOpen_time {
	display: none;
}

.btn_shopOpen_status {
	margin: 0px 5px;
}

.shopOpen_time {
	flex-direction: column;
}

.shopOpen_time .input-group ~ .input-group {
	margin-top: 3px;
}

.shopOpen_time .input-group {
	display: none;
}

.shopOpen_time .input-group.active {
	display: table;
}

#form_shopGroup,
#form_excRefresh {
	display: none;
}

/*-----------------------------excRule.set.slt*/

#item_excRefresh_week,
#item_excTime_end {
	display: none;
}

.sec_excSet_img {
	padding: 20px;
}

.cav_excImg {
	width: 150px;
	height: 150px;
	background-size: cover;
	border-radius: 30px;
	margin: 0 auto;
	position: relative;
}

.wrap_excImg_default {
	width: auto;
	overflow: auto;
	padding: 0px 10px;
	overflow: auto;
	margin: 0 auto;
	white-space: nowrap;
}

.cav_excImg_default {
	width: 80px;
	height: 80px;
	background-size: cover;
	position: relative;
	margin: 2.5px;
	display: inline-block;
}


.cav_excImg_default input[type="radio"] {
	width: 15px;
	height: 15px;
	margin: 5px;
}

.tab_nav {
	width: 100%;
	display: flex;
	justify-content:space-around ;
}

.tab_nav a {
	width: 100%;
	border-radius: 0px;
	padding: 10px;
}

.tab_nav a.active {
	box-shadow: none;
	color: #E41E2B;
	border-bottom: 2px solid #E41E2B;
	font-weight: bold;
}

.tab_nav a ~ a {
	border-left: 1px solid #f2f2f2;
}

.tab_nav ~ .tab-content {
	height: calc(100% - 43px);
	overflow: auto;
}

.excSlt_vipPoint{
	margin: auto;
}

/*keyboard*/
.keyboard > div{
	padding:0px 10px;
}

.keyboard button{
	font-size: 24px;
	line-height: 40px;
	font-weight:bold;
	border:0px;
	border-bottom:1px solid #f2f2f2;
	border-radius:0px;
	background-color:#fff;
}

.kb_input,
.kb_auto{
	font-size: 30px;
	font-weight: bold;
}

.input-group.kb_qty input,
.input-group.kb_qty span,
.input-group.kb_qty button{
	height: 50px !important;
}

#btn_excSlt_cfm{
	border-radius: 50px;
	height: 40px;
	line-height: 25px;
}

.cav_excSlt{
	width: 65px;
	height: 65px;
	flex: none !important;
	background-image:url(../image/img_default_exc1.jpg);
	background-size: cover;
	background-position: center;
	border-radius: 15px;
	margin-right: 10px;
}

.excSlt_qty{
	min-width: 40px;
	height: 40px;
	flex:none !important;
	margin-left: 10px;
	padding: 0px 5px;
	border-radius: 60px;
	border-width: 2px;
	border-style: solid;
	text-align: center;
	line-height: 35px;
	font-weight: bold;
	word-break: keep-all;
	white-space: nowrap;
}

.excSlt_qty:empty{
	visibility: hidden;
}


/*-----------------------------index:main*/

.inp_main_telNum{
	width: 100%;
	background-color:rgba(0,0,0,.1);
	box-shadow: none;
	font-size: 30px;
	font-weight: bold;
	color:#fff;
	border:0px;
	border-radius: 0px;
	padding:5px 0px;
	text-align: center;
	border-radius: 10px;
	margin-bottom:10px;
}

.inp_main_telNum::placeholder{
	color:rgba(255, 255, 255, .5);
	font-size: 20px;
	line-height: 30px;
}

.input_main_teldlt{
	height: 100%;
	background-color:rgba(0,0,0,.1);
	border: 0px;
	font-size: 24px;
	color:#fff;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;

}

.inp_main_telNum:focus,
.inp_main_setPoint:focus{
	outline: 0px !important;
	box-shadow: none !important;
	border:0px !important;
}

.main_form{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.main_entervip{
	flex:1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-shrink: 0;
}

.main_setPoint{
	flex:1;
	max-height: 300px;
	width: 94%;
	margin: 10px auto 0px auto;
}

.main_setPoint> div{
	height:100%;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.inp_main_setPoint{
	flex:1;
	border: 0px;
	box-shadow: none;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	background-color:transparent !important;

}

.grp_excPwd {
	justify-content: center;
}

.grp_excPwd input{
	width: 20vw;
	height: 20vw;
	min-width: 1px;
	margin:3px;
	font-size: 30px;
	line-height: 30px;
	text-align: center;
	border-radius: 50px;
	border-color:#E41E2B
}

.grp_excPwd input.pwdAlready{
	background-color:#E41E2B;
	color:#fff !important;
}

/*carousel*/
.carousel_main_control input.carousel_checkbox{
	display: none;
}

.carousel_main_control input.carousel_checkbox + label{
	position: relative;
	width: 150px;
	height: 43px;
	background: rgba(0,0,0,0.2);
	background-size: 650px 100%;
	border-radius: 70px;
	padding: 7px;
	cursor: pointer;
	transition: all 500ms ease;
/*	box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2) inset;*/
	margin: 10px auto;
}

.carousel_main_control input.carousel_checkbox + label::before {
	content: "集點";
	width: 70px;
	height: 35px;
	position: absolute;
	left: 5px;
	top: 4px;
	border-radius: 40px;
	background: #fff;
	text-align: center;
	line-height: 34px;
	color: #E41E2B;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: left 300ms ease, color 300ms ease, -webkit-transform 150ms ease;
	transition: left 300ms ease, color 300ms ease, transform 150ms ease;
	transition: left 300ms ease, color 300ms ease, transform 150ms ease, -webkit-transform 150ms ease;
	z-index: 1;
}

.carousel_main_control input.carousel_checkbox + label::after {
	content: "兌換";
	width: 70px;
	height: 35px;
	position: absolute;
	right: 5px;
	top: 4px;
	text-align: center;
	line-height: 34px;
	color: rgba(255,255,255,0.5);
	letter-spacing: 1px;
	text-transform: uppercase;
}

.carousel_main_control input.carousel_checkbox + label:active::before {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

.carousel_main_control input.carousel_checkbox:checked + label {
	background: rgba(0,0,0,0.2);
}

.carousel_main_control input.carousel_checkbox:checked + label::before {
	content: "兌換";
	color: #01C43E;
	left: 75px;
}

.carousel_main_control input.carousel_checkbox:checked + label::after {
	content: "集點";
	right: 75px;
}

#carousel_main .carousel-inner>.item {
	width: 100%;
	height: 100vh;
	background-size: cover;
	padding:60px 0px 0px 0px;
}

.carousel_container{
	height: calc(100vh - 60px);
	display: flex;
	flex-direction: column;
}

.carousel_container >*{
	flex:1;
}

/*swipe btn*/
.btn_swipe_wrap{
	padding:10px 15px;
}

.btn_swipe {
	position: relative;
	background-color: rgba(0, 0, 0, 0.1);
	width: 100%;
	height: 50px;
	border: 2px solid #f2f2f2;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.btn_swipe_slider {
	transition: width 0.3s, border-radius 0.3s, height 0.3s;
	position: absolute;
	left: -10px;
	width: 100px;
	height: 50px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn_swipe_slider.unlocked {
	transition: all 0.3s;
	width: 100%;
	left: 0% !important;
	height: inherit;
	border-radius: inherit;
}

.btn_swipe_handle {
	color: #fff;
	font-size: 16px;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: default;
	pointer-events: none;
}

.slide_text {
	color: #333;
	font-size: 16px;
	text-transform: uppercase;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: default;
}

/*-----------------------------dialog*/
.list-group.dlg_option{
	margin-bottom:0px;
}

.list-group.dlg_option .list-group-item{
	border:0px;
}

/*-----------------------------imgCrop*/

.crop_function {
	padding: 10px;
}

.crop_warp {
	width: 100%;
	height: 300px;
	margin-bottom: 50px;
}

.btn_file {
	position: relative;
}

.btn_file input[type="file"] {
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
}

/*-----------------------------imgupload*/

.img_upload {
	height: calc(100% - 54px);
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.6);
}

.img_uploadpreview,
.img_uploadDefault {
	height: 100%;
}

.imgpreview_wrap img {
	width: 100%;
}

.photo_wrap .imgpreview_wrap {
	width: 100%;
	height: 100%;
}

div.img_uploadpreview {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
}

.photo_wrap .btn_imgUpload_remove {
	position: absolute;
	top: 0px;
	right: 0px;
}

/*-----------------------------shopInt*/

.shopInt_editor {
	overflow: hidden;
}

/*-----------------------------recLst*/

.inpgrp_recFilter input{
	height: 40px;
	box-shadow: none;
	border-left: 0px;
}

/*-----------------------------report*/

.slt_repRange{
	font-size: 14px;
	color:#333;
	border:0px;
	background-color:transparent;
}

.rep_title{

}

.rep_unit{
	font-size: 14px;
}

.rep_unit::before{
	content: "(";
}

.rep_unit::after{
	content: ")";
}

.rep_rangeDate{
	font-size: 12px;
	color:#999;
}

.rep_data{
	font-size: 36px;
	font-weight: bold;
	padding:25px 5px 10px 5px;
}

.rep_compare{
	font-size: 12px;
	color:#999;
	padding-right: 5px;
}

.rep_compareData{
	font-size: 14px;
}

.rep_compareData.up,
.rep_compareData.keep{
	color:#01C43E;
}

.rep_compareData.down{
	color:#E41E2B;
}

.rep_compareData span::before{
	display: none;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
}

.rep_compareData.up span::before{
	content: "\f0d8";
}

.rep_compareData.down span::before{
	content: "\f0d7";
}

.rep_compareData.keep span::before{
	content: "\f52c";
}

.rep_excQty{
	width: 40px;
	text-align: right;
	margin-left: 5px;
}

.rep_excChart{
	flex:1;
	height: 15px;
	background-color:#f2f2f2;
	position: relative;
	overflow: hidden;
}

.rep_excChart .chartbar{
	height: 100%;
	width: 0%;
	background-color:#E41E2B;
	transition: 1s;
}

.sec_excChart .item:nth-child(n+2){
	padding:5px 15px !important;
}

/*-----------------------------lightbox*/

.lightbox_wrap {
	position: fixed;
	bottom: -100%;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .7);
	opacity: 0;
	overflow: hidden;
	z-index: 5000;
}

.lightbox_content {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.lightbox_content img {
	max-height: 0%;
	max-width: 0%;
	opacity: 0;
}

.lightbox_close {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 10%;
	right: 5%;
	display: block;
	box-sizing: border-box;
	color: #fff;
	line-height: 40px;
	text-align: center;
}

.lightbox_wrap:target {
	top: 0%;
	opacity: 1;
	transition: 300ms;
}

.lightbox_wrap:target img {
	max-height: 90%;
	max-width: 90%;
	opacity: 1;
	transition: 300ms;
}
