@use "sass:map"; @use "sass:color"; $theme-colors: ( "red-alert": #ce0018, "red-orangish": #de493b, "blue": #0736a4, "light-blue": #a4bfd9, "medium-blue": #1877f2, "dark-blue": #09c6f9, "orange": #ec9f05, "dark-orange": #ff4e00, "brand-orange": #f67602, "grey": #e6ebf1, "light-grey": #e9e9e9, "light2-grey": #bebebe, "light3-grey": rgb(245,245,245), "dark-grey": #212121, "faded-text": #425466, "faded-text2": #6c757d, "dark-green": #3bb78f, "light-green": #0bab64, "green": #63b521, "alt-blue-light": #e2f5ff, "alt-blue-medium": #2b96cc, "text-blue-medium": #425466, "alt-red-light": #f3beb8, "alt-red-medium": #f09898, ); @function getColor($col) { @return map.get($theme-colors, $col); } @function darkenColor($col) { $oldCol : map.get($theme-colors, $col); $newCol : color.scale($oldCol, $lightness: -45%); @return $newCol; } @function lightenColor($col) { $oldCol : map.get($theme-colors, $col); $newCol : color.scale($oldCol, $lightness: 15%); @return $newCol; } @mixin button($col) { display: inline-block; //font-family: $btn-font-family; font-weight: 400; background-color: getColor($col); text-align: center; vertical-align: middle; user-select: none; border: none; padding: 7px 15px; border-radius: 5px; &:hover{ background-color: darkenColor($col); } } // A linear gradient with the light color at the top left and dark color at // bottom right, that darkens on hover @mixin special-button($start, $end) { font-family: "PatuaOne"; height: 2em; border: none; border-radius: 4px; padding: 3px; color: white; background-color: #045de9; background-image: linear-gradient(315deg, map.get($theme-colors, $start) 0%, map.get($theme-colors, $end) 74%); &:hover { background-image: linear-gradient(315deg, darkenColor($start) 0%, darkenColor($end) 74%); } } // A white button with a transparent background that becomes white and orange on hover @mixin transparent-button { text-align: center; font-size: 20px; border: 2px solid white; border-radius: 4px; padding: 10px; background-color: transparent; color: white; &:hover { background-color: white; color: map.get($theme-colors, "orange"); } } @mixin inverting-button($primary, $background) { text-align: center; border: 2px solid $primary; border-radius: 4px; padding: 5px 10px; background-color: $background; color: $primary; &:hover { background-color: $primary; color: $background; } } // A button with a white background and specified accent color that reverses on hover @mixin brand-button($col) { width: 10em; height: 2.5em;; background-color: white; border: 2px solid map.get($theme-colors, $col); color: map.get($theme-colors, $col); border-radius: 4px; font-size: 16px; &:hover { background-color: map.get($theme-colors, $col); color: white; } } @mixin hovering { padding: 18px 9px; border-radius: 4px; background: white; box-shadow: 7px 10px 8px rgb(156 166 175 / 22%); transition: transform 0.2s; } @mixin hovering2 { padding: 18px 9px; border-radius: 4px; background: white; box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px; transition: transform 0.2s; } @mixin hovering3 { padding: 18px 9px; border-radius: 4px; background: white; box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px; transition: transform 0.2s; } @mixin hovering-light { padding: 18px 9px; border-radius: 4px; background: white; box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; transition: transform 0.2s; }