main { background-color: slategray; } aside { background-color: silver; } header { background-color: gainsboro; } body.Franks header.your_turn { background-color: #f7de46; /* 50% mix of khaki and gold */ } body.Saracens header.your_turn { background-color: lightgreen; } #role_Franks .role_name { background-color: khaki; } #role_Saracens .role_name { background-color: darkseagreen; } #turn_info { background-color: gainsboro; } .role_vp { float: right; } #log { background-color: whitesmoke; } #log div { padding-left: 20px; text-indent: -12px; } #log .st { background-color: #246; color: white; font-weight: bold; } #log .F { background-color: khaki; } #log .S { background-color: darkseagreen; } #log .bs { background-color: lightgray; } #log .br { font-style: italic; text-decoration: underline; } #map #timeline { position: absolute; width: 88px; height: 35px; top: 2410px; background-image: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0.3), rgba(255,255,255,0.8)); } #map #timeline.year_1187 { left: 702px; } #map #timeline.year_1188 { left: 793px; width: 89px; } #map #timeline.year_1189 { left: 885px; } #map #timeline.year_1190 { left: 976px; width: 89px; } #map #timeline.year_1191 { left: 1068px; } #map #timeline.year_1192 { left: 1160px; width: 85px; } #turn { padding: 8px 0px 8px 8px; border-bottom: 1px solid black; white-space: pre-wrap; font-style: italic; font-size: 12px; line-height: 18px; font-family: "Source Serif SmText"; } .hand { margin: 25px; display: flex; flex-wrap: wrap; justify-content: center; min-height: 348px; gap: 16px; } .card { background-size: cover; background-repeat: no-repeat; width: 224px; height: 348px; border-radius: 12px; box-shadow: 1px 1px 5px rgba(0,0,0,0.5); transition: 100ms; display: none; } .card.show { display: block; } .card.enabled:hover { transform: translateY(-8px); } .card.enabled { cursor: pointer; } .card.disabled { filter: grayscale(100%); } .role_info .card.prior { filter: grayscale(100%) contrast(70%) brightness(120%); } .role_info { overflow: clip; /* clip dropshadow from filter:grayscale() stacking context */ padding-top: 16px; } .role_info .card { width: 168px; height: 261px; border-radius: 9px; margin: 0 auto 16px auto; } .role_info .card:not(:hover) { margin: 0 auto; height: 96px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } /* MAP */ #mapwrap { background-color: #224467; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); width: 1275px; height: 2475px; } #map { width: 1275px; height: 2475px; background-color: #224467; background-repeat: no-repeat; background-size: cover; } #map { background-image: url("map75.jpg") } @media (min-resolution: 97dpi) { #map { background-image: url("map150.jpg") } } #map > * { position: absolute; } #map.hide_blocks #blocks { visibility: hidden; } .town { position: absolute; opacity: 0.0; z-index: 1; border: 5px solid white; width: 70px; height: 70px; border-radius: 50%; } .town.highlight { cursor: pointer; opacity: 0.6; z-index: 9; } .town.muster { opacity: 0.6; border-color: brown; z-index: 9; } .town.muster.highlight { box-shadow: 0 0 0px 4px white; } #sea { fill: skyblue; fill-opacity: 0.4; } #sea { visibility: hidden; } #sea.highlight { visibility: visible; cursor: pointer; } /* BLOCKS */ body.shift .block.known:hover { filter: none; transform: scale(2) !important; transition: 100ms; z-index: 100; } #battle .block { position: relative; } #map .block { position: absolute; z-index: 2; } #map .block.highlight { z-index: 3; } #map .block.selected { z-index: 4; } #map .block.known { z-index: 5; } #map .block.known:hover { z-index: 6; } .block { background-repeat: no-repeat; border-radius: 6px; width: 60px; height: 60px; box-shadow: 0px 0px 4px 0px black; } .block.Franks { border: 3px solid darkkhaki; background-color: khaki; } .block.Saracens { border: 3px solid seagreen; background-color: darkseagreen; } .block.Saracens.known { background-color: darkgreen; } .block.Assassins { border: 3px solid rebeccapurple; background-color: rebeccapurple; } .block.Franks.highlight { border-color: white; } .block.Saracens.highlight { border-color: white; } .block.Assassins.highlight { border-color: white; } .block.Franks.selected { border-color: crimson; } .block.Saracens.selected { border-color: yellow; } .block.Assassins.selected { border-color: yellow; } .block.Franks.highlight:not(.selected) { box-shadow: 0 0 3px 0px white; } .hit .block.highlight { border-color: black; } .hit .block.Franks.highlight { box-shadow: 0 0 4px 0px black; } .block.highlight { cursor: pointer; } .block.moved { filter: brightness(80%) grayscale(40%); } .block.removed { filter: brightness(60%) grayscale(40%); } .block.highlight.moved { filter: brightness(95%) grayscale(40%); } #map .block.castle.known { filter: grayscale(50%); } #map.stack_layout .block.castle { filter: grayscale(90%); } .block.castle:not(.known) { background-image: url("badges/stone-tower.svg"); background-size: 60%; background-position: center; } .block.besieging:not(.known) { background-image: url("badges/trebuchet.svg"); background-size: 60%; background-position: center; } .block.winter_campaign:not(.known) { background-image: url("badges/camping-tent.svg"); background-size: 60%; background-position: center; } .block.Franks.jihad:not(.known) { background-image: url("badges/Cross_of_the_Knights_Templar.svg"); background-size: 60%; background-position: center; } .block.Saracens.jihad:not(.known) { background-image: url("badges/Star_and_Crescent.svg"); background-size: 60%; background-position: center; } .block.besieging.Franks.jihad:not(.known) { background-image: url("badges/trebuchet.svg"), url("badges/Cross_of_the_Knights_Templar.svg"); background-size: 60%, 40%; background-position: 30% 80%, 85% 15%; } .block.besieging.Saracens.jihad:not(.known) { background-image: url("badges/trebuchet.svg"), url("badges/Star_and_Crescent.svg"); background-size: 60%, 40%; background-position: 30% 80%, 85% 15%; } .block.r0 { transform: rotate(0deg); } .block.r1 { transform: rotate(-90deg); } .block.r2 { transform: rotate(-180deg); } .block.r3 { transform: rotate(-270deg); } .block.r0.halfhit { transform: rotate(-15deg); } .block.r1.halfhit { transform: rotate(-105deg); } .block.r2.halfhit { transform: rotate(-195deg); } .block.r3.halfhit { transform: rotate(-285deg); } .block { transition-property: top, left, transform; transition-duration: 700ms, 700ms, 200ms; transition-timing-function: ease; } /* LANDSCAPE MAP */ @media (min-width: 2000px) { #mapwrap:not(.fit) { box-shadow: 1px 0px 10px rgba(0,0,0,0.5); height: 1275px; width: 2475px; margin-bottom: 40px; margin-top: 30px; } #mapwrap:not(.fit) #map { transform: translateY(1275px) rotate(-90deg); transform-origin: 0 0; } body.shift #mapwrap:not(.fit) #map .block.known:hover { transform: rotate(90deg) scale(2) !important; } #mapwrap:not(.fit) #map .block { transform: rotate(90deg); } #mapwrap:not(.fit) #map .block.r1 { transform: rotate(0deg); } #mapwrap:not(.fit) #map .block.r2 { transform: rotate(-90deg); } #mapwrap:not(.fit) #map .block.r3 { transform: rotate(-180deg); } } /* BATTLE BOARD */ #battle { background-color: tan; } #battle_message { background-color: gainsboro; } #battle_header { background-color: steelblue; color: white; } #FR, #ER { background-color: #bda27e; min-height: 0; } #EC .battle_menu_list { display: none; } #FC { margin: 0 auto 8px auto; min-height: 100px; } #EC { margin: 8px auto 0 auto; min-height: 80px; } #FF, #EF { min-height: 96px; } #FC, #EC { background-size: cover; background-repeat: no-repeat; padding: 33px 0 0 0; border-bottom: 5px solid dimgray; filter: drop-shadow(0px 1px 2px rgba(0,0,0,0.5)); justify-content: left; } #FC.c1 .battle_menu:first-child { margin-left: 30px; } #FC.c2 .battle_menu:first-child { margin-left: 25px; } #FC.c3 .battle_menu:first-child { margin-left: 20px; } #FC.c4 .battle_menu:first-child { margin-left: 15px; } #EC.c1 .battle_menu:first-child { margin-left: 30px; } #EC.c2 .battle_menu:first-child { margin-left: 25px; } #EC.c3 .battle_menu:first-child { margin-left: 20px; } #EC.c4 .battle_menu:first-child { margin-left: 15px; } #FC.c0, #EC.c0 { display: none; } #FC.c1, #EC.c1 { background-image: url('castle_1.svg'); width: 140px; } #FC.c2, #EC.c2 { background-image: url('castle_2.svg'); width: 220px; } #FC.c3, #EC.c3 { background-image: url('castle_3.svg'); width: 300px; } #FC.c4, #EC.c4 { background-image: url('castle_4.svg'); width: 380px; } /* CARD AND BLOCK IMAGES */ .card_back{background-image:url('cards/card_back.jpg')} .card_assassins{background-image:url('cards/card_assassins.jpg')} .card_guide{background-image:url('cards/card_guide.jpg')} .card_intrigue{background-image:url('cards/card_intrigue.jpg')} .card_jihad{background-image:url('cards/card_jihad.jpg')} .card_manna{background-image:url('cards/card_manna.jpg')} .card_winter_campaign{background-image:url('cards/card_winter_campaign.jpg')} .card_1{background-image:url('cards/card_1.jpg')} .card_2{background-image:url('cards/card_2.jpg')} .card_3{background-image:url('cards/card_3.jpg')} .known.block.Franks{ background-image: url(blocks_franks.png); background-size: 800% 400%; } .known.block.Saracens{ background-image: url(blocks_saracens.png); background-size: 800% 400%; } .known.block.Assassins{ background-image: url(blocks_assassins.png); background-size: 100%; } .known.block_11{background-position:0px 0px} .known.block_12{background-position:-60px 0px} .known.block_13{background-position:-120px 0px} .known.block_14{background-position:-180px 0px} .known.block_15{background-position:-240px 0px} .known.block_16{background-position:-300px 0px} .known.block_17{background-position:-360px 0px} .known.block_21{background-position:-420px 0px} .known.block_22{background-position:0px -60px} .known.block_23{background-position:-60px -60px} .known.block_24{background-position:-120px -60px} .known.block_25{background-position:-180px -60px} .known.block_26{background-position:-240px -60px} .known.block_27{background-position:-300px -60px} .known.block_31{background-position:-360px -60px} .known.block_32{background-position:-420px -60px} .known.block_33{background-position:0px -120px} .known.block_34{background-position:-60px -120px} .known.block_35{background-position:-120px -120px} .known.block_36{background-position:-180px -120px} .known.block_37{background-position:-240px -120px} .known.block_41{background-position:-300px -120px} .known.block_42{background-position:-360px -120px} .known.block_43{background-position:-420px -120px} .known.block_44{background-position:0px -180px} .known.block_45{background-position:-60px -180px} .known.block_46{background-position:-120px -180px} .known.block_47{background-position:-180px -180px} .known.block_51{background-position:-240px -180px} .known.block_52{background-position:-300px -180px} .known.block_53{background-position:-360px -180px} .known.block_55{background-position:0px 0px} .known.block_56{background-position:-60px 0px} .known.block_57{background-position:-120px 0px} .known.block_61{background-position:-180px 0px} .known.block_62{background-position:-240px 0px} .known.block_63{background-position:-300px 0px} .known.block_64{background-position:-360px 0px} .known.block_65{background-position:-420px 0px} .known.block_66{background-position:0px -60px} .known.block_67{background-position:-60px -60px} .known.block_71{background-position:-120px -60px} .known.block_72{background-position:-180px -60px} .known.block_73{background-position:-240px -60px} .known.block_74{background-position:-300px -60px} .known.block_75{background-position:-360px -60px} .known.block_76{background-position:-420px -60px} .known.block_77{background-position:0px -120px} .known.block_81{background-position:-60px -120px} .known.block_82{background-position:-120px -120px} .known.block_83{background-position:-180px -120px} .known.block_84{background-position:-240px -120px} .known.block_85{background-position:-300px -120px} .known.block_86{background-position:-360px -120px} .known.block_87{background-position:-420px -120px} .known.block_91{background-position:0px -180px} .known.block_92{background-position:-60px -180px} .known.block_93{background-position:-120px -180px} .known.block_94{background-position:-180px -180px} .known.block_95{background-position:-240px -180px} .known.block_96{background-position:-300px -180px} .known.block_97{background-position:-360px -180px}