:root {
  --ColorSoft:   #f2c6d0;
  --ColorDark:   #d9a3b0;
  --ColorText:   #4a2f36;
  --ColorDeep:   #c2185b;
  --ColorLight:  #f8d9e0;
  --ColorTitle:  #a55a6a;
  --ColorMenu:   #b53060;
  --ColorFooter: #c995a3;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-top: 56px;
  background: none;
  color: var(--ColorText);
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 微軟正黑體;
}

body::before {
  content: '';
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-image: url('../Images/Back01.jpg');
  background-repeat: repeat;
  background-size: auto;
  background-position: 0 0;
  background-attachment: fixed;
  opacity: 0.2;
  z-index: -1;
}

main { flex: 1; }

.navbar-custom { background-color: var(--ColorDark); }
.navbar-nav .nav-link { color: var(--ColorMenu) !important; }
.navbar-nav .nav-link.active { font-weight: 600; }
.navbar-nav .dropdown-menu .dropdown-item { color: var(--ColorMenu); }
.navbar-nav .dropdown-menu .dropdown-item:hover { background-color: var(--ColorLight); color: var(--ColorDeep); }
.navbar-brand { color: var(--ColorTitle) !important; }

.card { border-radius: 0.75rem; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); border: solid 1px #999999;}
.card-header { border-top-left-radius:0.75rem; border-top-right-radius:0.75rem; line-height:1.2; padding:0.25rem 0.5rem; margin:0; cursor:pointer; }
.card-title { font-size:0.875rem; margin:0; line-height:1.2; color: var(--ColorTitle); }
.collapse-icon { font-weight:bold; user-select:none; color: var(--ColorDeep); }

.side-column { background-color: #ffffff; padding: 1rem; border-radius: 0.5rem; box-shadow: 0 4px 10px rgba(0,0,0,0.3); display:flex; flex-direction:column; justify-content:start; }
.side-column h2.fw-semibold { color: var(--ColorTitle); }

.row.g-4 { align-items: stretch; }

.accordion-button { font-weight:600; color: var(--ColorTitle) !important; background-color: var(--ColorLight) !important;}
.accordion-button:focus { box-shadow:none; }
.accordion-button::after { color: var(--ColorDeep); }
.accordion-body { padding:0px 0px 0.5rem 0.5rem; }
.accordion-item { border-radius:0.5rem; overflow:hidden; margin-bottom:0.5rem; }

.footer-custom {
  background-color: var(--ColorSoft);
  height: 28px;
  line-height: 28px;
  font-size: 0.85rem;
  padding: 0;
  color: var(--ColorFooter);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
}
.footer-custom span.footer-name { color: var(--ColorTitle); margin-right: 0.5rem; }

.footer-rainbow {
  background: linear-gradient(90deg, red, orange, yellow, green, blue, indigo, violet);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 300% 100%;
  animation: rainbowAnim 6s linear infinite;
}

.Title01 {
	color: var(--ColorTitle);
	font-size: 0.7rem;
	font-weight: bold;
	text-align: center;
	border-bottom: dashed 1px var(--ColorSoft);
	padding-bottom: 0.1rem;
	margin-top: 0.4rem;
	margin-bottom: 0.2rem;
}

.Item01 {
	color: var(--ColorTitle);
	margin-left: 5px;
	margin-right: 5px;
	text-decoration: none;
}
.Item01:hover {
	color: var(--ColorDark);
	text-decoration: underline;
}

.Item02 {
	color: var(--ColorTitle);
	text-decoration: none;
	font-size: 0.8rem;
	line-height: 0.9rem;
	display: block;
	position: relative;
	padding-left: 1em;
	margin-bottom: 0.2rem;
}
.Item02::before {
	content: "•";
	position: absolute;
	left: 0;
}
.Item02:hover {
	color: var(--ColorDark);
	text-decoration: underline;
}

.DivParisTrip2023 {
	background: rgb(177,173,250);
	background: linear-gradient(90deg, rgba(177,173,250,1) 0%, rgba(239,238,255,1) 14%, rgba(255,255,255,1) 50%, rgba(255,238,238,1) 86%, rgba(255,188,188,1) 100%);
	1padding-left: 30px;
	1padding-right: 30px;
}
.DivVevina {
	background-color: #a1d8e7;
}
.DivSerina {
	background-color: #e9d8f2;
}
.DivJereme {
	background-color: #C8F2FC;
}
.DivGreen {
	background-color: #d6efb0;
}
.DivOrange {
	background-color: #ead2a8;
}

@keyframes rainbowAnim {
  0% { background-position: 0% 0%; }
  100% { background-position: 100% 0%; }
}
