html, body {  max-width: 1400px; margin: 0 auto; padding: 0px; font-family: "montserrat", sans-serif; font-size: clamp(0.875rem, 3.5vw, 1rem); color: #080808; background: #fffffe; }

img { max-width: 100%; height: auto; }

.signature { width: 110px; height: 55px; }
.jigsaw { width: 55px; height: 55px; margin: 0px 0px 0px 10px; float: right; }
.icon { width: 80px; height: 79px; }
.bolt { width: 50px; height: 49px; margin: 0px 0px 15px 12px; }
.highlighter { width: 50px; height: 47px; margin: 0px 0px 15px 100px; }
.logo {	margin: 10px 0px; width: 1000px; height: auto; }
.exc { width: 180px; height: 270px; box-shadow: 0 4px 8px #2d424c; }
@media screen and (max-width: 1750px) { .exc { width: 90px; height: 135px; } }
@media screen and (max-width: 1400px) { .exc { width: 75px; height: 112px; } }
@media screen and (max-width: 1000px) { .exc { width: 60px; height: 90px; } }

.strike { filter: drop-shadow(20px 20px 5px); color: #ccc; }
@media screen and (max-width: 700px) { .strike { width: 80px; height: 80px; margin: 0px 25% 0px 0px; } }

.side-tabs { position: fixed;  left: 60px; top: 120px; display: flex; z-index: 3;}
.side-tab { transition: transform 0.6s ease; }
.side-tab:hover { transform: scale(1.2); z-index: 1; }
@media screen and (max-width: 1600px) { .side-tabs { left: 40px; top: 60px; } }
@media screen and (max-width: 1300px) { .side-tabs { left: 20px; top: 60px; } }
@media screen and (max-width: 1000px) { .side-tabs { left: 10px; top: 60px; } }
@media screen and (max-width: 700px) { .side-tabs { left: 82%; top: 40px; } }

a { color: #fffffe; text-decoration: underline; font-weight: 900; }
a:hover { text-decoration: none; color: #32cd32; }
a:visited { text-decoration: none; }

p { text-align:justify; line-height: 150%;}

b { font-family: "Playfair Display", serif; font-size: clamp( 1.2rem, 3.5vw, 1.4rem); font-weight: 900; }

.br, .br2, .br3 {	display: block; margin-top: 8px; }
.br2 { margin-top: 12px; }
.br3 { margin-top: 40px; }
.br4 { margin: 4px 40px; }
@media screen and (max-width: 700px) { .br3 { margin-top: 30px; } }
@media screen and (max-width: 700px) { .br4 { display: block; margin: 10px 20px 30px; } }

 @keyframes pulse { 0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }}

.pulse { animation: pulse 0.9s infinite; z-index: -1;}
@media screen and (max-width: 700px) { .pulse2 { animation: pulse 0.9s infinite; z-index: -1; } }

.pane { transform: translateY(100%); transition: transform 1s ease-out, opacity 2s ease-out; }
.pane.visible { transform: translateY(0); }

mark { background-color: #d5d9db; text-transform: capitalize; font-weight: 600; }
.hidden-mark mark { font-weight: 400;  background-color: transparent; color: inherit; text-transform: none; }

section { position: relative; display: flex; flex-direction: column; }
header { position: sticky; top: 0; }
.section-heading { position: sticky; top: 0; color: #fffffe; }
.section-heading h2 { font-family: "Playfair Display", serif; font-size: clamp( 1.4rem, 3.5vw, 2.4rem); margin: 4px 0px 22px; padding: 10px; background-color: #ef4123; }
section::before { content: ''; display: block; height: 70px;  margin-top: -70px; visibility: hidden; pointer-events: none; }

#page { margin: 0 auto; text-align: left; width: 90%; }

main { margin: 0px 0px 20px 0px; width: 100%; float: left; background: rgba(255, 266, 254, 0.9); z-index: 1; }

#blueGlass, #topblueGlass { background-color: rgba(23,67,88,0.9); color: #fffffe; margin: 10px 0px; padding: 7px 20px; z-index: 1; }

#topblueGlass p { padding: 8px 0px 8px 0px; margin: 4px 0px 4px 0px; color: #FFF; line-height: 150%; }
#topblueGlass h2, legend { margin: 24px 0px 0px; font-weight: 900;}

@keyframes GrowL  { from { font-size: 6px; } to { font-size: clamp(1.1rem, 3.5vw, 1.6rem); } }
#blueGlass  legend { animation: GrowL 1.8s forwards; }

fieldset, .grey { padding: 10px; margin: 40px 0px; text-align:justify; border: 4px solid; border-image-source: radial-gradient( circle at bottom right, #4f4f4e, #ccc, transparent 120%); border-image-slice: 1; line-height: 150%; }
legend {  font-size: clamp(1.1rem, 3.5vw, 1.6rem); font-weight: 900; text-wrap: balance; text-align: left; }
.red { padding: 10px;  margin: 40px 0px; border: 3px solid #ef4123; }
@media screen and (max-width: 700px) { fieldset, .red, .grey { margin: 30px 0px; } }
@media screen and (max-width: 700px) { .margin { margin: 60px 0px 40px; } }

.enlarge { width: auto; height: auto; transition: transform 0.6s ease; box-shadow: 0 4px 8px #2d424c, 0 8px 16px #2d424c; }
.enlarge:hover { transform: scale(1.2); z-index: 1; }
@media screen and (max-width: 700px) { .enlarge:hover { transform: none; } }

.wrapper, .wrapperBottom { display: grid; grid-template-columns: 33% 67%; place-items: center; }
.wrapperR { display: grid; grid-template-columns: 67% 33%; place-items: center; }
.wrapperBottom { margin: 40px 0px; padding: 6px 40px;}
.wrapper2column { display: grid; grid-template-columns: 1fr 1fr; place-items: center; margin:20px 0px; gap: 40px; }
.overlay { margin-top: 5% }
@media screen and (max-width: 700px) { .wrapperBottom { padding: 0px 60px; margin: 20px 0px; } }
@media screen and (max-width: 700px) { .wrapperBottom, .wrapper, .wrapperR, .wrapper2column { grid-template-columns: 100%; } }
@media screen and (max-width: 700px) { .overlay { margin-top: -24%; z-index: 1; margin-left: 10px; margin-right: 10px;  padding: 0px;} }

@keyframes slide {from { transform: translateX(100%); } to { transform: translateX(0); } }
div.sticky { position: -webkit-sticky; position: sticky; bottom: 0; z-index: 4; animation: slide 0.9s ease-out; }

#fadeout { height: 100px; position: fixed; bottom: 0; width: 100%; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 90%); z-index: 3; }

details > summary {   font-weight: 900; text-decoration: underline; cursor: grab; padding: 8px 0px; margin: 4px 0px 4px 0px; color: #fffffe; text-wrap: balance; }
details > summary:hover { text-decoration: none; }
details > fieldset { padding: 10px; margin: 40px 0px; text-align:justify; border: 4px solid; border-image-source: radial-gradient( circle at bottom right, #fffffe, #ccc, transparent 120%); border-image-slice: 1; line-height: 150%; }
@media screen and (max-width: 700px) { details > fieldset { margin: 50px 0px; } }

#contact { margin: 10px 5px 10px 5px; text-align: center; font-size: clamp(0.2rem, 3.5vw, 0.8rem); }

nav { list-style-type: none; margin: 2px 0px 2px 0px; padding: 2px 2px 2px 2px; overflow: hidden; text-wrap: balance; font-size: clamp(0.9rem, 3.5vw, 1.1rem); }
nav li { float: left; }
nav li a { font-family: "Playfair Display", serif; display: inline-block; color: #fffffe; padding: 10px 10px; font-weight: 900; text-decoration: underline; }
nav li a:hover { color: #080808; background-color: #fffffe; border-radius: 6px; }

.booklet { display: grid; grid-template-columns: 60% 40%; }
@media screen and (max-width: 700px) { .booklet { grid-template-columns: 100%; }}

.dropBooklet { width: 194px; height: 288px; padding: 20px 0px; }
@media screen and (max-width: 700px) { .dropBooklet { width: 108px; height: 162px; margin: 20px 0px; float: left; padding: 0px; }}

h1, h2, h3, h4, h5 { font-family: "montserrat", sans-serif; text-transform: capitalize; font-weight: 900; margin: 14px 0px; text-wrap: balance; }
h2 { font-size: clamp( 2rem, 3.5vw, 2.6rem); }
h3 { font-size: clamp( 1.8rem, 3.5vw, 2.4rem); }
h4 { font-size: clamp( 1.4rem, 3.5vw, 1.6rem); }
h5 { font-size: clamp( 1.1rem, 3.5vw, 1.3rem); margin: 0px 0px; }

@media screen and (max-width: 700px) { h1, h2, h3, strong { margin: 4px 0px 0px; }}
@media screen and (max-width: 700px) { h4 { margin-top: 30px; }}

@keyframes Increase  { from { font-size: 6px; } to { font-size: clamp( 1.4rem, 3.5vw, 2.6rem); }}
@keyframes IncreaseRed  { from { font-size: 6px; } to { font-size: clamp( 2.8rem, 3.5vw, 4rem); }}
@keyframes IncreaseTitle  { from { font-size: 6px; } to { font-size: clamp( 1.4rem, 3.5vw, 2.2rem); }}

strong { font-family: "Playfair Display", serif; animation: Increase 1.8s forwards; font-weight: 900; margin: 10px 0px; }
.redHeading { font-family: "Playfair Display", serif; animation: IncreaseRed 1.8s forwards; color: #ef4123; font-weight: 900; margin: 28px 10px; }

.title { animation: IncreaseTitle 1.8s forwards; }
.sunTzu, small { font-family: "Playfair Display", serif; text-wrap: balance; }
.sunTzu { font-size: clamp( 2.7rem, 3.5vw, 3.3rem); font-weight: 900; }
small { font-size: smaller; font-weight: 900; }
.sans { font-family: "montserrat", sans-serif; font-weight: 400; }