html, body {  max-width: 1400px; margin: 0 auto; padding: 0px; font-family: "montserrat", sans-serif; font-size: 0.875rem; font-size: clamp(0.875rem, 3.5vw, 1rem); color: #080808; background: #fffffe; }

img { max-width: 100%; height: auto; }
.shaddow { width: 100%; margin: 20px 0px; box-shadow: 0 4px 8px #2d424c, 0 9px 18px #595959; }
.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; }
.imgBooklet { width: 194px; height: 288px; margin: 25px 0px 20px 20px; float: right; }

@media screen and (max-width: 700px) {
.imgBooklet { width: 108px; height: 162px; margin: 25px 0px 20px 20px; float: right; } }

@media screen and (max-width: 700px) {
.strike { width: 80px; height: 80px; margin: 0px 55% 0px 0px; } }

.side-tabs { position: fixed;  left: 0; transform: translateY(-50%); display: flex; flex-direction: column; z-index: 3;}
.side-tabs { top: 64px; }

.side-tab { font-family: "Playfair Display", serif; background: #ef4123; color: white;  text-align: center; padding: 5px 5px; border-radius: 0px 6px 6px 0px; text-decoration: none; font-weight: 900; font-size: 32px;  transition: background-color 0.3s ease; }.side-tab:hover { background: #32cd32; color: white; }

@media screen and (max-width: 700px) { .side-tab {   font-size: 16px; } }
@media screen and (max-width: 700px) { .side-tabs { top: 40px; } }
@media screen and (max-width: 700px) { .side-tabs2 { top: 90px; } }

a { color: white; 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; }
@media screen and (max-width: 700px) { .br3 { margin-top: 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: #fff; }
.section-heading h2 { font-family: "Playfair Display", serif; font-size: clamp( 1.4rem, 3.5vw, 2.6rem); margin: 4px 0px 22px; padding: 10px; background-color: #ef4123; border-radius: 6px; }
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; }

#blackGlass, #topblackGlass { background-image: linear-gradient(to bottom right, rgba(8,8,8,0.8), rgba(23,67,88,0.8) ); color: #fff; border-radius: 6px; margin: 10px 0px; padding: 7px 20px; z-index: 1; }

#topblackGlass p { padding: 8px 0px 8px 0px; margin: 4px 0px 4px 0px; color: #FFF; line-height: 150%; }
#topblackGlass h2, h3, h4 { margin: 16px 0px; font-weight: 900;}
#topblackGlass h2 { margin: 20px 0px; font-size: clamp(1.3rem, 3.5vw, 1.8rem);}
#topblackGlass h3 { font-size: clamp(1.2rem, 3.5vw, 1.6rem);}
#topblackGlass h4 { font-size: clamp(1.1rem, 3.5vw, 1.1rem);}

@keyframes GrowB { from { font-size: 6px; } to { font-size: clamp( 1.2rem, 3.5vw, 1.4rem); } }
#blackGlass  b { animation: GrowB 1.8s forwards; }

@keyframes GrowL  { from { font-size: 6px; } to { font-size: clamp(1.1rem, 3.5vw, 1.6rem); } }
#blackGlass  legend { animation: GrowL 1.8s forwards; }

fieldset { border: 1px solid #d5d9db; padding: 10px; margin: 40px 0px; text-align:justify; border-radius: 6px; box-shadow: 0 4px 8px #2d424c, 0 9px 18px #595959; line-height: 150%; }
legend {  font-size: clamp(1.1rem, 3.5vw, 1.6rem); font-weight: 900; text-wrap: balance; text-align: left; }
.red, .grey { padding: 10px; border-radius: 6px; margin: 40px 0px; }
.grey { border: 1px solid #d5d9db; box-shadow: 0 4px 8px #2d424c, 0 9px 18px #595959; }
.red { 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: white; text-wrap: balance; }
details > summary:hover { text-decoration: none; }
details > p { padding: 8px 0px 8px 0px; margin: 4px 0px 4px 0px; color: #FFF; line-height: 150%; }
details > h2, h3, h4 { margin: 16px 0px; font-weight: 900;}
details > h2 { margin: 20px 0px; font-size: clamp(1.3rem, 3.5vw, 1.8rem);}
details > h3 { font-size: clamp(1.2rem, 3.5vw, 1.6rem);}
details > h4 { font-size: clamp(1.1rem, 3.5vw, 1.1rem);}
details > fieldset { box-shadow: 0 4px 8px #ccc; margin: 50px 0px; }
details > .red { box-shadow: 0 4px 8px #ef4123; }
@media screen and (max-width: 700px) { details > fieldset, details > .red { margin: 30px 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; border-radius: 6px; 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: white; padding: 10px 10px; font-weight: 900; text-decoration: underline; }
nav li a:hover { color: black; background-color: white; 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 { 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; font-family: "montserrat", sans-serif; }

@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, 3rem); }}
@keyframes IncreaseRed  { from { font-size: 6px; } to { font-size: clamp( 2.3rem, 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; }
.serifHeading { font-family: "Playfair Display", serif; font-size: clamp( 2.3rem, 3.5vw, 4rem); font-weight: 900; }
@media screen and (max-width: 700px) { .serifHeading { margin: 14px 0px 0px; }}

.title { animation: IncreaseTitle 1.8s forwards; }
.sunTzu { font-family: "Playfair Display", serif; font-size: clamp( 2.7rem, 3.5vw, 3.3rem); font-weight: 900; text-wrap: balance; }
small { font-family: "Playfair Display", serif; font-size: smaller; font-weight: 900; text-wrap: balance; }
.sans { font-family: "montserrat", sans-serif; font-weight: 400; }
.sansBold { font-family: "montserrat", sans-serif; font-weight: 900; font-size: clamp(0.875rem, 3.5vw, 1rem); }