// out: ../css/, compress: true, sourceMap: true // Variables ------------- :root { //Colors --brand-color: #9e2165; --brand-color-dark: #74184a; --secondary-color: #662f8f; --dark-purple: #282661; --text-dark: #6d6e71; --text-light: #fff; //Breakpoints: --breakpoint-sm: 768px; } // Base ------------------ html { font-family: "Montserrat", sans-serif; font-weight: 400; font-style: normal; font-size: 18px; text-rendering: optimizeLegibility; background-color: #f1f2f2; color: var(--text-dark); -webkit-text-size-adjust: none; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } body { margin: 0; font-size: 18px; } *, *:before, *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; } .clearfix:before, .clearfix:after { display: table; line-height: 0; content: ""; } .clearfix:after { clear: both; } hr { border: 3px solid var(--secondary-color); margin: 0 20px; } img { max-width: 100%; display: block; } // Typography ------------- h1, h2, h3, h4, h5, h5, h6 { margin-top: 0; margin-bottom: 0.25em; font-weight: 600; } h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h5:last-child, h6:last-child { margin-bottom: 0; } h1 { font-size: 28px; line-height: 1.25; } h2 { font-size: 24px; line-height: 1.275; } p { max-width: 55ch; margin: 0 0 0.75em; } @media screen and (min-width: 768px) { h1 { font-size: 48px; line-height: 1.25; } h2 { font-size: 32px; line-height: 1.275; } p { max-width: 800px; margin: 0 auto 0.75em; } } p:last-child { margin-bottom: 0; } a { text-decoration: none; color: var(--brand-color); &:hover { text-decoration: underline; color: var(--brand-color-dark); } } .fineprint { font-size: 0.75em; } // Structure --------------- .wrapper { max-width: 1400px; margin: 0 auto; background-color: #fff; } .bg-primary { background-color: var(--brand-color); } .border-bottom { border-bottom: 1px solid var(--secondary-color); } // Buttons ---------------- .btn { cursor: pointer; display: inline-block; font-weight: 600; color: var(--text-dark); text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; border-radius: 0.15rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .btn-primary { color: var(--text-light); background-color: var(--brand-color); border-color: var(--brand-color); &:hover { background-color: var(--brand-color-dark); border-color: var(--brand-color-dark); } } .btn-link { &:hover { color: var(--text-dark); } } // Navigation --------------- .navbar { font-family: "Montserrat", sans-serif; min-height: 75px; margin-bottom: 0; border: none; } @media (min-width: 768px) { .navbar { border-radius: 0; } } @media (min-width: 768px) { .navbar-right { margin-right: 0; } } .navbar-default { background-color: var(--text-light); border-color: transparent; } .navbar-toggle { margin-top: 20px; margin-bottom: 20px; } .nav li a { font-size: 18px; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: var(--text-light); background-color: var(--text-dark); } @media (min-width: 768px) { .navbar-nav > li > a { padding-top: 28px; padding-bottom: 28px; } } .dropdown-menu { padding: 0; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; } .dropdown-menu > li > a { padding: 10px 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 10px 15px 10px 25px; } } @media (min-width: 768px) and (max-width: 805px) { .main-header .nav > li > a { padding-left: 10px; padding-right: 10px; } } // Hero ------------------- .hero { position: relative; img { width: 100%; object-fit: cover; position: relative; } &__content { position: relative; padding: 40px 20px 40px; text-align: center; .cta { margin-top: 40px; } p { margin-left: auto; margin-right: auto; } @media screen and (min-width: 768px) { padding: 20px; position: absolute; top: 50%; transform: translateY(-50%); right: 0; left: 0; h1 { color: var(--text-light); } p .btn { color: var(--text-light); } } } } // Intro ------------------ .intro { padding: 40px 20px; text-align: center; color: var(--text-light); } .intro p { margin: 0 auto; } // Events ----------------- #events-section, .events-section { padding: 40px 20px; h2 { text-align: center; } } .events, .past-events { display: flex; flex-flow: column wrap; } .events { @media screen and (min-width: 1024px) { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); grid-gap: 20px; } } .past-events { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); grid-gap: 20px; } .event, .past-event { display: flex; flex-flow: column; border: 1px solid var(--text-dark); margin-bottom: 40px; &__img img { width: 100%; object-fit: cover; background-color: var(--secondary-color); } &__date { display: block; width: 100%; background-color: var(--secondary-color); color: var(--text-light); font-weight: 600; text-transform: uppercase; text-align: center; padding: 10px 20px; } &__content { display: flex; flex-flow: column wrap; border-top: 0; padding: 20px 20px 0; } &__title { margin-bottom: 0; } &__location { font-size: 0.75em; font-style: italic; margin-bottom: 1em; } &__description p { margin-bottom: 0.75em; } &__footer { padding: 0 20px 20px; margin-top: auto; } } .event { @media screen and (min-width: 768px) and (max-width: 1023px) { display: grid; grid-template-columns: 1fr 2fr; grid-template-rows: auto; grid-template-areas: "image date" "image content" "image footer"; &__img { grid-area: image; height: 100%; background-color: var(--secondary-color); img { object-fit: contain; object-position: top; } } &__date { grid-area: date; } &__content { grid-area: content; } &__footer { grid-area: footer; } } } .past-event { @media screen and (min-width: 768px) and (max-width: 1023px) { } } #more-events { &.content--copy { margin: 0 auto; } .event { border: none; grid-template-columns: 1fr; grid-template-rows: auto; margin-bottom: 5px; &__date { display: inline; background-color: initial; color: var(--secondary-color); padding: 0; text-align: left;; } &__content { padding: 0; } } } // Sponsors ----------------- .sponsors-section { margin: 40px 0; } .sponsors-section h2 { text-align: center; margin-bottom: 50px; } .sponsors { display: flex; flex-flow: row; padding-left: 0; } .sponsors li { display: block; margin: 0 25px; } .sponsor img { margin: 0 auto; } .sponsor__level { margin-top: 10px; text-align: center; font-size: 10px; text-transform: uppercase; } .slick-arrow { z-index: 1; } // Content ------------------- .content, .content--copy { max-width: 800px; margin: 0 auto; padding: 0 20px 40px; @media screen and (min-width: 768px) { margin: 50px auto; } } .list-img { padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 49%)); grid-gap: 20px; justify-content: center; list-style: none; } // Blockquotes blockquote { text-align: center; font-size: 1.5em; font-style: italic; margin: 0 0 2em; .blockquote-footer { font-size: 0.75em; } .blockquote-footer, cite { font-style: normal; } } // Footers _______________ .main-footer { display: flex; flex-direction: column; justify-content: center; background-color: var(--dark-purple); padding: 50px 20px; color: var(--text-light); text-align: center; a { color: var(--text-light); &:hover { text-decoration: underline; } } .navigation { margin: 0 auto 50px; display: flex; flex-flow: column wrap; max-width: 75%; list-style: none; padding-left: 0; li { display: block; width: 100%; margin: 0.5em auto; a { color: var(--text-light); text-transform: uppercase; &:hover { color: var(--text-light); background-color: transparent; } } &:first-child { padding-left: 0; } } @media screen and (min-width: 768px) { justify-content: space-around; flex-flow: row wrap; width: 100%; li { display: inline-block; width: auto; } } &.social-nav { flex-flow: row wrap; max-width: 300px; align-items: center; li { display: inline-block; width: auto; padding: 0 10px; } } } .fineprint { display: flex; flex-flow: column wrap; align-items: center; a { text-decoration: underline; } } .fineprint p { max-width: 100ch; } } //Modal Styles .modal { display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.65); opacity: 0; visibility: hidden; transform: scale(1.1); transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s; } .modal-content { width: 800px; max-width: 80%; } .close-modal { position: absolute; top: 20px; right: 20px; width: 40px; height: 40px; font-size: 40px; line-height: 30px; text-align: center; cursor: pointer; color: rgba(255, 255, 255, 0.5); border: 2px solid rgba(255, 255, 255, 0.5); border-radius: 50%; } .close-modal:hover { background-color: rgba(255, 255, 255, 0.25); } .show-modal { display: flex; justify-content: center; align-items: center; opacity: 1; visibility: visible; transform: scale(1); transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s; } // Allow for responsive video .videoWrapper { position: relative; padding-bottom: 56.25%; /* 16:9 */ padding-top: 25px; height: 0; } .videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; } // Utility Classes .text-center { text-align: center; }