:root {
    --_gg-grey1100: 26, 28, 32;
    --_gg-grey1000: 42, 46, 52;
    --_gg-grey900: 48, 53, 60;
    --_gg-grey800: 60, 65, 74;
    --_gg-grey700: 79, 87, 98;
    --_gg-grey600: 101, 111, 125;
    --_gg-grey500: 135, 144, 158;
    --_gg-grey400: 173, 179, 189;
    --_gg-grey300: 214, 217, 222;
    --_gg-grey200: 232, 234, 237;
    --_gg-grey100: 240, 241, 243;
    --_gg-grey50: 247, 248, 249;
    --_gg-grey25: 251, 251, 252;
    --_gg-white: 255, 255, 255;
    --_gg-purple1100: 50, 52, 82;
    --_gg-purple1000: 59, 58, 112;
    --_gg-purple900: 67, 65, 141;
    --_gg-purple800: 76, 71, 171;
    --_gg-purple700: 84, 77, 201;
    --_gg-purple600: 95, 85, 238;
    --_gg-purple500: 127, 119, 241;
    --_gg-purple400: 153, 146, 244;
    --_gg-purple300: 178, 173, 247;
    --_gg-purple200: 204, 201, 250;
    --_gg-purple100: 229, 228, 252;
    --_gg-purple50: 242, 241, 254;
    --_gg-neonBlue1100: 46, 55, 84;
    --_gg-neonBlue1000: 50, 64, 117;
    --_gg-neonBlue900: 54, 73, 149;
    --_gg-neonBlue800: 59, 82, 182;
    --_gg-neonBlue700: 63, 91, 214;
    --_gg-neonBlue600: 68, 102, 255;
    --_gg-neonBlue500: 105, 133, 255;
    --_gg-neonBlue400: 135, 157, 255;
    --_gg-neonBlue300: 165, 182, 255;
    --_gg-neonBlue200: 195, 206, 255;
    --_gg-neonBlue100: 225, 231, 255;
    --_gg-neonBlue50: 240, 243, 255;
    --_gg-azureBlue1100: 38, 62, 80;
    --_gg-azureBlue1000: 34, 77, 107;
    --_gg-azureBlue900: 30, 93, 135;
    --_gg-azureBlue800: 25, 109, 162;
    --_gg-azureBlue700: 21, 124, 190;
    --_gg-azureBlue600: 16, 144, 224;
    --_gg-azureBlue500: 64, 166, 230;
    --_gg-azureBlue400: 102, 184, 235;
    --_gg-azureBlue300: 140, 202, 240;
    --_gg-azureBlue200: 179, 220, 245;
    --_gg-azureBlue100: 217, 237, 250;
    --_gg-azureBlue50: 236, 246, 253;
    --_gg-teal1100: 38, 64, 69;
    --_gg-teal1000: 33, 82, 86;
    --_gg-teal900: 29, 99, 103;
    --_gg-teal800: 25, 117, 120;
    --_gg-teal700: 20, 135, 138;
    --_gg-teal600: 15, 157, 159;
    --_gg-teal500: 63, 177, 178;
    --_gg-teal400: 101, 192, 194;
    --_gg-teal300: 140, 208, 209;
    --_gg-teal200: 178, 224, 224;
    --_gg-teal100: 217, 239, 240;
    --_gg-teal50: 231, 245, 245;
    --_gg-mint1100: 45, 68, 66;
    --_gg-mint1000: 48, 90, 80;
    --_gg-mint900: 51, 112, 94;
    --_gg-mint800: 54, 134, 108;
    --_gg-mint700: 57, 156, 122;
    --_gg-mint600: 61, 184, 139;
    --_gg-mint500: 100, 198, 162;
    --_gg-mint400: 131, 209, 181;
    --_gg-mint300: 162, 221, 199;
    --_gg-mint200: 193, 232, 218;
    --_gg-mint100: 224, 244, 236;
    --_gg-mint50: 240, 249, 246;
    --_gg-green1100: 35, 60, 55;
    --_gg-green1000: 29, 75, 57;
    --_gg-green900: 22, 89, 60;
    --_gg-green800: 15, 104, 62;
    --_gg-green700: 8, 118, 65;
    --_gg-green600: 0, 136, 68;
    --_gg-green500: 51, 160, 105;
    --_gg-green400: 92, 179, 135;
    --_gg-green300: 133, 198, 165;
    --_gg-green200: 173, 217, 195;
    --_gg-green100: 214, 236, 225;
    --_gg-green50: 235, 245, 240;
    --_gg-yellow1100: 75, 66, 44;
    --_gg-yellow1000: 108, 87, 35;
    --_gg-yellow900: 141, 107, 27;
    --_gg-yellow800: 174, 128, 19;
    --_gg-yellow700: 207, 148, 10;
    --_gg-yellow600: 248, 174, 0;
    --_gg-yellow500: 249, 190, 51;
    --_gg-yellow400: 251, 203, 92;
    --_gg-yellow300: 252, 216, 133;
    --_gg-yellow200: 253, 229, 173;
    --_gg-yellow100: 254, 242, 214;
    --_gg-yellow50: 254, 249, 235;
    --_gg-orange1100: 71, 56, 47;
    --_gg-orange1000: 101, 66, 42;
    --_gg-orange900: 130, 75, 38;
    --_gg-orange800: 159, 85, 33;
    --_gg-orange700: 188, 95, 28;
    --_gg-orange600: 225, 107, 22;
    --_gg-orange500: 231, 137, 69;
    --_gg-orange400: 236, 160, 106;
    --_gg-orange300: 241, 184, 143;
    --_gg-orange200: 245, 208, 180;
    --_gg-orange100: 250, 231, 218;
    --_gg-orange50: 253, 243, 236;
    --_gg-red1100: 69, 48, 55;
    --_gg-red1000: 96, 51, 57;
    --_gg-red900: 123, 53, 60;
    --_gg-red800: 150, 55, 62;
    --_gg-red700: 177, 58, 65;
    --_gg-red600: 211, 61, 68;
    --_gg-red500: 220, 100, 106;
    --_gg-red400: 227, 131, 136;
    --_gg-red300: 234, 162, 165;
    --_gg-red200: 241, 193, 195;
    --_gg-red100: 248, 224, 225;
    --_gg-red50: 252, 239, 240;
    --_gg-pink1100: 73, 54, 68;
    --_gg-pink1000: 105, 61, 84;
    --_gg-pink900: 136, 69, 100;
    --_gg-pink800: 167, 77, 117;
    --_gg-pink700: 199, 84, 133;
    --_gg-pink600: 238, 94, 153;
    --_gg-pink500: 241, 126, 173;
    --_gg-pink400: 244, 152, 190;
    --_gg-pink300: 247, 178, 206;
    --_gg-pink200: 250, 204, 222;
    --_gg-pink100: 252, 229, 239;
    --_gg-pink50: 254, 242, 247;
    --_gg-violet1100: 64, 54, 80;
    --_gg-violet1000: 87, 62, 107;
    --_gg-violet900: 109, 70, 135;
    --_gg-violet800: 132, 78, 162;
    --_gg-violet700: 154, 86, 190;
    --_gg-violet600: 182, 96, 224;
    --_gg-violet500: 197, 128, 230;
    --_gg-violet400: 208, 153, 235;
    --_gg-violet300: 220, 179, 240;
    --_gg-violet200: 232, 204, 245;
    --_gg-violet100: 243, 230, 250;
    --_gg-violet50: 249, 242, 253;
    --_gg-brown1100: 62, 61, 64;
    --_gg-brown1000: 83, 76, 76;
    --_gg-brown900: 103, 92, 88;
    --_gg-brown800: 124, 107, 101;
    --_gg-brown700: 144, 121, 113;
    --_gg-brown600: 170, 141, 128;
    --_gg-brown500: 187, 163, 153;
    --_gg-brown400: 201, 182, 174;
    --_gg-brown300: 214, 200, 194;
    --_gg-brown200: 228, 219, 214;
    --_gg-brown100: 241, 237, 235;
    --_gg-brown50: 248, 246, 245;
    --_gg-black1100: 0, 0, 0;
    --_gg-black1000: 10, 11, 13;
    --_gg-black900: 19, 21, 26;
    --_gg-black800: 29, 32, 38;
    --_gg-black700: 38, 42, 51;
    --_gg-black600: 48, 53, 64;
    --_gg-black500: 89, 93, 102;
    --_gg-black400: 123, 126, 133;
    --_gg-black300: 156, 158, 163;
    --_gg-black200: 189, 190, 194;
    --_gg-black100: 222, 223, 224;
    --_gg-black50: 238, 239, 240;
    --gg-grey1100: rgb(var(--_gg-grey1100));
    --gg-grey1000: rgb(var(--_gg-grey1000));
    --gg-grey1000-90: rgb(var(--_gg-grey1000), .9);
    --gg-grey1000-70: rgb(var(--_gg-grey1000), .7);
    --gg-grey1000-50: rgb(var(--_gg-grey1000), .5);
    --gg-grey1000-20: rgb(var(--_gg-grey1000), .2);
    --gg-grey1000-16: rgb(var(--_gg-grey1000), .16);
    --gg-grey1000-10: rgb(var(--_gg-grey1000), .1);
    --gg-grey900-90: rgb(var(--_gg-grey900), .9);
    --gg-grey900: rgb(var(--_gg-grey900));
    --gg-grey800: rgb(var(--_gg-grey800));
    --gg-grey700: rgb(var(--_gg-grey700));
    --gg-grey600: rgb(var(--_gg-grey600));
    --gg-grey500: rgb(var(--_gg-grey500));
    --gg-grey400: rgb(var(--_gg-grey400));
    --gg-grey300: rgb(var(--_gg-grey300));
    --gg-grey200: rgb(var(--_gg-grey200));
    --gg-grey100: rgb(var(--_gg-grey100));
    --gg-grey100-50: rgb(var(--_gg-grey100), .5);
    --gg-grey100-20: rgb(var(--_gg-grey100), .2);
    --gg-grey100-16: rgb(var(--_gg-grey100), .16);
    --gg-grey100-10: rgb(var(--_gg-grey100), .1);
    --gg-grey50: rgb(var(--_gg-grey50));
    --gg-grey25: rgb(var(--_gg-grey25));
    --gg-white: rgb(var(--_gg-white));
    --gg-white-90: rgb(var(--_gg-white), .9);
    --gg-white-80: rgb(var(--_gg-white), .8);
    --gg-white-70: rgb(var(--_gg-white), .7);
    --gg-white-50: rgb(var(--_gg-white), .5);
    --gg-white-20: rgb(var(--_gg-white), .2);
    --gg-white-16: rgb(var(--_gg-white), .16);
    --gg-white-10: rgb(var(--_gg-white), .1);
    --gg-green1100: rgb(var(--_gg-green1100));
    --gg-green1000: rgb(var(--_gg-green1000));
    --gg-green900: rgb(var(--_gg-green900));
    --gg-green800: rgb(var(--_gg-green800));
    --gg-green700: rgb(var(--_gg-green700));
    --gg-green600: rgb(var(--_gg-green600));
    --gg-green500: rgb(var(--_gg-green500));
    --gg-green400: rgb(var(--_gg-green400));
    --gg-green300: rgb(var(--_gg-green300));
    --gg-green200: rgb(var(--_gg-green200));
    --gg-green100: rgb(var(--_gg-green100));
    --gg-green50: rgb(var(--_gg-green50));
    --gg-yellow1100: rgb(var(--_gg-yellow1100));
    --gg-yellow1000: rgb(var(--_gg-yellow1000));
    --gg-yellow900: rgb(var(--_gg-yellow900));
    --gg-yellow800: rgb(var(--_gg-yellow800));
    --gg-yellow700: rgb(var(--_gg-yellow700));
    --gg-yellow600: rgb(var(--_gg-yellow600));
    --gg-yellow500: rgb(var(--_gg-yellow500));
    --gg-yellow400: rgb(var(--_gg-yellow400));
    --gg-yellow300: rgb(var(--_gg-yellow300));
    --gg-yellow200: rgb(var(--_gg-yellow200));
    --gg-yellow100: rgb(var(--_gg-yellow100));
    --gg-yellow50: rgb(var(--_gg-yellow50));
    --gg-red1100: rgb(var(--_gg-red1100));
    --gg-red1000: rgb(var(--_gg-red1000));
    --gg-red900: rgb(var(--_gg-red900));
    --gg-red800: rgb(var(--_gg-red800));
    --gg-red700: rgb(var(--_gg-red700));
    --gg-red600: rgb(var(--_gg-red600));
    --gg-red600-16: rgb(var(--_gg-red600), .16);
    --gg-red500: rgb(var(--_gg-red500));
    --gg-red500-16: rgb(var(--_gg-red500), .16);
    --gg-red400: rgb(var(--_gg-red400));
    --gg-red300: rgb(var(--_gg-red300));
    --gg-red200: rgb(var(--_gg-red200));
    --gg-red100: rgb(var(--_gg-red100));
    --gg-red50: rgb(var(--_gg-red50));
    --gg-purple1100: rgb(var(--_gg-purple1100));
    --gg-purple1000: rgb(var(--_gg-purple1000));
    --gg-purple900: rgb(var(--_gg-purple900));
    --gg-purple800: rgb(var(--_gg-purple800));
    --gg-purple700: rgb(var(--_gg-purple700));
    --gg-purple600: rgb(var(--_gg-purple600));
    --gg-purple600-16: rgb(var(--_gg-purple600), .16);
    --gg-purple500: rgb(var(--_gg-purple500));
    --gg-purple500-16: rgb(var(--_gg-purple500), .16);
    --gg-purple400: rgb(var(--_gg-purple400));
    --gg-purple300: rgb(var(--_gg-purple300));
    --gg-purple200: rgb(var(--_gg-purple200));
    --gg-purple100: rgb(var(--_gg-purple100));
    --gg-purple50: rgb(var(--_gg-purple50));
    --gg-neonBlue1100: rgb(var(--_gg-neonBlue1100));
    --gg-neonBlue1000: rgb(var(--_gg-neonBlue1000));
    --gg-neonBlue900: rgb(var(--_gg-neonBlue900));
    --gg-neonBlue800: rgb(var(--_gg-neonBlue800));
    --gg-neonBlue700: rgb(var(--_gg-neonBlue700));
    --gg-neonBlue600: rgb(var(--_gg-neonBlue600));
    --gg-neonBlue600-16: rgb(var(--_gg-neonBlue600), .16);
    --gg-neonBlue500: rgb(var(--_gg-neonBlue500));
    --gg-neonBlue500-16: rgb(var(--_gg-neonBlue500), .16);
    --gg-neonBlue400: rgb(var(--_gg-neonBlue400));
    --gg-neonBlue300: rgb(var(--_gg-neonBlue300));
    --gg-neonBlue200: rgb(var(--_gg-neonBlue200));
    --gg-neonBlue100: rgb(var(--_gg-neonBlue100));
    --gg-neonBlue50: rgb(var(--_gg-neonBlue50));
    --gg-azureBlue1100: rgb(var(--_gg-azureBlue1100));
    --gg-azureBlue1000: rgb(var(--_gg-azureBlue1000));
    --gg-azureBlue900: rgb(var(--_gg-azureBlue900));
    --gg-azureBlue800: rgb(var(--_gg-azureBlue800));
    --gg-azureBlue700: rgb(var(--_gg-azureBlue700));
    --gg-azureBlue600: rgb(var(--_gg-azureBlue600));
    --gg-azureBlue600-16: rgb(var(--_gg-azureBlue600), .16);
    --gg-azureBlue500: rgb(var(--_gg-azureBlue500));
    --gg-azureBlue500-16: rgb(var(--_gg-azureBlue500), .16);
    --gg-azureBlue400: rgb(var(--_gg-azureBlue400));
    --gg-azureBlue300: rgb(var(--_gg-azureBlue300));
    --gg-azureBlue200: rgb(var(--_gg-azureBlue200));
    --gg-azureBlue100: rgb(var(--_gg-azureBlue100));
    --gg-azureBlue50: rgb(var(--_gg-azureBlue50));
    --gg-teal1100: rgb(var(--_gg-teal1100));
    --gg-teal1000: rgb(var(--_gg-teal1000));
    --gg-teal900: rgb(var(--_gg-teal900));
    --gg-teal800: rgb(var(--_gg-teal800));
    --gg-teal700: rgb(var(--_gg-teal700));
    --gg-teal600: rgb(var(--_gg-teal600));
    --gg-teal600-16: rgb(var(--_gg-teal600), .16);
    --gg-teal500: rgb(var(--_gg-teal500));
    --gg-teal500-16: rgb(var(--_gg-teal500), .16);
    --gg-teal400: rgb(var(--_gg-teal400));
    --gg-teal300: rgb(var(--_gg-teal300));
    --gg-teal200: rgb(var(--_gg-teal200));
    --gg-teal100: rgb(var(--_gg-teal100));
    --gg-teal50: rgb(var(--_gg-teal50));
    --gg-mint1100: rgb(var(--_gg-mint1100));
    --gg-mint1000: rgb(var(--_gg-mint1000));
    --gg-mint900: rgb(var(--_gg-mint900));
    --gg-mint800: rgb(var(--_gg-mint800));
    --gg-mint700: rgb(var(--_gg-mint700));
    --gg-mint600: rgb(var(--_gg-mint600));
    --gg-mint600-16: rgb(var(--_gg-mint600), .16);
    --gg-mint500: rgb(var(--_gg-mint500));
    --gg-mint500-16: rgb(var(--_gg-mint500), .16);
    --gg-mint400: rgb(var(--_gg-mint400));
    --gg-mint300: rgb(var(--_gg-mint300));
    --gg-mint200: rgb(var(--_gg-mint200));
    --gg-mint100: rgb(var(--_gg-mint100));
    --gg-mint50: rgb(var(--_gg-mint50));
    --gg-orange1100: rgb(var(--_gg-orange1100));
    --gg-orange1000: rgb(var(--_gg-orange1000));
    --gg-orange900: rgb(var(--_gg-orange900));
    --gg-orange800: rgb(var(--_gg-orange800));
    --gg-orange700: rgb(var(--_gg-orange700));
    --gg-orange600: rgb(var(--_gg-orange600));
    --gg-orange600-16: rgb(var(--_gg-orange600), .16);
    --gg-orange500: rgb(var(--_gg-orange500));
    --gg-orange500-16: rgb(var(--_gg-orange500), .16);
    --gg-orange400: rgb(var(--_gg-orange400));
    --gg-orange300: rgb(var(--_gg-orange300));
    --gg-orange200: rgb(var(--_gg-orange200));
    --gg-orange100: rgb(var(--_gg-orange100));
    --gg-orange50: rgb(var(--_gg-orange50));
    --gg-pink1100: rgb(var(--_gg-pink1100));
    --gg-pink1000: rgb(var(--_gg-pink1000));
    --gg-pink900: rgb(var(--_gg-pink900));
    --gg-pink800: rgb(var(--_gg-pink800));
    --gg-pink700: rgb(var(--_gg-pink700));
    --gg-pink600: rgb(var(--_gg-pink600));
    --gg-pink600-16: rgb(var(--_gg-pink600), .16);
    --gg-pink500: rgb(var(--_gg-pink500));
    --gg-pink500-16: rgb(var(--_gg-pink500), .16);
    --gg-pink400: rgb(var(--_gg-pink400));
    --gg-pink300: rgb(var(--_gg-pink300));
    --gg-pink200: rgb(var(--_gg-pink200));
    --gg-pink100: rgb(var(--_gg-pink100));
    --gg-pink50: rgb(var(--_gg-pink50));
    --gg-violet1100: rgb(var(--_gg-violet1100));
    --gg-violet1000: rgb(var(--_gg-violet1000));
    --gg-violet900: rgb(var(--_gg-violet900));
    --gg-violet800: rgb(var(--_gg-violet800));
    --gg-violet700: rgb(var(--_gg-violet700));
    --gg-violet600: rgb(var(--_gg-violet600));
    --gg-violet600-16: rgb(var(--_gg-violet600), .16);
    --gg-violet500: rgb(var(--_gg-violet500));
    --gg-violet500-16: rgb(var(--_gg-violet500), .16);
    --gg-violet400: rgb(var(--_gg-violet400));
    --gg-violet300: rgb(var(--_gg-violet300));
    --gg-violet200: rgb(var(--_gg-violet200));
    --gg-violet100: rgb(var(--_gg-violet100));
    --gg-violet50: rgb(var(--_gg-violet50));
    --gg-brown1100: rgb(var(--_gg-brown1100));
    --gg-brown1000: rgb(var(--_gg-brown1000));
    --gg-brown900: rgb(var(--_gg-brown900));
    --gg-brown800: rgb(var(--_gg-brown800));
    --gg-brown700: rgb(var(--_gg-brown700));
    --gg-brown600: rgb(var(--_gg-brown600));
    --gg-brown600-16: rgb(var(--_gg-brown600), .16);
    --gg-brown500: rgb(var(--_gg-brown500));
    --gg-brown500-16: rgb(var(--_gg-brown500), .16);
    --gg-brown400: rgb(var(--_gg-brown400));
    --gg-brown300: rgb(var(--_gg-brown300));
    --gg-brown200: rgb(var(--_gg-brown200));
    --gg-brown100: rgb(var(--_gg-brown100));
    --gg-brown50: rgb(var(--_gg-brown50));
    --gg-black1100: rgb(var(--_gg-black1100));
    --gg-black1000: rgb(var(--_gg-black1000));
    --gg-black900: rgb(var(--_gg-black900));
    --gg-black800: rgb(var(--_gg-black800));
    --gg-black700: rgb(var(--_gg-black700));
    --gg-black600: rgb(var(--_gg-black600));
    --gg-black600-16: rgb(var(--_gg-black600), .16);
    --gg-black500: rgb(var(--_gg-black500));
    --gg-black500-16: rgb(var(--_gg-black500), .16);
    --gg-black400: rgb(var(--_gg-black400));
    --gg-black300: rgb(var(--_gg-black300));
    --gg-black200: rgb(var(--_gg-black200));
    --gg-black100: rgb(var(--_gg-black100));
    --gg-black50: rgb(var(--_gg-black50));
    --gg-border-radius: 0.25rem;
}

*,
*::before,
*::after {
    border: 0;
    vertical-align: baseline;
    color: var(--gg-grey1000);
    font: inherit;
    /* makes sizing simpler */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* remove default spacing */
    /* force styling of type through styling, rather than elements */
    margin: 0;
    padding: 0;
}

html,
body {
    font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Apple Color Emoji", "Arial", sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 16px;
    line-height: 1.5;
    height: 100svh;
}

/* dark mode user-agent-styles */
/* improves punctuation in supported browsers */
html {
    hanging-punctuation: first last;
}

body {
    overflow-y: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    hyphenate-character: "-";
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-inline-size: 100%;
    block-size: auto;
    max-width: 100%;
}

img {
    height: auto;
    /* Remove ‘phantom’ whitespac */
    vertical-align: middle;
    /* visually offset it from surrounding copy */
    font-style: italic;
    /* Set up backgrounds for optional LQIP */
    background-repeat: no-repeat;
    background-size: cover;
    /* Set up margin for optional `shape-outside` */
    shape-margin: 0.75rem;
    border-style: none;
}

button,
input,
optgroup,
select,
textarea {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
    margin: 0;
    padding: 0;
    /* Improved heading in supported browsers */
    text-wrap: balance;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0.5rem;
}

    h1:focus {
        outline: none;
    }


/* improve readability with max-width on paragraphs and lists */
/* prevent orphans in supported browsers */
p,
li {
    /* max-width: var(--p-max-width, 65ch); */
    text-wrap: pretty;
}

p {
    margin-bottom: 1rem;
}

h1 {
    font-size: 2.25rem;
    font-weight: 600;
}

h2 {
    font-size: 1.5rem;
    font-weight: 600;
}

h3 {
    font-size: 1.25rem;
    font-weight: 600;
}

h4 {
    font-size: 1.125rem;
    font-weight: 600;
}

h5 {
    font-size: 1rem;
    font-weight: 600;
}

h6 {
    font-size: 0.875rem;
    font-weight: 600;
}

a {
    text-decoration: underline;
    background-color: transparent;
}

dl, ol, ul {
    margin-top: 0;
    margin-bottom: 1rem;
}

ol, ul {
    padding-left: 2rem;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

#app {
    height: 100%;
    width: 100%;
}

/* width */
::-webkit-scrollbar {
    width: 0.5em;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #888;
}

    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

@media (prefers-reduced-motion: no-prference) {
    :has(:target) {
        scroll-behavior: smooth;
        scroll-padding-top: 3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        -webkit-animation-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ----- FORMS ----- */

.o-form__group {
    display: flex;
    flex-direction: column;
    margin-block: 0.5rem;
    user-select: none;
}

    .o-form__group:not(:last-child) {
        margin-bottom: 1rem;
    }

.o-form__group--half {
    width: 40ch;
}

.o-form__label {
    margin-bottom: 0.5rem;
}

.o-form__control {
    display: block;
    width: 100%;
    height: 52px;
    padding: 0.375rem 0.75rem;
    margin-block: 0.5rem;
    background: #fff;
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    border-radius: 5px;
    border-top-left-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important;
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

    .o-form__control:focus, .o-form__control:active {
        outline: none !important;
        box-shadow: none;
        border: 1px solid #1089ff;
    }

.o-form__group input[aria-invalid="true"] {
    border-bottom-color: red;
}

.o-form__group input[valid] {
    border-bottom-color: var(--_gg-green300);
}

button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) {
    cursor: pointer;
}

.o-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 1rem;
    line-height: 1.5rem;
    min-width: 1.5rem;
    width: fit-content;
    padding: 0.5rem 1rem;
    color: var(--gg-grey100);
    background-color: var(--gg-azureBlue500);
}

    .o-button:hover {
        color: var(--gg-grey1000); background: var(--gg-azureBlue200);
    }

    .o-button.o-button--primary {
        background: #1089ff !important;
        border: 1px solid #1089ff !important;
        color: #fff !important;
    }

    .o-button:hover, .o-button:active, .o-button:focus {
        outline: none;
    }

.o-button--primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}

.o-buttons {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    margin: 0.5rem auto;
}

.validation-message {
    margin-left: auto;
    margin-bottom: 0.25rem;
    color: red;
    font-weight: 400;
}

o-text--danger {
    color: red;
}

/* ----- BLAZOR ERROR ----- */

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

/* ----  Loader ---- */

.loader {
    position: absolute;
    top: 50%;
    left: 50%;
    --from: 80px;
    --to: 200px;
    --size: 32px;
    --time: 7s;
    --count: 51; /* up to 100 */
    --turns: 6;
}

.circle {
    position: absolute;
    --delay: calc(var(--time) / var(--count) * -1 * var(--i));
    rotate: calc(var(--turns) * 1turn / var(--count) * var(--i));
    animation: circle var(--time) var(--delay) ease-in-out infinite;
}

    .circle:nth-child(n + var(--count)) {
        display: none;
    }

    .circle::before {
        content: '';
        display: block;
        width: var(--size);
        aspect-ratio: 1/1;
        border-radius: 50%;
        background-color: white;
        transform-origin: center center;
        animation: circleSize var(--time) var(--delay) ease-in-out infinite;
    }

/* rainbow */
.rainbow .circle::before {
    background-color: hsl( calc(1turn / ( var(--count) / var(--turns) ) * var(--i)) 100% 70% );
}

/* animations */
@keyframes circle {
    from {
        transform: translate(0, var(--from));
    }

    to {
        transform: translate(0, var(--to));
    }
}

@keyframes circleSize {
    0%, 100% {
        transform: scale(0);
    }

    25%, 50% {
        transform: scale(1);
    }
}
