// Math module for division
@use "sass:math";

$values: (
  "0": 0,
  "1": 0.000303526983548837,
  "2": 0.000607053967097675,
  "3": 0.000910580950646509,
  "4": 0.00121410793419535,
  "5": 0.00151763491774419,
  "6": 0.00182116190129303,
  "7": 0.00212468888484187,
  "8": 0.0024282158683907,
  "9": 0.00273174285193954,
  "10": 0.00303526983548837,
  "11": 0.00334653576389916,
  "12": 0.00367650732404744,
  "13": 0.0040247170184963,
  "14": 0.00439144203741029,
  "15": 0.00477695348069373,
  "16": 0.00518151670233839,
  "17": 0.00560539162420273,
  "18": 0.00604883302285705,
  "19": 0.00651209079259447,
  "20": 0.00699541018726539,
  "21": 0.00749903204322617,
  "22": 0.008023192985385,
  "23": 0.0085681256180693,
  "24": 0.00913405870222078,
  "25": 0.00972121732023784,
  "26": 0.0103298230296269,
  "27": 0.0109600940064882,
  "28": 0.0116122451797438,
  "29": 0.0122864883569158,
  "30": 0.0129830323421729,
  "31": 0.0137020830472896,
  "32": 0.0144438435960925,
  "33": 0.0152085144229126,
  "34": 0.0159962933655096,
  "35": 0.0168073757528873,
  "36": 0.017641954488384,
  "37": 0.0185002201283796,
  "38": 0.0193823609569357,
  "39": 0.0202885630566523,
  "40": 0.0212190103760035,
  "41": 0.0221738847933873,
  "42": 0.0231533661781104,
  "43": 0.0241576324485047,
  "44": 0.0251868596273616,
  "45": 0.0262412218948499,
  "46": 0.0273208916390749,
  "47": 0.0284260395044208,
  "48": 0.0295568344378088,
  "49": 0.0307134437329936,
  "50": 0.0318960330730115,
  "51": 0.033104766570885,
  "52": 0.0343398068086822,
  "53": 0.0356013148750203,
  "54": 0.0368894504011,
  "55": 0.0382043715953465,
  "56": 0.0395462352767329,
  "57": 0.0409151969068532,
  "58": 0.0423114106208097,
  "59": 0.0437350292569735,
  "60": 0.0451862043856756,
  "61": 0.0466650863368802,
  "62": 0.0481718242268895,
  "63": 0.0497065659841273,
  "64": 0.0512694583740433,
  "65": 0.0528606470231804,
  "66": 0.0544802764424425,
  "67": 0.0561284900496002,
  "68": 0.0578054301910674,
  "69": 0.0595112381629814,
  "70": 0.0612460542316178,
  "71": 0.0630100176531678,
  "72": 0.064803266692906,
  "73": 0.0666259386437731,
  "74": 0.0684781698444004,
  "75": 0.0703600956965961,
  "76": 0.0722718506823177,
  "77": 0.0742135683801494,
  "78": 0.0761853814813076,
  "79": 0.0781874218051861,
  "80": 0.0802198203144681,
  "81": 0.0822827071298146,
  "82": 0.0843762115441486,
  "83": 0.0865004620365495,
  "84": 0.0886555862857727,
  "85": 0.0908417111834075,
  "86": 0.0930589628466873,
  "87": 0.0953074666309645,
  "88": 0.0975873471418623,
  "89": 0.0998987282471138,
  "90": 0.102241733088101,
  "91": 0.104616484091104,
  "92": 0.107023102978267,
  "93": 0.109461710778299,
  "94": 0.111932427836905,
  "95": 0.114435373826974,
  "96": 0.116970667758511,
  "97": 0.119538427988346,
  "98": 0.122138772229602,
  "99": 0.12477181756095,
  "100": 0.127437680435647,
  "101": 0.130136476690364,
  "102": 0.132868321553818,
  "103": 0.135633329655206,
  "104": 0.138431615032452,
  "105": 0.141263291140272,
  "106": 0.144128470858058,
  "107": 0.147027266497595,
  "108": 0.149959789810609,
  "109": 0.15292615199615,
  "110": 0.155926463707827,
  "111": 0.158960835060881,
  "112": 0.162029375639111,
  "113": 0.165132194501668,
  "114": 0.168269400189691,
  "115": 0.171441100732823,
  "116": 0.174647403655585,
  "117": 0.177888415983629,
  "118": 0.18116424424986,
  "119": 0.184474994500441,
  "120": 0.187820772300678,
  "121": 0.191201682740792,
  "122": 0.194617830441576,
  "123": 0.198069319559949,
  "124": 0.201556253794397,
  "125": 0.205078736390317,
  "126": 0.208636870145256,
  "127": 0.212230757414056,
  "128": 0.215860500113899,
  "129": 0.219526199729269,
  "130": 0.223227957316808,
  "131": 0.226965873510098,
  "132": 0.230740048524349,
  "133": 0.234550582161005,
  "134": 0.238397573812271,
  "135": 0.242281122465554,
  "136": 0.246201326707835,
  "137": 0.250158284729953,
  "138": 0.254152094330826,
  "139": 0.258182852921596,
  "140": 0.262250657529696,
  "141": 0.266355604802862,
  "142": 0.270497791013066,
  "143": 0.274677312060384,
  "144": 0.27889426347681,
  "145": 0.283148740429992,
  "146": 0.287440837726917,
  "147": 0.291770649817536,
  "148": 0.296138270798321,
  "149": 0.300543794415776,
  "150": 0.304987314069886,
  "151": 0.309468922817508,
  "152": 0.313988713375718,
  "153": 0.318546778125092,
  "154": 0.323143209112951,
  "155": 0.327778098056542,
  "156": 0.332451536346179,
  "157": 0.33716361504833,
  "158": 0.341914424908661,
  "159": 0.34670405635503,
  "160": 0.351532599500439,
  "161": 0.356400144145944,
  "162": 0.36130677978351,
  "163": 0.36625259559884,
  "164": 0.371237680474149,
  "165": 0.376262122990907,
  "166": 0.38132601143253,
  "167": 0.386429433787049,
  "168": 0.391572477749724,
  "169": 0.396755230725627,
  "170": 0.401977779832196,
  "171": 0.407240211901737,
  "172": 0.412542613483904,
  "173": 0.417885070848138,
  "174": 0.423267669986072,
  "175": 0.428690496613907,
  "176": 0.434153636174749,
  "177": 0.439657173840919,
  "178": 0.445201194516228,
  "179": 0.450785782838223,
  "180": 0.456411023180404,
  "181": 0.462076999654406,
  "182": 0.467783796112158,
  "183": 0.473531496148009,
  "184": 0.479320183100826,
  "185": 0.48514994005607,
  "186": 0.491020849847835,
  "187": 0.49693299506087,
  "188": 0.502886458032568,
  "189": 0.508881320854933,
  "190": 0.514917665376521,
  "191": 0.520995573204354,
  "192": 0.527115125705813,
  "193": 0.533276404010505,
  "194": 0.539479489012107,
  "195": 0.545724461370186,
  "196": 0.552011401512,
  "197": 0.558340389634267,
  "198": 0.564711505704929,
  "199": 0.571124829464873,
  "200": 0.57758044042965,
  "201": 0.584078417891164,
  "202": 0.590618840919337,
  "203": 0.597201788363763,
  "204": 0.603827338855338,
  "205": 0.610495570807865,
  "206": 0.617206562419651,
  "207": 0.623960391675076,
  "208": 0.630757136346147,
  "209": 0.637596873994033,
  "210": 0.644479681970582,
  "211": 0.651405637419824,
  "212": 0.658374817279448,
  "213": 0.665387298282272,
  "214": 0.672443156957688,
  "215": 0.679542469633094,
  "216": 0.686685312435314,
  "217": 0.69387176129199,
  "218": 0.701101891932974,
  "219": 0.708375779891687,
  "220": 0.715693500506481,
  "221": 0.72305512892197,
  "222": 0.730460740090354,
  "223": 0.737910408772732,
  "224": 0.745404209540388,
  "225": 0.752942216776079,
  "226": 0.760524504675293,
  "227": 0.768151147247508,
  "228": 0.775822218317424,
  "229": 0.783537791526194,
  "230": 0.791297940332629,
  "231": 0.799102738014408,
  "232": 0.80695225766925,
  "233": 0.8148465722161,
  "234": 0.822785754396283,
  "235": 0.830769876774654,
  "236": 0.838799011740739,
  "237": 0.846873231509857,
  "238": 0.854992608124233,
  "239": 0.863157213454101,
  "240": 0.871367119198797,
  "241": 0.879622396887831,
  "242": 0.887923117881966,
  "243": 0.896269353374266,
  "244": 0.904661174391149,
  "245": 0.913098651793418,
  "246": 0.921581856277294,
  "247": 0.930110858375423,
  "248": 0.938685728457887,
  "249": 0.947306536733199,
  "250": 0.955973353249286,
  "251": 0.964686247894465,
  "252": 0.973445290398412,
  "253": 0.982250550333117,
  "254": 0.99110209711383,
  "255": 1
);
  
  
@function luminance($color) {

  $luminance: null;
  
  $R: red($color);
  $Rg: map-get($values, #{$R});
  
  $G: green($color);
  $Gg: map-get($values, #{$G});

  $B: blue($color);
  $Bg: map-get($values, #{$B});

  $luminance: 0.2126 * $Rg + 0.7152 * $Gg + 0.0722 * $Bg;
  
  @return $luminance;
}

@function contrast-ratio($color1, $color2) {
  $luminance-color1: luminance($color1);
  $luminance-color2: luminance($color2);
  
  //(L1 + 0.05) / (L2 + 0.05) Where L1 is the larger relative luminance, and L2 is the smaller
  $contrast-ratio: null;
  @if $luminance-color1 > $luminance-color2 {
    $contrast-ratio: math.div($luminance-color1 + 0.05, $luminance-color2 + 0.05);
  } 
  @else {
    $contrast-ratio: math.div($luminance-color2 + 0.05, $luminance-color1 + 0.05);
  }
   
  @return $contrast-ratio;
} 





