/* W3.CSS 4.15 December 2020 by Jan Egil and Borge Refsnes */
html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}
audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}
audio:not([controls]){display:none;height:0}[hidden],template{display:none}
a{background-color:transparent}a:active,a:hover{outline-width:0}
abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000}
small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}
button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold}
button,input{overflow:visible}button,select{text-transform:none}
button,[type=button],[type=reset],[type=submit]{appearance:button; -webkit-appearance:button}
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}
button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}
[type=checkbox],[type=radio]{padding:0}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]{appearance:textfield; -webkit-appearance:textfield;outline-offset:-2px}
[type=search]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
/* End extract */
html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden}
h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}
.w3-serif{font-family:serif}.w3-sans-serif{font-family:sans-serif}.w3-cursive{font-family:cursive}.w3-monospace{font-family:monospace}
h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px}
hr{border:0;border-top:1px solid #eee;margin:20px 0}
.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit}
.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc}
.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1}
.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center}
.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}
.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap}
.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}
.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}   
.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none}
.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none}
.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%}
.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none}
.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s}
.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%}
.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc}
.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}
.w3-dropdown-hover:hover .w3-dropdown-content{display:block}
.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}
.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px}
.w3-main,#main{transition:margin-left .4s}
.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}
.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto}
.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0}
.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left}
.w3-bar .w3-button{white-space:normal}
.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0}
.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%}
.w3-responsive{display:block;overflow-x:auto}
.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before,
.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both}
.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%}
.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%}
.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%}
.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%}
@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%}
.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%}
.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}}
@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%}
.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%}
.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}}
.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px}
.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px}
.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell}
.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom}
.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important}
@media (max-width:1205px){.w3-auto{max-width:95%}}
@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}
.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative}	
.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center}
.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}}
@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}
@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}}
@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}
@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}}
.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}
.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2}
.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}
.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}
.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}
.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)}
.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)}
.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none}
.w3-display-position{position:absolute}
.w3-circle{border-radius:50%}
.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px}
.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px}
.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px}
.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}
.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}
.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}
.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)}
.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1}
.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75}
.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)}
.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)}
.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)}
.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}
.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}
.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important}
.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}
.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}
.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}
.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}
.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}
.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important}
.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}
.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}
.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important}
.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}
.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
.w3-padding-top-64{padding-top:64px!important}.w3-padding-top-48{padding-top:48px!important}
.w3-padding-top-32{padding-top:32px!important}.w3-padding-top-24{padding-top:24px!important}
.w3-left{float:left!important}.w3-right{float:right!important}
.w3-button:hover{color:#000!important;background-color:#ccc!important}
.w3-transparent,.w3-hover-none:hover{background-color:transparent!important}
.w3-hover-none:hover{box-shadow:none!important}
/* Colors */
.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}
.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}
.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}
.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important}
.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}
.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}
.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important}
.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important}
.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}
.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}
.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}
.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}
.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}
.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}
.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}
.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}
.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}
.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}
.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}
.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}
.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}
.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important}
.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}
.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important}
.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}
.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important}
.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important}
.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important}
.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important}
.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important}
.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important}
.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important}
.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}
.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important}
.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important}
.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important}
.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important}
.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}
.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important}
.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important}
.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important}
.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important}
.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important}
.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important}
.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important}
.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important}
.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important}
.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}
.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important}
.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important}
.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important}
.w3-text-white,.w3-hover-text-white:hover{color:#fff!important}
.w3-text-black,.w3-hover-text-black:hover{color:#000!important}
.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important}
.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important}
.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important}
.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important}
.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important}
.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important}
.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important}
.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important}
.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important}
.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important}
.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}
.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important}
.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important}
.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important}
.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important}
.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important}
.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important}
.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important}
.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important}
.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important}
.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}
.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important}
.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important}
.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}
.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}
.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}
.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important}
.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important}
.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important}
.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important}
.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}

/* set once, tweak here */
:root{
  --header-h: 20px;     /* actual height of your purple bar */
  --header-gap: 24px;   /* extra breathing room below it */
}

.card.widgets-row {
  align-items: start;
  padding-block: 24px;                         /* space above/below the row */
  margin-bottom: 24px;                         /* gap before the next row   */
}

/* Each column contains one .widget wrapper */
.card.widgets-row .cell {
  display: flex;
  /* no overflow clipping here */
  overflow: visible;
}

/* Make every .widget a fixed-height tile and stack its children vertically.
   First child = the embed (fills); second child = the CTA/badge (auto). */
.card.widgets-row .widget {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: visible;      /* don’t clip children */
}

/* Make the *first* child inside .widget fill the tile (the embed area) */
.card.widgets-row .widget > :first-child {
  flex: 1 1 auto;
  min-height: 0;                                /* allow internal scrolling  */
}

.card.widgets-row .strawpoll iframe {
  width: 100%;
  height: 640px;   /* desktop */
  display: block;
}

/* tablet */
@media (max-width: 1024px){
  .card.widgets-row .strawpoll iframe{ height: 600px; }
}

/* phones — make it taller so nothing clips */
@media (max-width: 700px){
  .card.widgets-row .strawpoll iframe{
    height: 760px !important;   /* was ~540; raise it */
  }
}

/* --- Instagram / Elfsight --- */
.card.widgets-row .elf { height: 100%; margin: 0 !important; }

/* --- RSS ---  (your HTML has #widget-container > .widget …) */
.card.widgets-row #widget-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.card.widgets-row #title-section,
.card.widgets-row #rss-loader { flex: 0 0 auto; }
.card.widgets-row #rss-widget { flex: 1 1 auto; min-height: 0; }

/* --- Hoops badge spacing (inside .widget, after the poll) --- */
.game-badge.hoops {
  align-self: center;
  margin-top: clamp(14px, 2vw, 24px);
  margin-bottom: 0;
}

/* make the fixed header consume its own height */
.w3-top .banner{
  min-height: var(--header-h);
  display: flex;
  align-items: center;
}

/* === Site Typography & Spacing === */
body, h1, h2, h3, h4, h5, h6 { font-family: "Karma", sans-serif; text-align: center}

/* === Page Frame === */
body {
  background-image: url(./images/swirl.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  max-width: 75%;
  margin: auto;
  padding-top: calc(var(--header-h) + var(--header-gap));
}

/* anchors won't be hidden by the fixed header */
html{ scroll-padding-top: calc(var(--header-h) + var(--header-gap)); }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h,72px) + 16px); }

/* === Popups (Age Verification & Alerts) === */
/* start hidden, become visible with .is-visible */
.popup, .alert-popup{
  position: fixed; inset: 0;
  display: none;                           /* off by default */
  justify-content: center; align-items: center;
  background: #000;                        /* solid backdrop */
  z-index: 9999;
  opacity: 0; transition: opacity .2s ease;
}
.popup.is-visible, .alert-popup.is-visible{
  display: flex;
  opacity: 1;
}

/* panel */
.popup-content, .alert-popup-content{
  background: #5f00c4;                        /* keep the panel black too */
  color:#fff;
  padding: 22px 24px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.55);
}

/* layout inside the age form */
#age-verification-form{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;                               /* <-- space between date and button */
  margin-top: 12px;
  flex-wrap: wrap;                         /* wraps nicely on small screens */
}

/* input + button sizing */
#birthdate{
  height: 42px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid #777;
  background: #fff;
  color: #111;
}
#age-verification-form button{
  height: 42px;
  padding: 0 16px;
  border-radius: 8px;
  border: 0;
  font-weight: 800;
  background: #20c997;                     /* tweak to your brand */
  color: #0b2f22;
  cursor: pointer;
}
#age-verification-form button:hover{ filter: brightness(1.05); }


/* --- TOP BAR (fixed, full width, no overlap) --- */
.w3-top{
  position: fixed;
  top: 0; left: 0; right: 0;
  width: 100%;
  background: #6a1b9a;
  z-index: 9998;
}

/* one layout for all sizes: FLEX */
.w3-top .w3-container{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 8px 12px;
  box-sizing: border-box;
  margin: 0 auto;
}

/* hamburger */
.w3-top .menu-button{ flex: 0 0 auto; }
.w3-top .w3-button{ font-size: 28px; color:#fff; line-height: 1; cursor: pointer; }

/* title centers itself and can wrap, no negative indent */
.w3-top .title{
  flex: 1 1 auto;
  text-align: center;
  min-width: 0;
  padding: 0;             /* no extra left/right push */
}
.w3-top .title strong{
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(18px, 4.5vw, 28px);  /* scales on phones */
}

/* Sidebar unchanged */
.w3-sidebar{
  display:none; position:fixed; top:0; left:0; height:100%;
  width:75%; min-width:250px; background:#6a1b9a; z-index:9999; overflow-y:auto; transition:.3s;
}
.w3-sidebar a{ padding:16px; text-align:center; display:block; color:#fff; text-decoration:none; }
.w3-sidebar a:hover{ background:#5e35b1; }
.w3-sidebar .closebtn{ position:absolute; top:0; right:0; padding:16px; font-size:22px; background:#333; color:#fff; cursor:pointer; }

/* (Optional) at wider screens you can cap the title size */
@media (min-width: 1024px){
  .w3-top .title strong{ font-size: 28px; }
}


/* Layout of the vertical stack */
.stack {
  display: grid;
  gap: 1.25rem;                  /* space between rectangles */
  max-width: 2000px;
  margin: 0rem auto;
  padding: 0 1rem;
}

/* Each rectangle */
.card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3 even columns */
  border-radius: 8px;
  padding: 1rem 1.25rem;
  gap: 5rem;                     /* space between the 3 columns */
  background: #000000;
  align-items: center;          /* columns are equal height */
}

/* Each rectangle */
.card2 {
  display: grid;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  gap: 5rem;                     /* space between the 3 columns */
  background: #616161;
  align-items: center;          /* columns are equal height */
}

/* Content inside each column */
.cell {
  display: flex;                 /* lets inner items align/wrap nicely */
  flex-direction: column;
  gap: .5rem;
  min-width: 0;                  /* ensures long words wrap instead of overflowing */
  overflow-wrap: anywhere;       /* hard-wrap long tokens */
  justify-content: center;    
}

@media (max-width:700px){
  .stack{ display:flex; flex-direction:column; gap:1rem; }

  /* flatten rows so their children (.cell) become siblings */
  .card{ display: contents; }

/* flatten rows so their children (.cell) become siblings */
  .card2{ display: contents; }

  /* ordering: default high so untagged items fall after your numbered ones */
  .cell{ order: var(--mo, 100); }

  .footer-grid{ display: grid; }  /* not contents */
  .footer-grid .cell{ order: 0; }         /* ignore mo-* here */

  /* utilities: class → order number */
  .mo-1{ --mo:1 } .mo-2{ --mo:2 } .mo-3{ --mo:3 } .mo-4{ --mo:4 } .mo-5{ --mo:5 } .mo-6{ --mo:6 } .mo-7{ --mo:7 } .mo-8{ --mo:8 } .mo-9{ --mo:9 } .mo-10{ --mo:10 } .mo-11{ --mo:11 } .mo-12{ --mo:12 } .mo-13{ --mo:13 } .mo-14{ --mo:14 }
}

/* Mobile spacing tidy-up */
@media (max-width:700px){

  /* 1) A single, consistent gap between blocks */
  .cell { margin-block: 50px; }                 /* top+bottom spacing per cell */
  .cell > *:first-child { margin-top: 0; }      /* kill stray top margins */
  .cell > *:last-child  { margin-bottom: 0; }   /* and stray bottom margins */

  /* 2) Normalize components that add big top margins */
  .strawpoll,
  .elf,
  #widget-container,
  .game-badge { 
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }

  /* Optional: keep tall images from crowding */
  .mainimage,
  .image-container img { max-width: 100%; height: auto; display: block; }
}

.transparent {
  background: rgba(0,0,0,0.0);
}

/* === Name Badges === */
.image-container { perspective: 1000px; }
.image-container img {
  width: 100%;
  transition: transform .3s ease, box-shadow .3s ease;
}
.image-container img:hover { transform: scale(1.1) rotateY(360deg); box-shadow: 0 0 0 rgba(0,0,0,0.3); }

.names { width: 65%; align-self: center; }

.mainimage { width: 100%; align-self: center; }

/* New Links */

/* Grid layout */
/* Stack and center the cards */
.team-grid{
  display: flex;                  /* stack via column */
  flex-direction: column;
  gap: 16px;                      /* space between cards */
  width: min(600px, 100%);        /* consistent max width */
  margin: 10px auto;              /* center the whole list */
  padding: 0;                     /* remove extra padding */
}

/* Card layout + centering of icon & text */
.team-card{
  display: flex;
  align-items: center;            /* vertical centering */
  justify-content: center;        /* horizontal centering */
  gap: 10px;
  padding: 18px 22px;
  border-radius: 15px;
  color: #fff;
  font-size: 1.2em;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 6px 15px rgba(0,0,0,.2);
  transition: transform .3s ease, box-shadow .3s ease;
  width: clamp(260px, 75%, 520px);  /* <— shrink to 75% of column, with min/max bounds */
  margin: 0 auto;                   /* centers the card */
  text-decoration: none; 
}

.team-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 12px 25px rgba(0,0,0,.3);
}

/* make sure the Italy button can host the shine overlay */
.italy { position: relative; overflow: hidden; }

/* the moving light streak */
.italy::after {
  content: "";
  position: absolute;
  top: -50%;           /* tall so it covers the rounded corners diagonally */
  left: 0;
  width: 40%;
  height: 200%;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-150%) skewX(-20deg);
  opacity: 0;
}

/* trigger the shine on hover (or focus for keyboard users) */
.italy:hover::after,
.italy:focus-visible::after {
  opacity: 1;
  animation: italyShine 900ms ease;
}

@keyframes italyShine {
  to { transform: translateX(150%) skewX(-20deg); }
}

/* give icons a little breathing room in buttons/links */
.links-container a i,
.chip i,
.team-card i {
  margin-right: 8px;
  font-size: 1.1em;
  line-height: 1;
  vertical-align: -1px;
}

/* Individual team colors */
.redsox   { background: linear-gradient(135deg, #d60000, #ff4d4d); }
.celtics  { background: linear-gradient(135deg, #007a33, #00b050); text-decoration: none; }
.irish    { background: linear-gradient(135deg, #ffcc00, #ffdd44); color: #333; }
.chargers { background: linear-gradient(135deg, #0080ff, #66b2ff); color: #ffeb3b; }
.devils   { background: linear-gradient(135deg, #000, #660000); color: #ff3333; }
.westham  { background: linear-gradient(135deg, #7a263a, #a71a52); }
.yankees   { background: linear-gradient(135deg, #0a2351, #3559ff); color: #fff; }
.clemson   { background: linear-gradient(135deg, #f56600, #ffb347); color: #fff; }
.panthers  { background: linear-gradient(135deg, #000000, #1a1a1a); color: #3191C8; }
.hurricanes{ background: linear-gradient(135deg, #d90404, #ff3b3b); color: #000; }
.italy     { background: linear-gradient(90deg, #008C45 0%, #F4F5F0 50%, #CD212A 100%); color: #0b2e13; }
.thankyou { background: linear-gradient(90deg, #003cff 0%, #8400ff 50%, #ff009d 100%); color: #ffffff; }
.liberty     { background: linear-gradient(90deg, #00027c 100%); color: #eeff04 }
.banner { color: #8000ff }

/* Generic pill badge */
.game-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  padding:12px 18px;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 6px 15px rgba(0,0,0,.2);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
  margin:10px auto;             /* centers if inside a block-level container */
  margin-top: 35px;
  width: min(600px, 100%);
  font-size: 30px;
}
.game-badge i{ font-size:1.1em; line-height:1; }

/* Hover/active */
.game-badge:hover{ transform:translateY(-3px); box-shadow:0 12px 24px rgba(0,0,0,.3); }
.game-badge:active{ transform:translateY(0); filter:brightness(.95); }

/* Basketball theme */
.hoops{
  color:#2b1600;
  background:
    radial-gradient(circle at 30% 25%, #ffb86a 0%, #ff9a3d 40%, #d86a19 100%);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.2),
    0 8px 20px rgba(0,0,0,.25);
}

/* Optional: subtle "pebble" texture for the ball */
.hoops::before{
  content:"";
  position:absolute;            /* requires a positioning context */
  inset:0;
  border-radius:999px;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.08), transparent 35%),
    radial-gradient(circle at 80% 80%, rgba(0,0,0,.06), transparent 40%);
  opacity:.6;
}
.game-badge.hoops{ position:relative; overflow:hidden; }

.strawpoll { height: 544px; max-width: 640px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; margin-top: 30px;}

.strawpoll-frame { position: static; visibility: visible; display: block; width: 100%; flex-grow: 1; }

.elf { display: flex; justify-content: center; margin: 16px 0 20px; } /* no giant top margin */

/* Elfsight host needs a minimum height so it won't crop */
.widget--insta [class^="elfsight-app-"],
.widget--insta .eapps-instagram-feed{
  min-height: 680px !important;
  width: 100%;
}

/* tablet tweaks */
@media (max-width: 1024px){
  .widget--insta [class^="elfsight-app-"],
  .widget--insta .eapps-instagram-feed{ min-height: 640px !important; }
  #rss-widget{ min-height: 520px; }
}

/* phones — taller so content doesn’t crop */
@media (max-width: 700px){
  .widget--insta [class^="elfsight-app-"],
  .widget--insta .eapps-instagram-feed{ min-height: 720px !important; }
}

.elf2 { width: 340px; }

/* === RSS Widget === */
#widget-container {
  width: 100%; max-width: 1200px; margin-top:40px;
  background: linear-gradient(45deg, #0000ff, #800080);
  box-shadow: 0 2px 5px rgba(0,0,0,.2);
  padding: 20px; box-sizing: border-box; position: relative; overflow: hidden;
  min-height: 660px;
}

#title-section { text-align: center; margin-bottom: 20px; }
#title-section h1, #title-section h4 { margin: 0; font-size: 24px; color: #fff; }
#title-section .powered-by { display: flex; align-items: center; justify-content: center; margin-top: 10px; font-size: 16px; color: #fff; }
#title-section .powered-by img { height: 24px; margin-left: 10px; }
#rss-loader, #rss-debug { text-align: center; color: #fff; font-size: 14px; margin: 10px; }

#rss-widget {
  overflow: hidden; width: 100%; margin: auto; position: relative;
  min-height: 560px; background: #fff; border-radius: 10px;
}

@media (max-width: 700px){
  #widget-container{ min-height: 660px; }  /* outer box so header + stage fit */
  #rss-widget{ min-height: 600px; }        /* stage itself */
}

.slider { display: flex; width: 100%; transition: transform .5s ease-in-out; will-change: transform; overflow: hidden; }
.slide {
  flex: 0 0 100%; max-width: 100%; box-sizing: border-box;
  padding: 20px; background: #fff; text-align: center; transition: transform .3s ease;
}
.slide img {
  max-width: 90%; max-height: 300px; object-fit: cover; margin: 0 auto; border-radius: 10px; display: block;
}
.slide:hover { transform: scale(1.02); box-shadow: 0 4px 8px rgba(0,0,0,.2); }
.description { text-align: center; padding: 10px; background: #fff; margin-top: 10px; }

.rss_popup {
  display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 95%; max-width: 1025px; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.5);
  z-index: 1000; padding: 20px; box-sizing: border-box; overflow-y: auto;
}
.rss_popup img { width: 100%; height: auto; }
.rss_popup .description { padding: 10px; background: #f9f9f9; }
.rss_popup .link { text-align: center; padding: 10px; background: #6a0cad; }
.rss_popup.active { display: block; }

.close-popup {
  position: absolute; top: 10px; right: 10px;
  background: #000; color: #fff; padding: 10px;
}
.arrow {
  position: absolute; top: 50%; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; cursor: pointer; z-index: 10;
  background: rgba(0,0,0,0.5); color: #fff; border-radius: 50%;
  transform: translateY(-50%); transition: transform .2s ease;
}
.arrow-left { left: 10px; } .arrow-right { right: 10px; }
.arrow:hover { background: rgba(0,0,0,0.7); transform: scale(1.1) translateY(-50%); }

/* Icons inside .link */
.link i { margin-right: 8px; }

/* === Info Icon + Disclaimer Tooltip === */
.info-icon {
  position: relative; display: inline-block; cursor: pointer;
  font-size: 14px; color: #fff; background: #000; border-radius: 50%;
  width: 18px; height: 18px; text-align: center; line-height: 18px; font-weight: bold; margin-left: 5px; vertical-align: middle;
}
.disclaimer {
  visibility: hidden; opacity: 0; transition: opacity .3s;
  position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%);
  width: 200px; background: #f9f9f9; color: #333; text-align: left;
  border-radius: 5px; padding: 10px; box-shadow: 0 4px 8px rgba(0,0,0,.2); z-index: 1;
}
.info-icon:hover .disclaimer { visibility: visible; opacity: 1; }
.disclaimer::before {
  content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  border: 8px solid transparent; border-top-color: #f9f9f9;
}

.disc-note { text-align:center; color:yellow }

/* === External Link Popup === */
.external {
  display: none; position: fixed; inset: 0; z-index: 1000;
  background-color: rgba(0,0,0,.5); justify-content: center; align-items: center;
}
.external.is-visible{ display:flex; }
.external-content {
  background: #5f00c4; padding: 20px; border-radius: 10px; text-align: center; width: 300px;
}
.external-content h2 { margin-top: 0; background: #000; color: #fff; }
.close-btn { position: absolute; top: 5px; right: 5px; font-size: 30px; cursor: pointer; }
.extbutton { background: rgb(0, 0, 0); color: #fff; }
.extbutton:hover { background: rgb(255, 2, 255); }

.socials { width:75px; height:75px; vertical-align: middle; margin-top:25px; }

.btt { padding: 10px 15px; background-color: #8000ff; color: rgb(255, 255, 255); border: none; border-radius: 5px; cursor: pointer; display: block; margin: auto; }

.policy { margin: 0 10px; }

.policy1 { display: flex; justify-content: center; margin-top:50px; }

.policy2 { max-width: 800px; text-align:left }

.hr { color:white; width:100% }

.contact { width:150px;height:150px; }

.alert { display: none; }

.about { text-align:center; }
.about h2 { font-family:Lucida Handwriting }
.about p { font-family:Segoe UI Black; font-size:20px }

.appreciation { margin-top: 30px; }

.thanks { display: block; margin: auto; border-radius: 50%; max-width:50%; margin-top:30px }

.dubby { width: 50%; align-self: center; }
/* Remove hover/focus background & shadow on this specific link */
.dubby-link,
.dubby-link:link,
.dubby-link:visited,
.dubby-link:hover,
.dubby-link:focus,
.dubby-link:active{
  background: none !important;   /* kills W3 hover bg, if any */
  box-shadow: none !important;    /* kills .pop shadow */
  border: 0 !important;
  text-decoration: none !important;
  outline: none;                  /* we'll add our own ring below */
}

/* Keep a visible focus ring for keyboard users */
.dubby-link:focus-visible{
  outline: 2px solid rgba(255,255,255,.8);
  outline-offset: 3px;
  border-radius: 8px;             /* tweak to taste */
}

/* Tidy image in link */
.dubby-link img{ display:block; }

.footer2 { margin-top:20px; margin-bottom: 20px; }

.w3-tag { padding: 10px; display: inline-block; margin: 5px 0; }

/* generic pop-out utility */
.pop {
  display: inline-flex;                 /* keeps icon centered */
  align-items: center; justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  transform-origin: center;
  will-change: transform;
}

.pop:hover,
.pop:focus-visible {
  transform: translateY(-3px) scale(1.12);     /* POP! */
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
  outline: none;                                /* keep your own ring below */
}

/* nice focus ring for keyboard users */
.pop:focus-visible {
  box-shadow:
    0 10px 20px rgba(0,0,0,.25),
    0 0 0 3px rgba(255,255,255,.7);
  border-radius: 999px;                          /* round icons/buttons */
}

/* optional: pressed state */
.pop:active { transform: translateY(-1px) scale(1.06); }

/* reduce motion for a11y */
@media (prefers-reduced-motion: reduce) {
  .pop, .pop:hover, .pop:active { transition: none; transform: none; box-shadow: none; }
}

/* Cells sit at the top of the row */
.card.row-top { 
  align-items: start; 
}

/* Inside each cell: top vertically, center horizontally */
.card.row-top .cell {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;   /* top */
  align-items: center;           /* center horizontally */
  margin-top: 20px;
}


/* Desktop/tablet: 3 equal columns */
.footer-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
}

/* Optional: vertical rules on desktop only (safe) */
@media (min-width: 900px){
  .footer-grid > .cell{ position: relative; }
  .footer-grid > .cell:not(:last-child)::after{
    content:"";
    position:absolute;
    right:-2.5rem;           /* half of the gap */
    top:10%;
    width:1px;
    height:80%;
    background:rgba(255,255,255,.35);
    pointer-events:none;
  }
}

/* Mobile: single column with explicit order (no display: contents) */
@media (max-width: 700px){
  .footer-grid{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "support"   /* 1st */
      "sponsor"   /* 2nd */
      "socials";  /* 3rd */
    gap: 1.25rem;
  }

  .footer-grid .cell--support { grid-area: support; }
  .footer-grid .cell--sponsor { grid-area: sponsor; }
  .footer-grid .cell--socials { grid-area: socials; }

  /* make sure any global ‘flatten & order’ rules don’t affect the footer */
  .footer-grid .cell{ order: 0; }
}


/* === Floating Button (no visual change, just tidied) === */
.fixed-button {
  position: fixed; right: 0; bottom: 0;
  padding: 0; background: transparent; color: #fff; border: 0; border-radius: 0;
  cursor: pointer; box-shadow: 0 0 0 rgba(0,0,0,0.2);
  z-index: 1000; transition: background-color .3s;
}
.fixed-button:hover { background: transparent; }

/* Contact form embed */
.form-embed{
  /* keep it centered with some side padding */
  width: min(92vw, 900px);
  margin: 0 auto;
  padding-inline: clamp(8px, 3vw, 16px);
  border-radius: 12px;
  overflow: hidden;             /* trims any tiny iframe overflow */
}

.form-embed iframe{
  display: block;
  width: 100%;
  border: 0;
  height: 600px;               /* desktop-ish height */
  background-color: white; 
}

/* Phones / small tablets */
@media (max-width: 700px){
  .form-embed{ width: min(96vw, 700px); }
  .form-embed iframe{
    height: 700px;             /* forms are taller on mobile; raise as needed */
  }
}

/* Really small phones */
@media (max-width: 420px){
  .form-embed iframe{ height: 1950px; }
}

/* ===== Tablet layout: make rows 2-col, let key items span full width ===== */
@media (min-width:701px) and (max-width:1200px){

  /* trim global gaps a bit */
  .stack { gap: 2rem; padding-inline: clamp(12px, 3.5vw, 24px); }

  /* any row you mark as "tablet-2" becomes 2 columns */
  .card.tablet-2 {
    grid-template-columns: 1fr 1fr;      /* 2 equal columns */
    --gap: clamp(16px, 3vw, 28px);       /* a smaller column gap feels nicer here */
    gap: var(--gap);
    align-items: start;
  }

  /* optional: hide the vertical divider lines on tablet */
  .card.tablet-2.row-dividers::before,
  .card.tablet-2.row-dividers::after { display: none; }

  /* any cell you mark wide on tablet spans both columns */
  .card.tablet-2 .wide-on-tablet { grid-column: 1 / -1; }

  /* widgets fill their column */
  .spotify, .spotify iframe,
  .strawpoll, .strawpoll iframe,
  .elf, .elf *[class*="elfsight"],
  #widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* team lists stop trying to be multi-col on tablet */
  .team-grid { grid-template-columns: 1fr !important; }

  /* badges/images scale comfortably */
  .image-container img,
  .mainimage {
    max-width: clamp(180px, 30vw, 320px);
    height: auto;
    display: block;
    margin-inline: auto;
  }

  /* avoid narrow embed scrollbars */
  .spotify iframe { height: 352px; border: 0; display: block; }

}

/* --- TOP BAR (fixed, full width, no overlap) --- */
.w3-top{
  position: fixed;
  top: 0; left: 0; right: 0;
  width: 100%;
  background: #6a1b9a;
  z-index: 9998;
}

/* one layout for all sizes: FLEX */
.w3-top .w3-container{
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 8px 12px;
  box-sizing: border-box;
  margin: 0 auto;
}

/* hamburger */
.w3-top .menu-button{ flex: 0 0 auto; }
.w3-top .w3-button{ font-size: 28px; color:#fff; line-height: 1; cursor: pointer; }

/* title centers itself and can wrap, no negative indent */
.w3-top .title{
  flex: 1 1 auto;
  text-align: center;
  min-width: 0;
  padding: 0;             /* no extra left/right push */
}
.w3-top .title strong{
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(18px, 4.5vw, 28px);  /* scales on phones */
}

/* Sidebar unchanged */
.w3-sidebar{
  display:none; position:fixed; top:0; left:0; height:100%;
  width:75%; min-width:250px; background:#6a1b9a; z-index:9999; overflow-y:auto; transition:.3s;
}
.w3-sidebar a{ padding:16px; text-align:center; display:block; color:#fff; text-decoration:none; }
.w3-sidebar a:hover{ background:#5e35b1; }
.w3-sidebar .closebtn{ position:absolute; top:0; right:0; padding:16px; font-size:22px; background:#333; color:#fff; cursor:pointer; }

/* (Optional) at wider screens you can cap the title size */
@media (min-width: 1024px){
  .w3-top .title strong{ font-size: 28px; }
}

/* Responsive image: never overflow, never distort */
.pay-img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  margin:0 auto;
}

