/* vars and color */ :root { /* define the color pallet */ /*--primary-color: #D1F7FF;*/ --primary-color: rgb(220, 251, 254); --secondary-color: #FAEAC0; --accent-color: #DA627D; --second-accent-color: #222E50; } /* minimalist reset */ * { padding: 0; margin: 0; } html { scroll-behavior: smooth; } body { font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif; line-height: 1.5; background-color: rgb(30, 30, 30); color: #303030; font-weight: 300; } p { line-height: 1.2; } /* body and main container */ /* media should not be inline, but be blocks */ /* media shouldn't break out of their container */ img, picture, video, canvas, svg { display: block; max-width: 100%; } .main-container { background-color: transparent; width: 100%; display: block; margin: 0 auto; } /* section format + colors */ section, header { padding: 4rem 2rem 4rem 2rem; } section:nth-child(even) { background-color: var(--primary-color); } section:nth-child(odd) { background-color: var(--secondary-color); } .title, .title-info-flex, .edges{ text-align: left; padding: 0 12rem; } .title { color: var(--accent-color); } h2 { font-size: 2.5rem; } strong { color: var(--accent-color); font-weight: 800; } /* header color will be that blue */ header { background-color: var(--primary-color); position: relative; overflow: hidden; padding-top: 2rem; } /* nav bar (logo and anchors) */ nav { margin: 0 20px 15px 20px; padding: 0; } .nav-flex { display: flex; justify-content: space-between; align-items: center; padding: 0 5vw; } .nav-flex > .flex-row > a { margin-bottom: 30px; display: block; margin-left: 5vw; } .nav-flex > .flex-row { justify-content: space-between; width: fit-content; } .logo-img { width: 80px; height: 80px; padding: 0; } .button:hover, .button:focus { /* goal - make it look clickable */ transition-duration: .2s; font-size: 107%; } /* Adapted from https://www.w3schools.com/howto/howto_js_collapse_sidepanel.asp */ /* The sidepanel menu */ .sidepanel { height: 100vh; width: 0; position: fixed; z-index: 101; top: 0; left: 0; overflow-x: hidden; transition: 0.4s; margin: 0; background-color: #222E50ee; } .sidepanel-menu { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 2rem; } .sidepanel a { text-decoration: none; font-size: 25px; color: white; display: block; transition: 0.3s; margin-bottom: 10px; } .sidepanel .logo-img { margin-bottom: 20px; } .sidepanel .link::before{ background-color: var(--secondary-color); } /* When you mouse over the navigation links, change their color */ .sidepanel a:hover { color: #2BB673; } /* Position and style the close button (top right corner) */ .sidepanel .closebtn { position: absolute; top: 0; right: 25px; font-size: 36px; margin-left: 50px; } #hamburger-box { padding: 10px; position: fixed; height: fit-content; top: 0; width: 100%; justify-content: space-between; background-color: rgb(43,42,45,0.6); margin: 0; display: none; z-index: 100; } /* Style the button that is used to open the sidepanel */ .openbtn { font-size: 30px; cursor: pointer; background-color: rgb(0,0,0,0); color: white; border: none; padding: 0; } .openbtn:hover { background-color: #444; } /* Link Styling - https://codepen.io/team/css-tricks/pen/xxPORam */ .link { text-decoration: none; position: relative; color: var(--accent-color); font-weight: 700; } .link::before { content: ""; background-color: #0000ff77; position: absolute; left: 0; bottom: -0.125rem; width: 100%; height: 2px; z-index: 5; transition: all 0.2s ease-out; } .link:hover::before { bottom: 0; height: 100%; background-color: #0000ff22; border-radius: 5%; transform: scale(1.1); } /* title area (animated text and connie's 3d model) */ .title-flex { display: flex; justify-content: left; padding: 0; z-index: 1; tab-index: -1; } .title-info-flex { display: flex; flex-direction: column; width: fit-content; max-width: 60vw; align-items: start; tab-index: -1; } .video-title-wrapper { position: relative; z-index: 1; width: clamp(25rem, 35vw, 500px); margin-bottom: 1rem; left: -15px; user-select: none; } #video-title { border-radius: 30px; position: relative; user-select: none; } .hide-border { position: relative; border: solid 4px var(--primary-color); width: calc(100% - 4px); height: 100%; top: -100%; left: -2px; margin: 0; padding: 0; tab-index: -1; } .course-title-wrapper { margin-top: 1rem; display: flex; flex-direction: column; } h1 { font-size: 4rem; font-weight: 700; color: var(--accent-color); line-height: .8; z-index: 5; } .course-name { font-size: 2rem; line-height: 1; margin: 10px 0 1rem 0; z-index: 5; font-weight: 500; } .pastries-wrapper { /* 16:9 aspect ratio */ overflow: hidden; position: absolute; margin: 0; z-index: 2; height: max(450px, 100%); width: 200vw; pointer-events: none; touch-action: none; user-select: none; } #connie-pastries { border: 0; height: 100%; position: absolute; width: 100%; pointer-events: none; touch-action: none; user-select: none; left: -35vw; top: -60px; z-index: -1000; } .pastries-business-flex { display: flex; flex-direction: column; align-items: baseline; } .business-hours { z-index: 5; background-color: black; padding: 10px 20px; border-radius: 15px; color: rgb(212, 212, 212); margin-left: 10px; } .business-hours > * { padding-top: 0.25rem; padding-bottom: 0.25rem; } /* weekly specials area */ #weekly_specials { padding: 30px; border: 10px solid var(--primary-color); background-color: transparent; } #weekly_specials * { background-color: var(--primary-color); } #weekly_specials > * { padding: 10px; } /* course info section */ .button { /* goal - make it look clickable */ display: block; padding: 5px 10px; text-align: center; border-radius: 10px; color: black; font-weight: bold; line-height: 25px; text-decoration: none; border: 3px solid #0000ff66; background-color: white; width: fit-content; } /* full menu & ta_calendar */ .iframe-wrapper { display: flex; flex-direction: column; align-items: center; margin: 2rem 12rem; } .important-note > p { margin-bottom: .5rem; } .important-note > a { margin-top: 1rem; } .embedded-iframe { width: 100%; height: max(60vh, 600px); display: block; } #calendar p { margin-bottom: 0.5rem; } /* convenience for helpful links */ .subtitles { color: var(--accent-color); } .flex-row { display: flex; flex-direction: row; justify-content: center; align-items: center; } .email-container { display: flex; justify-content: left; margin-bottom: 50px; } .flex-column { display: flex; flex-direction: column; justify-content: center; } .flex-right { align-items: flex-end; } .flex-space-between { display: flex; flex-direction: row; justify-content: space-between; } .small-icon { height: 25px; width: auto; margin-right: 10px; } #helpful-links-box { display: flex; flex-direction: row; align-items: start; justify-content: space-between; margin: 1rem auto 0 auto; padding: 0 12rem; } .helpful-link { text-decoration: none; color: var(--second-accent-color); display: flex; flex-direction: row; align-items: center; justify-content: center; width: 150px; padding: 10px 20px; border-radius: 5px; border: 3px solid #0000ff66; margin: 10px 0; background-color: white; } .helpful-link h3 { color: var(--second-accent-color); margin-left: 5px; } .helpful-link:hover h3 { /*color: #706881;*/ /*font-size: 107%;*/ } .helpful-link:hover { background-color: white; color: black; } .helpful-link .svg-hover { display: none; } .helpful-link:hover .svg-show { display: none; } .helpful-link:hover .svg-hover { display: inline; } .no-border-helpful-link .svg-hover { display: none; } .no-border-helpful-link:hover .svg-show { display: none; } .no-border-helpful-link:hover .svg-hover { display: inline; } .no-border-helpful-link { color: var(--second-accent-color); display: flex; flex-direction: row; align-items: center; width: fit-content; margin: 10px 0; text-decoration: none; } .no-border-helpful-link h3 { color: var(--second-accent-color); margin-left: 5px; } .no-border-helpful-link:hover h3 { color: #DA627D; } .no-border-helpful-link:hover { color: #DA627D; } /* staff area */ .email { border-left: 3px solid var(--accent-color); padding-left: 10px; margin-right: 30px; } .shelf { align-items: center; } .ta-box-left, .ta-box-right { margin: 0 10px; } .ta-box-left .img-box, .ta-box-single .img-box { margin-right: 10px; } .ta-box-right .img-box { margin-left: 10px; } .ta-pastry { width: 120px; max-width: 175px; height: auto; text-shadow: 0 0 25px brown; z-index: 1; align-self: flex-end; opacity: 1; transition: .5s ease; border-radius: 30px; } .bio-text { justify-content: center; font-size: 120%; padding: 5px; } .bio-text h3 { color: var(--accent-color); margin: 0; } .bio-text p { font-size: 12px; letter-spacing: normal; text-transform: none; max-width: 250px; line-height: 1.25; font-weight: normal; color: var(--second-accent-color); } .shelf-png { width: 900px; height: auto; margin-top: -30px; } .img-box { display: flex; cursor: default; position: relative; height: 100%; margin-bottom: 3px; } .ta-img { transition: .5s ease; opacity: 0; position: absolute; top: calc(50% - 5px); left: 50%; height: 120px; border-radius: 50%; transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); } .img-box:hover .ta-pastry{ opacity: 0; } .img-box:hover .ta-img { opacity: 1; } .shelf .flex-row { align-items: flex-end; } .ta-wrapper { margin-bottom: 35px; } /* faq area */ #faq h3, #faq h2 { padding-top: 1rem; line-height: 1.2; color: var(--accent-color); } #faq p { color: var(--second-accent-color); } #faq { padding-bottom: 1rem; align-items: center; } .faq-content { max-width: 60%; } footer { padding-top: 1.5rem; text-align: right; } img { height: 100px; width: auto; } /* nav bar drawer */ #nav-links { display: flex; flex-direction: column; justify-content: center; align-items: center; } #nav-links > * { margin-top: 1rem; margin-bottom: 0.25rem; } #nav { display: none; position: fixed; top: 0; left: 0; align-self: flex-start; /* makes flex element only as vertically large as needed for sticky */ flex-direction: column; width: 12rem; text-align: center; z-index: 999; background-color: #a6b198; margin: 0; padding: 1rem; height: 100vh; } @media only screen and (max-width: 1100px) { .title-info-flex, .title, .edges { padding: 0 5%; } .embedded-iframe { width: 90vw; } #helpful-links-box { padding: 0 6rem; } } @media only screen and (max-width: 845px) { #emails { width: 90%; } #helpful-links-box { padding: 0 5%; } .no-border-helpful-link { width: 85%; } .faq-content { max-width: 80%; } } @media only screen and (max-width: 720px) { .no-border-helpful-link { width: fit-content; } header { padding: 0 2rem; } section { padding: 2rem 2rem; } #emails { flex-wrap: wrap; } .email { margin-bottom: 1rem; word-break: break-all; font-size: 90%; } .faq-content { max-width: 95%; } .shelf-png { width: 100%; } .ta-box-left, .ta-box-right { max-width: 50%; } .ta-box-left { flex-direction: column-reverse !important; margin: 0 5px; } .ta-box-right { flex-direction: column !important; margin: 0 5px; } .ta-pastry { width: 95%; } .ta-img { height: 150px; } .ta-box-single .ta-img { top: calc(60%); height: 100%; } .ta-box-right .img-box, .ta-box-left .img-box { justify-content: center; margin: 0; } .img-box:hover { margin-top: 25px; } .ta-wrapper { align-items: flex-end !important; } .shelf .flex-row { align-items: center; } .bio-text { width: 90%; } .ta-box-single .bio-text p { width: 175px; } .iframe-wrapper { margin: 2rem 10rem; } } @media only screen and (max-width: 600px) { .nav-flex { display: none; } .title-info-flex { margin-top: 40px; margin-bottom: 70px; } .title-flex { justify-content: flex-start; } .business-hours { margin-left: 5px; } .course-title-wrapper { margin-top: 50px; } .video-title-wrapper { padding-left: 0; margin: 0; max-width: 85vw; } .title-info-flex, .title { max-width: 90vw; } #connie-pastries { left: -50vw; top: 80px; } #helpful-links-box { flex-direction: column; padding: 0 5%; } #helpful-links-box .flex-column, #helpful-links-box .button { width: 80%; } #helpful-links-box .subtitles { font-size: 150%; } #helpful-links-box > .flex-column:not(:first-child) { margin-top: 2rem; } #hamburger-box { display: block; } .business-hours { margin-top: 2rem; } section { padding: 3rem 1rem; } } @media only screen and (max-width: 425px) { .pastries-wrapper { display: none; } } /* animation for a button to appear and glow on hover */ .glow-on-hover { outline: none; color: black; cursor: pointer; position: relative; z-index: 0; border-radius: 10px; } .glow-on-hover:before { content: ''; background: linear-gradient(45deg, var(--primary-color), var(--secondary-color), var(--accent-color), var(--secondary-color), var(--primary-color)); position: absolute; top: -2px; left:-2px; background-size: 400%; z-index: -1; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); animation: glowing 20s linear infinite; opacity: 0; transition: opacity .3s ease-in-out; border-radius: 10px; } .glow-on-hover.rainbow:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); } .glow-on-hover:active { color: #000; } .glow-on-hover:active:after { background: transparent; } .glow-on-hover:hover:before, .glow-on-hover:focus:before { opacity: 1; } .glow-on-hover:after { z-index: -1; content: ''; position: absolute; background-color: inherit; width: 100%; height: 100%; left: 0; top: 0; border-radius: 7px; } @keyframes glowing { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } /* weekly specials conic border */ /*.conic-border {*/ /* --startDeg: 0deg;*/ /* border: 7px solid;*/ /* border-image-slice: 1;*/ /* border-image-source: conic-gradient(*/ /* from var(--startDeg, 0deg),*/ /* #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000*/ /* );*/ /* display: grid;*/ /* place-content: center;*/ /* box-sizing: border-box;*/ /*}*/ #guest-reviewers { height: 100%; } .guest-name, .guest-role { color: var(--accent-color); } .flex-grid-2 { display: flex; justify-content: space-between; } .flex-grid-2 .guest { width: 45%; } @media (max-width: 800px) { .flex-grid-2 { display: block; } .flex-grid-2 .guest { width: 100%; } } .guest { margin: 2rem 0; height: auto; display: flex; flex-direction: column; justify-content: center; }