campaignTrail_temp.election_json = [ { "model": "campaign_trail.election", "pk": 20, "fields": { "year": 2016, "display_year": "1996", "site_description": "America is not raging with fury into the new century, on the surface, one would see a resting giant, content to merely focus on recentering its gravity towards itself, soothing it's frayed conscience after a century of upheaval and suffering.

America, however, is still contending with many fundamental issues of it's identity as such a young and troubled nation, it grapples with a variety of issues regarding to civil rights and liberties, fiscal and economic policy, and how the nation should choose to partake in foreign ventures, and if President Bill Clinton is a true servant representing the people, or an extremist and judas who has fundamentally altered the nation's nature. Bill Clinton wishes to establish a New Covenent, but gravity has dragged that Icarus down back to earth, where the men in the halls of Congress write a new Contract With America to settle definitively the fractious issues of the day.

", "summary": "

⠀⠀⠀⠀America is not raging with fury into the new century, on the surface, one would see a resting giant, content to merely focus on recentering its gravity towards itself, soothing it's frayed conscience after a century of upheaval and suffering.

⠀⠀⠀⠀America, however, is still contending with many fundamental issues of it's identity as such a young and troubled nation, it grapples with a variety of issues regarding to civil rights and liberties, fiscal and economic policy, and how the nation should choose to partake in foreign ventures, and if President Bill Clinton is a true servant representing the people, or an extremist and judas who has fundamentally altered the nation's nature. Bill Clinton wishes to establish a New Covenent, but gravity has dragged that Icarus down back to earth, where the men in the halls of Congress write a new Contract With America to settle definitively the fractious issues of the day.

", "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/gingrichnofade.png", "winning_electoral_vote_number": 270, "advisor_url": "https://file.garden/aYjZLAM7UCBtT7eY/gingrichMAIN.gif", "recommended_reading": "

1996, Newt Gingrich, Bill Clinton, and America at large

America in 1996

America in 1996 was focused primarily on the transition away from the old and into the new. It is remembered fondly as a time of progress, despite being in many ways actually rather regressive. The mood in the 1990s was fundamentally very anti-incumbent, which made Clinton, in particular's popularity and strength on the electoral stage somewhat amazing. The 1990s told itself that the era of superstition and falsehoods was over, that we would see a new era of governance focused on technocratic reform rather than partisan battles. Even the most partisan politicians (relevant example: Newt Gingrich) had to pay homage to the sacred cow of bipartisan, common-sense, poll-tested reformism. Issues that polled well, like free trade or a balanced budget amendment got support from both parties, and even though many of these reforms did not end up passing, the magnitude of the overlap we began to see in parties during the 1990s was quite intense. Despite the common myth, however, the 1990s were not a time of no polarization. In fact, a lot of the negative political trends we observe today, such as \"post truth\" media insulation or obstruction in Congress were indeed present in the 1990s.


Gingrich

Newton Leroy Gingrich (born with the surname McPherson) did not come from particularly dizzying heights. His mother and father divorced very shortly after he was born, and she would remarry to Robert Gingrich, an army officer. Gingrich would say that his father was something of an inspiration to him, teaching him the importance of duty, honor, courage, and loyalty to one's country. Robert Gingrich had served several tours of duty in Korea and Vietnam and was generally respected by those who knew him as a good man and patriot. Robert Gingrich would die of cancer in 1996. Newt Gingrich as a political entity wasn't anomalous. He was instead part of a broader movement in America, particularly in the Republican Party, towards the South. Newt would run in 1974 for the House unsuccessfully against incumbent Jack Flynt, and while he was, of course, unsuccessful, the closeness of the race was a clear sign: the South was changing. Gingrich would beat 1978 contestant Virginia Shepard, and from there, he would plant the seeds of something that would bloom decades later. Newt was one of the first to really capitalize on the shift in the South towards the Republican Party, but definitely not the last, and as time went on, more and more of the surrounding seats, both in Georgia and other formerly Confederate states, went Republican too. Newt Gingrich, as speaker, was ruthless. He effectively utilized carrot and stick tactics alongside capitalizing on partisan division to create a House where he could effectively obstruct and pass legislation, similar to his successor in the speakership, Dennis Hastert. To be frank, I don't have much love for Gingrich, he was, by all accounts, kinda an asshole. He treated women terribly, accelerated polarization and the decline of the moderate wing of the Republican party, and often employed a lot of dirty political tricks and rhetoric. Regardless of how you feel about him as a man, however, he was geniunely important and represented a very notable movement in American political history.



Clinton

Bill Clinton's origin is strikingly similar: born in the South, didn't come from much, worked his way up, although Clinton would instead enter national prominance as a governor rather than as a representative. In fact, the more you peel things back, the more similar these men seem. Clinton was also considered at the bleeding edge of a new movement in his party too, but instead more focused on technocratic reform and moderation, rather than scurrying to the populist fringe. Clinton also made it a core mission of his to court his home region of the South, which had been increasingly Republican. In fact, Clinton was the first Democratic nominee to actually win the presidential election without winning the state of Texas. His administration was more focused on big picture reforms and making an impact than on strict adherence to any ideology. Clinton was almost infamous for always getting things 70% his way and calling it a day, as he pushed on dauntlessly towards a whole litany of issues. Clinton is arguably one of the most conservative Democratic presidents we have had since Franklin Roosevelt changed the party forever. I hope it doesn't bleed through, but I have been something of a Clinton fanboy for a long time. I think there's a lot to admire in his administration's ability to meet difficult odds and press on regardless, and not letting perfect be the enemy of good or rejecting the solutions we have in favor of stringent ideology.


Platforms

View the historical platforms of the historical 1996 candidates (Bob Dole and Bill Clinton) below!

Clinton/Gore '96 Website
Dole/Kemp '96 Website

Thanks for playing!

", "has_visits": 1, "no_electoral_majority_image": "../static/images/2012-no-majority.jpg" } } ] RecReading=true document.getElementById("game_start").innerHTML = "I'm ready."; document.getElementById("inner_window_1").children[0].innerHTML="

Are you ready to rewrite American politics forever?

" document.getElementById("inner_window_1").children[1].innerHTML = "
  • After years of Democratic Congressional control, you rewrite the fundamentals of congress.
  • Think of dealing with the press like dealing with cops—or a small child—every word you say can and will be used against you, never say anything that can be taken out of context or be used in ad campaigns, it can be fatal.
  • Play rough, get down in the mud, be a warrior, nobody is pausing to help you, and the media and democrats will hound you relentlessly, don't let the bastards win.
  • But be soft: make people believe, show them that Clinton is not the only one offering a vision of the future, but you have real solutions and ideas too.
  • After years of your obstruction and partisan warfare, Democrats are roaring for a fight, ready to mount your head.
  • And you will fight. Like hell.
  • "; campaignTrail_temp.temp_election_list = [ { "id": 20, "year": 2016, "is_premium": 0, "display_year": "1996" } ] campaignTrail_temp.credits = "Siddhartha. Special thanks to the HOPE Team for inspiration" campaignTrail_temp.global_parameter_json = [ { "model": "campaign_trail.global_parameter", "pk": 1, "fields": { "vote_variable": 1.125, "max_swing": 0.12, "start_point": 0.94, "candidate_issue_weight": 10, "running_mate_issue_weight": 3, "issue_stance_1_max": -0.71, "issue_stance_2_max": -0.3, "issue_stance_3_max": -0.125, "issue_stance_4_max": 0.125, "issue_stance_5_max": 0.3, "issue_stance_6_max": 0.71, "global_variance": 0.01, "state_variance": 0.005, "question_count": 30, "default_map_color_hex": "#C9C9C9", "no_state_map_color_hex": "#999999" } } ] campaignTrail_temp.candidate_json = [ { "model": "campaign_trail.candidate", "pk": 1001, "fields": { "first_name": "Newt", "last_name": "Gingrich", "election": 20, "party": "Republican", "state": "Georgia", "priority": 1, "description": "

    ⠀⠀⠀⠀Standing center stage left, or I suppose right, is Speaker of the House Newton Leroy Gingrich, starring as perhaps not the leading man, much to his chagrin, but a major figure in this year's production of the Great American Experiment. Newt Gingrich would, in many timelines, be completely marginal, Newt Gingrich was not from a line of wealthy career politicians, he's not a Bush, or even a Stevenson, for that matter. Gingrich was born to a 16 year old mother and a father who would promptly divorce her several days later. Gingrich would graduate with a PhD in European History, but only after a very short period of teaching, found himself drawn to public service and would promptly resign as professor to run for congress.

    ⠀⠀⠀⠀Gingrich's ascent is as stunning as it is a demoralizing story of dirty, weedy politics and the art of public outcry. The 1994 bloodbath gave Republicans the House of Representatives for the first time since 1955, with Gingrich and his contract at the center of it. To say that Gingrich's style of presiding over the house is partisan and aggressive is a sheer understatement, Gingrich in his time as speaker has written the book on combative politics and the practice of sparing as little quarter in the political arena as one can afford. Gingrich's practices are as celebrated as they are reviled and popular as they are divisive, but even the most steadfast of liberals cannot deny that Gingrich has gotten results, and to Gingrich, if that means making Clinton's life hell, so be it.

    ", "color_hex": "#bb1d1d", "secondary_color_hex": null, "is_active": 1, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Newtimage3.png", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": null, "candidate_score": 1, "running_mate": false } }, { "model": "campaign_trail.candidate", "pk": 1002, "fields": { "first_name": "Skipped", "last_name": "Skipped", "election": 20, "party": "Turbo Team", "state": "Idaho", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://www.jetsimon.com/public/candidateexample.png", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    This is a running mate description it only shows for running mates

    ", "candidate_score": 1, "running_mate": true } }, { "model": "campaign_trail.candidate", "pk": 50000, "fields": { "first_name": "Bill", "last_name": "Clinton", "election": 20, "party": "Democratic", "state": "Arkansas", "priority": 1, "description": "not visible", "color_hex": "#0E34A5", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Newtimage3.png", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": null, "candidate_score": 1, "running_mate": false } }, { "model": "campaign_trail.candidate", "pk": 50001, "fields": { "first_name": "Ross", "last_name": "Perot", "election": 20, "party": "Reform", "state": "Texas", "priority": 1, "description": "not visible", "color_hex": "#4b0cca", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Newtimage3.png", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": null, "candidate_score": 1, "running_mate": false } }, { "model": "campaign_trail.candidate", "pk": 50002, "fields": { "first_name": "Ralph", "last_name": "Nader", "election": 20, "party": "Green", "state": "Connecticut", "priority": 1, "description": "not visible", "color_hex": "#07a528", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Newtimage3.png", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": null, "candidate_score": 1, "running_mate": false } }, { "model": "campaign_trail.candidate", "pk": 50003, "fields": { "first_name": "Jack", "last_name": "Kemp", "election": 20, "party": "Republican", "state": "New York", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/kempimg.gif", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    ⠀⠀⠀⠀It's just common sense. Kemp is a good party man, almost nobody has any particular problems with him, who could say no to such a reliable pick? Jack Kemp has been a towering figure in the Republican party for over a decade, hitting his real stride as one of Reagan's top men in congress, authoring the Kemp-Roth tax cuts and championing Reagan's supply side economic agenda. On top of that, he's been in congress even longer than you, first taking office in 1971 in the House and has since served as HUD Secretary and even had his own presidential run.

    ⠀⠀⠀⠀Kemp is, however, a bit of a boring pick with it not being exactly who some Sunbelters see as the man to move the conservative insurgency forward with his moderate, northeastern image. He has also been one of the more socially liberal members of the Republican party and a persistent supporter of civil rights, which, while moderating and giving balance to your own image of a deep-fried Southern conservative, will have it's detractors, especially from Buchanan's crowd. There's nothing wrong with Kemp per se but is a moderate mainline establishment figure really who you want to take your crusade to the top and destroy the Clinton regime once and for all?

    ", "candidate_score": 1, "running_mate": true } }, { "model": "campaign_trail.candidate", "pk": 50004, "fields": { "first_name": "Phil", "last_name": "Gramm", "election": 20, "party": "Republican", "state": "Texas", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Grammimg.gif", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    ⠀⠀⠀⠀Well, how about Gramm? He's certainly got the experience for the job, the man's been in government as long as you have. Gramm is also a stalwart conservative who has been one of the senate's most fiscally conservative members for over a decade and counting. Gramm also is arguably even to your right on some social issues, making him one of the rightmost men you can reasonably pick for your running mate without becoming too fringe to reasonably field even a decent chance. He knows his stuff too, being one of the most educated congressmen on fiscal and banking matters.

    ⠀⠀⠀⠀Gramm is, however, not a very thrilling orator, and while he does have solid credibility with conservatives, some party analysts think that a ticket with you and Gramm would lean to heavily on the conservative side, which could end up alienating more moderate and independent voters who are already trending towards Clinton but will be crucial to your success come November. But the elephant in the room here is that Gramm has his share of scandals and skeletons in his closet, and while none of them are particularly devastating on their own, the sheer volume of them could be a major liability for your campaign, especially with the media and Clinton's team ready to pounce on any misstep. But when has controversy ever stopped you once you had your mind set to something?

    ", "candidate_score": 1, "running_mate": true } }, { "model": "campaign_trail.candidate", "pk": 50005, "fields": { "first_name": "George", "last_name": "Allen", "election": 20, "party": "Republican", "state": "Virginia", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Allenimg.gif", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    ⠀⠀⠀⠀I think you'll really like him, Virginia Governor George Allen might just be the change in direction you're looking for. Allen is much like you, aggressive, young, conservative and a true blue Southerner. Man's got a great story: he's self made, a former football player, spent some time doing military service, it's real American stuff. He's a bit young though, and hasn't made a big name for himself yet, so you'd need spend some time to raise his national profile, he only got his first national position by entering the house in 1991, quietly serving a term before becoming governor in 1994. Plus, he's a bit of a loose cannon and has a bit of a temper, but that could be just what you need to get the base riled up and show Clinton that you're not to be messed with.

    ⠀⠀⠀⠀But are you too similar? Allen is good, don't get me wrong, but he doesn't bring much you don't already have, you're already a Southerner, already aggressive, already young, already conservative, what does Allen have that you don't? Allen's a fine choice, but there's a lot of people from both sides, Buchanan's crowd and the more moderate establishment types, who don't see the appeal in Allen that you might. Still, the kid is a rising star with some political chops, and would reinforce your image as the prophet of a new generation of tough-as-nails conservatives.

    ", "candidate_score": 1, "running_mate": true } }, { "model": "campaign_trail.candidate", "pk": 50006, "fields": { "first_name": "Bill", "last_name": "Weld", "election": 20, "party": "Republican", "state": "Massachusetts", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Weldragebaited.gif", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    ⠀⠀⠀⠀Give it some thought before you dismiss it. Face the facts, Newt, the moderates and liberals are ready to walk right out the door, but Weld, he'll keep them in the fold, he's a moderate, bipartisan, Northeastern, undivisive, under the radar type of guy. He's governor up in Massachusetts, so he's got some executive experience, he's worked with Democrats in the state legislature, so he'll earn you some points for moderation and bipartisanship. He's got a pretty good record too, he's a fiscal conservative who balanced the budget and cut taxes at the same time, improved social services, really independents and moderates would look on him a lot more favorably than some of these other guys you've been looking at.

    ⠀⠀⠀⠀There's a common truism that you can't please everyone, however, and maybe Gingrich/Weld would end up being more for nobody than everybody. Weld is not just more liberal than you, he's a bonafied supporter of gay rights, abortion rights, gun control, and a whole other host of issues in which you 2 would be strictly split down the middle. Weld's social liberalism would be a major sticking point for the more socially conservative wing of your base, and while he might bring in some moderates and independents, would it be enough to offset the loss of support from the more hardline conservatives who are already on the fence about you? Still, if you want to make a play for the center and show that you're not just some fire-breathing right-winger, Weld could be a strategic pick to balance out your ticket and appeal to a broader range of voters.

    ", "candidate_score": 1, "running_mate": true } }, { "model": "campaign_trail.candidate", "pk": 50007, "fields": { "first_name": "Bob", "last_name": "Dole", "election": 20, "party": "Republican", "state": "Kansas", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Doleimg.gif", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    ⠀⠀⠀⠀Look, it might pave over some bad feelings. Look at it this way, Dole's crowd feels pretty dejected, you and Dole are not the same men, and have different points of appeal, at this point in his career he's a proper elder statesman, while you're a firebrand, but most importantly Dole lost and you won. But are you 2 so different? I mean Dole has his own legacy of aggression and controversy, when he came onto the scene in the 60s he was considered to be representing a newer, harder edge for conservatism with the liberal concensus in decline. Dole has done good work for the party, there's never been anything he wouldn't do for the party if it came to it and it would look good to the boys at the RNC. In fact, nobody hates Dole, I mean he's one of the most broadly respected men in the party for a reason, even democrats give him some respect for his years of service in the military and congress. He is a true and simple party man and institutional powerhouse.

    ⠀⠀⠀⠀Well, everyone except you. You and Bob don't exactly get along well, Dole has openly stated before that he doesn't like your style of governance and doesn't want you to be speaker. While this could cause some friction on the trail, it would look good to see you 2 put aside your differences and come together for a congressional powerhouse ticket, as controversial as congress might be right now.

    ", "candidate_score": 1, "running_mate": true } }, { "model": "campaign_trail.candidate", "pk": 50008, "fields": { "first_name": "J. C.", "last_name": "Watts", "election": 20, "party": "Republican", "state": "Oklahoma", "priority": 1, "description": "

    Put description here

    ", "color_hex": "#0000FF", "secondary_color_hex": null, "is_active": 0, "image_url": "https://file.garden/aYjZLAM7UCBtT7eY/Wattsimg.gif", "electoral_victory_message": "This guy wins!", "electoral_loss_message": "This guy loses!", "no_electoral_majority_message": "We all win?", "description_as_running_mate": "

    ⠀⠀⠀⠀Well, it's bold I'll say that. J. C. Watts is, to put it lightly, pretty green. The man has only entered public office in 1991 and congress in 1995. Watts does, however, have at his disposal a touching life story, as he came from very little and rose up through his own merit as a football player for the Oklahoma Sooners and as a professional player in the CFL. He would then go onto become a deeply religiously faithful baptist minister and would in 1990 become the first African American to win statewide office in Oklahoma. Watts also supported you during the primaries, so there's no question of loyalty here.

    J. C. is a true American success story. The kind of person that will one day be something huge. But for now, he is not much. Selecting J. C. Watts would be a powerful signal to the black community of diplomatic overtures, as well as giving more credibility to your ticket amongst christians and Southern conservatives, but he would need a lot of work to boost his profile. He's not exactly a household personality and he's not going to do much to regionally or ideologically balance you out. You are undeniably taking a risk here, the kind that might prove fatal in november, but after that speech at the RNC though, you have to admit the man has definite chops.

    ", "candidate_score": 1, "running_mate": true } }, ] campaignTrail_temp.running_mate_json = [ { "model": "campaign_trail.running_mate", "pk": 109261, "fields": { "candidate": 1001, "running_mate": 1002 } } ] campaignTrail_temp.opponents_default_json = [ { "election": 20, "candidates": [ 1001, 50000, 50001, 50002, ] } ] campaignTrail_temp.opponents_weighted_json = [ { "election": 20, "candidates": [ 1001, 50000, 50001, 50002, ] } ]; jet_data = { "headerColor": "#700016", "windowColor": "#BFE6FF", "containerColor": "#f5f5f5", "innerWindowColor": "#E8FBFF", "bannerImageUrl": "https://jetsimon.com/public/placeholderbanner.png", "backgroundImageUrl": "https://coolbackgrounds.io/images/backgrounds/white/pure-white-background-85a2a7fd.jpg", "endingTextColor": "#000000", "customQuote": "", "gameTitle": "CONTRACT WITH AMERICA" } campaignTrail_temp.modBoxTheme = { "header_color": "#700016", "header_text_color": "#ffffff", "header_image_url": "https://file.garden/aYjZLAM7UCBtT7eY/header5.png", "description_text_color": "#efefef", "description_background_color": "#700016", "main_color": "#700016", "secondary_color": "#700016", "ui_text_color": "#efefef" } function addDynamicCSS() { var css = ` .inner_window_question h3 .mytooltip{ } .mytooltip { position: relative; display: inline-block; cursor: pointer; color: #1b75d0; text-decoration: underline; } .mytooltip .mytooltiptext { width: 260px; background-color: #007c7c; color: whitesmoke; text-shadow: 0 0 2px #ffffff; text-align: center; padding: 10px; position: absolute; z-index: 99; bottom: 93%; left: 20%; margin-left: -90px; opacity: 0; transition: opacity 0.3s; border: 3px solid #373737; pointer-events: none; font-size: 16px !important; line-height: 1.5em !important; font-weight: normal !important; font-style: normal !important; background: linear-gradient(360deg, rgb(0 81 81) 0%, rgba(0, 128, 128, 1) 100%); } .mytooltip .mytooltiptext img { max-width: 258px; height: auto; border: 1px solid #363636; box-shadow: 0 0 6px 1px #d7eff3; border-radius: 3px; } .mytooltip:hover .mytooltiptext { opacity: 1; transition-delay: 0.5s; } `; var styleElem = document.createElement('style'); styleElem.type = 'text/css'; styleElem.appendChild(document.createTextNode(css)); document.head.appendChild(styleElem); } addDynamicCSS(); tooltipList = [ {searchString: "Clinton regime", explanationText: "The illigitimate government holed up in The White House."}, {searchString: "Perot", explanationText: "Mr. Elephant Ears, a bit self absorbed."}, {searchString: "Ross Perot", explanationText: "Mr. Elephant Ears, a bit self absorbed."}, {searchString: "personality gap", explanationText: " The general fact that Americans would much rather have a beer with Clinton than you."}, {searchString: "satanism", explanationText: "A definite product of Clinton's degeneracy."}, {searchString: "Satanism", explanationText: "A definite product of Clinton's degeneracy."}, {searchString: "Michael Jackson", explanationText: "Better times."}, {searchString: "Dukakis", explanationText: "The former Massachusetts governor and failed Democratic candidate. Should probably not hop in any more tanks."}, {searchString: "Rush Limbaugh", explanationText: "Nailing Clinton on all of his misdeeds. Patriot."}, {searchString: "Contract With America", explanationText: "Your master plan to take back the government and save America from the clutches of Clinton and his cronies."}, {searchString: "football", explanationText: "The sport of patriots. You weren't much good at it in high school."}, {searchString: "Bush", explanationText: "Former president. A nice man, but a bit soft."}, {searchString: "Schumer", explanationText: "Democratic Representative from New York, going places."}, {searchString: "Mrs. Snowe", explanationText: "The RINO dame from Maine."}, {searchString: "Hillary Clinton", explanationText: "The puppeteer."}, {searchString: "Timothy McVeigh", explanationText: "White supremacist mass murderer. Scum."}, {searchString: "1995 Oklahoma City Bombing", explanationText: "1995 bombing on the Alfred Murrah building. 167-168 direct deaths. One of the most devastating terrorist attacks in American history."}, {searchString: "1993 World Trade Center Bombing", explanationText: "Bombing of the World Trade Centers in New York by Muslism extremist terrorists. Mostly failed in it's aims but killed 6."}, {searchString: "the internet", explanationText: "The new technology, you're not sure what to make of it."}, {searchString: "CDA", explanationText: "The Communications Decency Act, a bipartisan bill aimed at regulating inappropriate content being viewed by minors online."}, {searchString: "Lamar Alexander", explanationText: "Former Tennessee governor and secretary of education. Very marginal, don't worry about him."}, {searchString: "Pete Wilson", explanationText: "California governor. Had promise, but going nowhere."}, ]; const fontLink = document.createElement('link'); fontLink.href = "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Serif+Display:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"; fontLink.rel = "stylesheet"; document.head.appendChild(fontLink); // Initialise custom music // Hide default player elements $("#music_player")[0].children[0].style.display = "none" $("#music_player")[0].children[1].style.display = "none" document.getElementById("modLoadReveal").style.display = "none" document.getElementById("modloaddiv").style.display = "none" let musicBox = document.createElement("div"); musicBox.id = "player"; document.querySelector(".content_single").appendChild(musicBox); document.querySelector(".content_single").insertBefore(musicBox, document.querySelector(".content_single").children[1]); var trackSel; e = campaignTrail_temp e.selectedSoundtrack = 0 e.currentTrackIndex = 0 toTime = (seconds) => { var date = new Date(null); date.setSeconds(seconds); return date.toISOString().slice(11, 19); } function getTrackImage(trackId) { return trackImages[trackId] || "https://files.catbox.moe/0gdec5.jpg"; } function setActivePlaylistItem(index) { const items = document.querySelectorAll(".playlist-item"); items.forEach((el, i) => { if (i === index) el.classList.add("active"); else el.classList.remove("active"); }); } function playTrackByIndex(index, { autoplay = true } = {}) { const tracklist = soundtracks[e.selectedSoundtrack].tracklist; if (!tracklist || !tracklist.length) return; const clampedIndex = ((index % tracklist.length) + tracklist.length) % tracklist.length; e.currentTrackIndex = clampedIndex; const audio = document.getElementById("campaigntrailmusic"); if (!audio) return; const track = tracklist[clampedIndex]; audio.src = track.url; audio.currentTime = 0; if (autoplay) audio.play(); // Update cover image using the track's ID const trackId = track.id; const img = document.getElementById("recordcover"); if (img) img.src = getTrackImage(trackId); // Update metadata boxes updateTrackMeta(trackId); // Highlight current track in playlist setActivePlaylistItem(clampedIndex); // Update pause/play button to show pause icon since music is playing const pausePlayBtn = document.getElementById("music-pauseplay"); if (pausePlayBtn && autoplay) pausePlayBtn.textContent = "❚❚"; } function setSoundtrack(soundtrackIndex, { autoplay = true } = {}) { const idx = Number(soundtrackIndex); const next = soundtracks?.[idx]; const nextList = next?.tracklist; if (!Number.isFinite(idx) || !nextList || !nextList.length) return false; e.selectedSoundtrack = idx; e.currentTrackIndex = 0; try { renderPlaylist(); } catch (_err) { /* ignore */ } playTrackByIndex(0, { autoplay }); return true; } try { campaignTrail_temp.setSoundtrack = setSoundtrack; } catch (_err) { /* ignore */ } try { window.setSoundtrack = setSoundtrack; } catch (_err) { /* ignore */ } function updateTrackMeta(trackId) { const meta = trackMeta?.[trackId] || {}; const genreEl = document.getElementById("meta-genre"); const yearEl = document.getElementById("meta-year"); const albumEl = document.getElementById("meta-album"); if (genreEl) genreEl.textContent = meta.genre || ""; if (yearEl) yearEl.textContent = meta.year || ""; if (albumEl) albumEl.textContent = meta.album || ""; } function changeSong(direction) { const tracklist = soundtracks[e.selectedSoundtrack].tracklist; let newIndex; if (direction === "next") { newIndex = (e.currentTrackIndex + 1) % tracklist.length; } else { newIndex = (e.currentTrackIndex - 1 + tracklist.length) % tracklist.length; } playTrackByIndex(newIndex); } function renderPlaylist() { const root = document.getElementById("playlist-root"); if (!root) return; const soundtrack = soundtracks[e.selectedSoundtrack]; const tracklist = soundtrack?.tracklist || []; const titleEl = document.getElementById("playlist-title"); if (titleEl) { titleEl.textContent = soundtrack?.name ? `${soundtrack.name}` : "Playlist"; } root.innerHTML = ""; const list = document.createElement("div"); list.className = "playlist-list"; tracklist.forEach((t, idx) => { const item = document.createElement("div"); item.className = "playlist-item"; item.setAttribute("role", "button"); item.setAttribute("tabindex", "0"); item.innerHTML = `
    ${t.name}
    `; const play = (event) => { event.preventDefault(); playTrackByIndex(idx); }; item.addEventListener("click", play); item.addEventListener("keydown", (event) => { if (event.key === "Enter" || event.key === " ") play(event); }); list.appendChild(item); }); root.appendChild(list); setActivePlaylistItem(e.currentTrackIndex || 0); } function setupMusicPlayer() { // Clear existing content but keep the audio element let audioElement = document.getElementById("campaigntrailmusic"); musicBox.innerHTML = ""; if (audioElement) { musicBox.appendChild(audioElement); } else { // Create audio element if it doesn't exist audioElement = document.createElement("audio"); audioElement.id = "campaigntrailmusic"; audioElement.controls = true; audioElement.style.display = "none"; musicBox.appendChild(audioElement); } musicBox.style.display = "flex"; musicBox.style.flexDirection = "column"; musicBox.style.background = "#ebebeb"; musicBox.style.border = "5px solid #ffffffff"; musicBox.style.width = "70%"; musicBox.style.margin = "0"; musicBox.style.overflow = "hidden"; musicBox.style.boxSizing = "border-box"; musicBox.style.position = "relative"; musicBox.style.left = "0"; musicBox.style.right = "0"; musicBox.style.backgroundImage = "none"; musicBox.style.border = "3px solid rgb(179 179 179)"; musicBox.style.outline = "3px solid #545454"; let imgDiv = document.createElement("div"); let img = document.createElement("img"); let initialTrackId = soundtracks[e.selectedSoundtrack].tracklist[0].id; img.src = getTrackImage(initialTrackId); img.style.height = "75px"; img.style.width = "75px"; img.style.border = "2px solid darkgray"; img.id = "recordcover"; imgDiv.appendChild(img); // Layout rows let topRow = document.createElement("div"); topRow.style.display = "flex"; topRow.style.flexDirection = "row"; topRow.style.gap = "10px"; topRow.style.padding = "10px"; topRow.style.boxSizing = "border-box"; topRow.style.alignItems = "flex-start"; topRow.style.justifyContent = "space-between"; let bottomRow = document.createElement("div"); bottomRow.style.display = "flex"; bottomRow.style.flexDirection = "row"; bottomRow.style.gap = "10px"; bottomRow.style.padding = "10px"; bottomRow.style.boxSizing = "border-box"; bottomRow.style.alignItems = "flex-end"; // Left area: playlist list + (title + metadata) side-by-side let leftColumn = document.createElement("div"); leftColumn.style.display = "flex"; leftColumn.style.flexDirection = "row"; leftColumn.style.gap = "10px"; leftColumn.style.alignItems = "flex-start"; leftColumn.style.flex = "1"; leftColumn.style.minWidth = "0"; // Playlist container (replaces old title/artist display) let playlistRoot = document.createElement("div"); playlistRoot.id = "playlist-root"; playlistRoot.style = ` width: 32em; flex: 0 0 32em; overflow: hidden; display: flex; flex-direction: column; box-sizing: border-box; `; leftColumn.appendChild(playlistRoot); let metaColumn = document.createElement("div"); metaColumn.style.display = "flex"; metaColumn.style.flexDirection = "column"; metaColumn.style.gap = "6px"; metaColumn.style.alignItems = "flex-start"; metaColumn.style.minWidth = "0"; let playlistTitle = document.createElement("div"); playlistTitle.id = "playlist-title"; playlistTitle.className = "playlist-header"; metaColumn.appendChild(playlistTitle); let metaGenre = document.createElement("div"); metaGenre.id = "meta-genre"; metaGenre.className = "playlist-header"; let metaYear = document.createElement("div"); metaYear.id = "meta-year"; metaYear.className = "playlist-header"; let metaAlbum = document.createElement("div"); metaAlbum.id = "meta-album"; metaAlbum.className = "playlist-header"; metaColumn.appendChild(metaGenre); metaColumn.appendChild(metaYear); metaColumn.appendChild(metaAlbum); leftColumn.appendChild(metaColumn); // Record cover should be the rightmost element, as far right as possible imgDiv.style.marginLeft = "auto"; imgDiv.style.alignSelf = "flex-start"; topRow.appendChild(leftColumn); topRow.appendChild(imgDiv); // Time controls let timeTracker = document.createElement("div"); timeTracker.style = ` text-align: left; padding: 6px; flex: 1; transform: translateX(-3px); `; // Controls container for buttons let controlsContainer = document.createElement("div"); controlsContainer.style = ` display: flex; justify-content: center; align-items: center; gap: 15px; margin-bottom: 6px; `; const transportButtonStyle = ` box-shadow: rgb(0 0 0) -1px -1px inset, rgb(222 222 222) 1px 1px inset, #696969 -2px -2px inset, rgb(214 214 214) 2px 2px inset; box-sizing: border-box; min-height: 23px; min-width: 75px; padding: 0 12px; text-shadow: 0 0 #222; height: 25px; background: #e8e8e8; border: none; cursor: pointer; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: #111; `; // Previous button var prevButton = document.createElement("button"); prevButton.type = "button"; prevButton.id = "music-prev"; prevButton.textContent = "◄◄"; prevButton.style = transportButtonStyle; prevButton.addEventListener("click", event => { event.preventDefault(); changeSong('prev'); }); // Pause/play button var pausePlay = document.createElement("button"); pausePlay.type = "button"; pausePlay.id = "music-pauseplay"; pausePlay.textContent = "▶"; pausePlay.style = transportButtonStyle; // Next button var nextButton = document.createElement("button"); nextButton.type = "button"; nextButton.id = "music-next"; nextButton.textContent = "►►"; nextButton.style = transportButtonStyle; nextButton.addEventListener("click", event => { event.preventDefault(); changeSong('next'); }); // Add buttons to container controlsContainer.appendChild(prevButton); controlsContainer.appendChild(pausePlay); controlsContainer.appendChild(nextButton); timeTracker.appendChild(controlsContainer); // Time progress container let timeProgressContainer = document.createElement("div"); timeProgressContainer.style = ` display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 5px; `; // Current time display (left) let currentTimeDisplay = document.createElement("span"); currentTimeDisplay.id = "current-time-display"; currentTimeDisplay.style = ` min-width: 50px; text-align: left; color: black; font-variant: tabular-nums; `; currentTimeDisplay.innerHTML = "0:00:00"; // Total time display (right) let totalTimeDisplay = document.createElement("span"); totalTimeDisplay.id = "total-time-display"; totalTimeDisplay.style = ` min-width: 50px; text-align: right; color: black; font-variant: tabular-nums; `; totalTimeDisplay.innerHTML = "0:00:00"; // Time slider container let sliderContainer = document.createElement("div"); sliderContainer.style = ` flex: 1; padding: 0 10px; `; // Time slider var timeSlider = document.createElement("input"); timeSlider.type = "range"; timeSlider.min = 0; timeSlider.max = 1; timeSlider.step = 0.001; timeSlider.value = 0; timeSlider.style = ` width: 100%; height: 10px; -webkit-appearance: none; appearance: none; background: transparent; border-radius: 0; outline: none; `; timeSlider.id = "time-slider"; const sliderThumbColor = "#ffffff"; const sliderTrackColor = "#555555"; // Add slider styles for track and thumb let sliderStyle = document.createElement("style"); sliderStyle.textContent = ` /* TIME SLIDER */ #time-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 8px; height: 16px; border-radius: 0; background: ${sliderThumbColor}; border: 1px solid #000; cursor: pointer; transform-origin: center; box-sizing: border-box; transform: translateY(-4px); } #time-slider::-moz-range-thumb { width: 8px; height: 16px; border-radius: 0; background: ${sliderThumbColor}; border: 1px solid #000; cursor: pointer; transform-origin: center; box-sizing: border-box; transform: translateY(-4px); } #time-slider::-webkit-slider-runnable-track { height: 12px; border-radius: 0; background: linear-gradient(to right, #1a1aa3 0%, #75c0f2 var(--progress-pos, 0%), #797979 var(--progress-pos, 0%), #797979 100% ); border: 2px inset #b5b5b5; box-sizing: border-box; } #time-slider::-moz-range-track { height: 12px; border-radius: 0; background: #797979; border: 2px inset #b5b5b5; box-sizing: border-box; } #time-slider::-moz-range-progress { height: 12px; border-radius: 0; background: linear-gradient(to right, #1a1aa3, #75c0f2); border: 2px inset #b5b5b5; box-sizing: border-box; } /* VOLUME SLIDER (match TIME SLIDER) */ #volume-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 8px; height: 16px; border-radius: 0; background: ${sliderThumbColor}; border: 1px solid #000; cursor: pointer; box-sizing: border-box; transform: translateY(-4px); } #volume-slider::-moz-range-thumb { width: 8px; height: 16px; border-radius: 0; background: ${sliderThumbColor}; border: 1px solid #000; cursor: pointer; box-sizing: border-box; transform: translateY(-4px); } #volume-slider::-webkit-slider-runnable-track { height: 12px; border-radius: 0; background: linear-gradient(to right, #1a1aa3 0%, #75c0f2 var(--volume-pos, 0%), #797979 var(--volume-pos, 0%), #797979 100% ); border: 2px inset #b5b5b5; box-sizing: border-box; } #volume-slider::-moz-range-track { height: 12px; border-radius: 0; background: #797979; border: 2px inset #b5b5b5; box-sizing: border-box; } #volume-slider::-moz-range-progress { height: 12px; border-radius: 0; background: linear-gradient(to right, #1a1aa3, #75c0f2); border: 2px inset #b5b5b5; box-sizing: border-box; } /* Playlist UI */ #player .playlist-header { color: black; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 300; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 3px solid darkgray; margin-bottom: 3px; display: block; width: fit-content; max-width: 100%; padding: 2px; background-color: white; box-sizing: border-box; text-align: left; } #playlist-root .playlist-list { overflow-y: auto; padding-right: 6px; background-color: white; border: 3px solid darkgray; height: 100%; } #playlist-root .playlist-item { padding: 6px 6px; border-radius: 6px; cursor: pointer; user-select: none; color: black; font-family: 'Inter', sans-serif; outline: none; } #playlist-root .playlist-item:hover { background: rgba(255, 255, 255, 0.12); } #playlist-root .playlist-item.active { color: #005dbd; } #playlist-root .playlist-track-name { font-size: 10px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } `; document.head.appendChild(sliderStyle); sliderContainer.appendChild(timeSlider); // Add time displays and slider to container timeProgressContainer.appendChild(currentTimeDisplay); timeProgressContainer.appendChild(sliderContainer); timeProgressContainer.appendChild(totalTimeDisplay); // Add to time tracker timeTracker.appendChild(timeProgressContainer); // Keep the old position display for compatibility but hide it var positionDisplay = document.createElement("span"); positionDisplay.id = "position-display"; positionDisplay.style.display = "none"; timeTracker.appendChild(positionDisplay); let volumeContainer = document.createElement("div"); volumeContainer.style = ` display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 160px; position: relative; height: 0; overflow: visible; `; let volumeLabel = document.createElement("div"); volumeLabel.id = "volume-label"; volumeLabel.innerHTML = "Volume"; volumeLabel.style = ` position: absolute; left: 75%; bottom: 110px; transform: translateX(-50%); color: black; font-family: 'Inter', sans-serif; font-size: 13px; background: white; padding: 2px; border: 3px solid darkgray; font-weight: 300; `; // Volume slider let volumeSlider = document.createElement("input"); volumeSlider.type = "range"; volumeSlider.min = 0; volumeSlider.max = 1; volumeSlider.step = 0.01; volumeSlider.value = 1; volumeSlider.style = ` width: 105px; height: 10px; -webkit-appearance: none; appearance: none; background: transparent; border-radius: 0; outline: none; position: absolute; left: 75%; bottom: 45px; transform: translateX(-50%) rotate(-90deg); transform-origin: center; display: block; `; volumeSlider.id = "volume-slider"; volumeSlider.addEventListener("input", () => { const value = parseFloat(volumeSlider.value); audioElement.volume = value; setRangeFillPosition(volumeSlider, value, '--volume-pos'); }); setRangeFillPosition(volumeSlider, 1, '--volume-pos'); volumeContainer.appendChild(volumeLabel); volumeContainer.appendChild(volumeSlider); // Put progress/time + volume BELOW the playlist/meta/cover bottomRow.appendChild(timeTracker); bottomRow.appendChild(volumeContainer); musicBox.appendChild(topRow); musicBox.appendChild(bottomRow); audioElement.loop = false; audioElement.src = soundtracks[e.selectedSoundtrack].tracklist[0].url; // Initialize metadata to match initial track updateTrackMeta(soundtracks[e.selectedSoundtrack].tracklist[0].id); audioElement.onended = function() { changeSong('next'); } // Time logic function setRangeFillPosition(sliderEl, value01, cssVarName, thumbPx = 16, snapEnds = true) { if (!sliderEl) return; const clamped = Math.max(0, Math.min(1, Number(value01) || 0)); const rect = sliderEl.getBoundingClientRect ? sliderEl.getBoundingClientRect() : null; const lengthPx = rect ? Math.max(rect.width, rect.height) : (sliderEl.offsetWidth || sliderEl.offsetHeight); // Fallback if we can't measure (hidden/not yet laid out) if (!lengthPx) { sliderEl.style.setProperty(cssVarName, `${clamped * 100}%`); return; } if (snapEnds && clamped <= 0) { sliderEl.style.setProperty(cssVarName, `0%`); return; } if (snapEnds && clamped >= 1) { sliderEl.style.setProperty(cssVarName, `100%`); return; } const minPercent = (thumbPx / 2) / lengthPx * 100; const maxPercent = 100 - minPercent; const posPercent = minPercent + clamped * (maxPercent - minPercent); sliderEl.style.setProperty(cssVarName, `${posPercent}%`); } function updatePositionDisplay() { const currentTime = toTime(audioElement.currentTime); const totalTime = audioElement.duration ? toTime(audioElement.duration) : "0:00:00"; const progress01 = audioElement.duration ? (audioElement.currentTime / audioElement.duration) : 0; // Update the old display for compatibility positionDisplay.innerHTML = "Time: " + currentTime + "
    "; // Update the new displays currentTimeDisplay.innerHTML = currentTime; totalTimeDisplay.innerHTML = totalTime; // Update slider value timeSlider.value = progress01; // Update slider colored progress (align to thumb center) setRangeFillPosition(timeSlider, progress01, '--progress-pos'); } function changeTime() { audioElement.currentTime = timeSlider.value * audioElement.duration; updatePositionDisplay(); } pausePlay.addEventListener("click", event => { event.preventDefault(); updatePositionDisplay(); if (audioElement.paused) { audioElement.play(); pausePlay.textContent = "❚❚"; } else { audioElement.pause(); pausePlay.textContent = "▶"; } }); setInterval(updatePositionDisplay, 1000); timeSlider.addEventListener("input", changeTime); updatePositionDisplay(); // Build playlist UI and set initial active state renderPlaylist(); setActivePlaylistItem(e.currentTrackIndex || 0); } clamp = function(a, max, min, overflow=true) { if (overflow) { return a > max ? min : a < min ? max : a; } return a > max ? max : a < min ? min : a; } // Track list with IDs var soundtracks = { 0: { name: "Contract With America", tracklist: [ { "id": 1, "name": "Sabbath Bloody Sabbath - The Cardigans", "url": "https://files.catbox.moe/9oihg9.mp3" }, { "id": 2, "name": "Paid For Loving - Love Jones", "url": "https://files.catbox.moe/706lt0.mp3" }, { "id": 3, "name": "This Charming Man - Death Cab for Cutie", "url": "https://files.catbox.moe/fuz6kt.mp3" }, { "id": 4, "name": "Heaven or Las Vegas - Cocteau Twins", "url": "https://files.catbox.moe/xy3lyz.mp3" }, { "id": 5, "name": "Dog New Tricks - Garbage", "url": "https://files.catbox.moe/5zta22.mp3" }, { "id": 6, "name": "Last Goodbye - Jeff Buckley", "url": "https://files.catbox.moe/fpzydt.mp3" } ] }, 1: { name: "A New Contract", tracklist: [ { "id": 7, "name": "Iron Man - The Cardigans", "url": "https://file.garden/aYjZLAM7UCBtT7eY/Iron%20Man.mp3" } ] }, 2: { name: "New Century", tracklist: [ { "id": 8, "name": "Careless Whisper - Wham!", "url": "https://file.garden/aYjZLAM7UCBtT7eY/George%20Michael%20-%20Careless%20Whisper%20(Remastered).mp3" } ] }, 3: { name: "Falling Down", tracklist: [ { "id": 9, "name": "Dear Prudence - Siouxsie and the Banshees", "url": "https://file.garden/aYjZLAM7UCBtT7eY/Siouxsie%20And%20The%20Banshees%20-%20Dear%20Prudence%20(Video).mp3" } ] }, 4: { name: "Breach of Contract", tracklist: [ { "id": 10, "name": "Black Star - Radiohead", "url": "https://file.garden/aYjZLAM7UCBtT7eY/Black%20Star.mp3" } ] }, 5: { name: "The Untouchables", tracklist: [ { "id": 11, "name": "Love Theme from Twin Peaks - Angelo Badalamenti", "url": "https://file.garden/aYjZLAM7UCBtT7eY/Love%20Theme%20from%20Twin%20Peaks%20(Instrumental).mp3" } ] }, 6: { name: "Us and Them", tracklist: [ { "id": 12, "name": "Swords and Knives - Tears for Fears", "url": "https://file.garden/aYjZLAM7UCBtT7eY/Swords%20And%20Knives.mp3" } ] }, } // Record cover images const trackImages = { 1: "https://files.catbox.moe/0gdec5.jpg", // Sabbath Bloody Sabbath 2: "https://fastly-s3.allmusic.com/release/mr0001505330/front/400/GAKLSQcqxWWEldpmhvQ3xN_M69_UI9rrJSVvWL2-yAg=.jpg", // Paid For Loving 3: "https://upload.wikimedia.org/wikipedia/en/a/ae/Death_Cab_for_Cutie_-_You_Can_Play_These_Songs_With_Chords.jpg", // This Charming Man 4: "https://e.snmc.io/i/300/w/ca39d13d49f3f9ea31f5815ee93444f3/11766199", // Heaven or Las Vegas 5: "https://upload.wikimedia.org/wikipedia/en/4/42/GarbageSTinternational.png", // Dog New Tricks 6: "https://upload.wikimedia.org/wikipedia/en/e/e4/Jeff_Buckley_grace.jpg", // Last Goodbye 7: "https://upload.wikimedia.org/wikipedia/en/0/09/FirstBandOnTheMoon.jpg", // Iron Man 8: "https://upload.wikimedia.org/wikipedia/en/7/7d/BlurParklife.jpg", // End of a Century 9: "https://upload.wikimedia.org/wikipedia/en/0/0f/Siouxsie_%26_the_Banshees-Hyaena.jpg", // Dear Prudence 10: "https://upload.wikimedia.org/wikipedia/en/5/55/Radioheadthebends.png", // Black Star 11: "https://upload.wikimedia.org/wikipedia/en/3/38/Soundtrack_From_Twin_Peaks.jpg", // Love Theme from Twin Peaks 12: "https://upload.wikimedia.org/wikipedia/en/d/dd/Seeds_of_LoveLP.jpg", // Swords and Knives }; // Track metadata keyed by track id const trackMeta = { 1: { genre: "Rock", year: "1993", album: "Emmerdale" }, 2: { genre: "Lounge", year: "1993", album: "Here's To the Losers" }, 3: { genre: "Rock", year: "1995", album: "You Can Play These Songs With Chords" }, 4: { genre: "Pop/Rock", year: "1990", album: "Heaven or Las Vegas" }, 5: { genre: "Rock", year: "1995", album: "Garbage" }, 6: { genre: "Rock", year: "1994", album: "Grace" }, 7: { genre: "Rock", year: "1996", album: "First Band on the Moon" }, 8: { genre: "Rock", year: "1994", album: "Parklife" }, 9: { genre: "Rock", year: "1983", album: "Hyaena" }, 10: { genre: "Rock", year: "1995", album: "The Bends" }, 11: { genre: "Score", year: "1990", album: "Music from Twin Peaks" }, 12: { genre: "Rock", year: "1989", album: "The Seeds of Love" }, }; setupMusicPlayer(); // If the player starts a new run without a full page refresh, allow ending music swaps again. try { if (campaignTrail_temp && typeof campaignTrail_temp.newGame === 'function' && !campaignTrail_temp._wrappedNewGame1996) { const _oldNewGame = campaignTrail_temp.newGame; campaignTrail_temp.newGame = function() { try { campaignTrail_temp._endingPlaylistSwapped1996 = false; } catch (_err) { /* ignore */ } return _oldNewGame.apply(this, arguments); }; campaignTrail_temp._wrappedNewGame1996 = true; } } catch (_err) { /* ignore */ } //#startcode corrr = '\n

    CONTRACT WITH AMERICA

    \n '; nct_stuff.themes[nct_stuff.selectedTheme].coloring_title = "#700016"; nct_stuff.themes[nct_stuff.selectedTheme].coloring_window = "#BFE6FF"; document.getElementsByClassName("game_header")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_title; $("#game_window")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_window; $(".container")[0].style.backgroundColor = "rgb(245 245 245 / 60%)"; document.getElementById("header").src = "https://i.imgur.com/xdSRaVd.png"; document.body.background = "https://i.imgur.com/ophDPh5.png"; document.head.innerHTML += ""; const style = document.createElement('style'); style.textContent = ` #campaign_sign { background-color: #0000D1; border-style: none; width: 100%; margin: 0 auto; text-align: center; height: 64%; background-image: url(https://file.garden/aYjZLAM7UCBtT7eY/gingrichbanner.png); } .game_header, .campaign_trail_start_emphasis { box-shadow: rgb(255, 255, 255) 0px 0px 7px; font-family: "times new roman"; } .container { background: #ffffff80; } .game_header { text-shadow: rgb(255, 255, 255) 0px 0px 7px; font-family: "times new roman"; margin-bottom: 4px; color: white; font-weight: bold; font-size: 18px; background: linear-gradient(rgb(97 0 0) 0%, rgb(113 0 0) 50%, rgb(150 0 0) 100%); outline: 1px solid black; border: none; } .base { font-family: 'Inter', sans-serif; background-size: 100% 100%; } #game_window { background-image: url(https://file.garden/aYjZLAM7UCBtT7eY/contract.png); border-radius: 0 0 8px 8px; } .below_header { opacity: 0.75; } .person_image img { height: 100%; width: 100%; } .person_image { float: left; margin: 0; border: none; border-color: #C9C9C9; height: 100%; width: 28%; margin-right: 1em; } #header { width: 966px; } #election_image { float: left; margin: 0; height: 100%; width: 35%; position: relative; margin-right: 1.7em; background: linear-gradient(270deg, rgba(222, 222, 222, 1) 0%, rgba(222, 222, 222, 0) 42%), url(https://i.imgur.com/j62YTZ0.png); } #election_image img { height: 0px; width: 0px; } #election_description_window { background-color: #dedede; height: 85%; margin: 1em; border-style: double; border-color: #C9C9C9; } .inner_window_w_desc { background-color: transparent !important; border-style: none !important; } .person_description_window li { display: none; } .inner_window_question { background-color: rgb(229 229 229); border-style: double; border-color: #c9c9c9; text-align: center; height: 20rem; position: relative; clear: both; border-radius: 0 0 6px 6px; box-shadow: inset 0 0 20px 20px #fff; } .inner_window_question h3 { margin: 0; border-color: #c9c9c9; background-color: #ffffff42; border: 1px solid #ababab; padding-left: 7px; padding-right: 7px; padding-top: 4px; padding-bottom: 4px; border-radius: 0 0 6px 6px; margin-bottom: 0.35em; box-shadow: inset 0 0 8px 10px #fff; } #campaign_sign p { display: none; } #map_container { border-color: transparent; background-color: transparent; } button { border: none; box-shadow: rgb(0 0 0) -1px -1px inset, rgb(222 222 222) 1px 1px inset, #696969 -2px -2px inset, rgb(214 214 214) 2px 2px inset; } select { background: rgb(232, 232, 232); box-shadow: rgb(0 0 0) -1px -1px inset, rgb(222 222 222) 1px 1px inset, #696969 -2px -2px inset, rgb(214 214 214) 2px 2px inset; } .overlay_window { position: absolute; background: #dedede; border-style: solid; border-color: #3e3e3e; min-height: 62%; width: 50%; top: 17%; left: 25%; z-index: 101; opacity: 0.95; height: auto; } .overlay_window h3 { margin: 0; padding: 1px; font-weight: 900; font-size: 1.7em; background-color: #007070; outline: solid; outline-color: #3e3e3e; color: whitesmoke; text-align: center; border: none; background: linear-gradient(90deg, rgb(0, 51, 51) 0%, rgba(0, 128, 128, 1) 100%); font-family: 'Instrument Serif', serif; letter-spacing: 1px; } .overlay_window p { padding: 0 1em; margin-block-start: 0.6em; margin-block-end: 0.6em; } .overlay_window_content { height: auto; font-weight: 700; min-height: 81%; } .inner_window_front ul { list-style-type: disc; list-style-position: inside; margin-top: .5em; margin-bottom: 1em; padding-right: 3em; } #state_info { height: 120%; } .campaign_trail_start_emphasis { padding: 0.8em; background-color: #a80000; } #game_start { font-weight: 900; padding-bottom: 4px; } .person_image img:hover { filter: brightness(1.03) drop-shadow(5px -1px 6px black) contrast(1.1); } .endingtitle { color: #000000 !important; text-align: center; font-size: 36px !important; margin-bottom: 0.3rem !important; font-family: "DM Serif Display", serif; font-weight: 400; font-style: italic; } .endingdate { color: #000000 !important; text-align: center; font-size: 18px !important; margin-top: 0 !important; font-family: "Inter", sans-serif; font-weight: 100; font-style: normal; margin-bottom: 0.7rem !important; } .ending-slide { background-color: #f5f5f5; padding: 36px; border: 3px solid black; box-shadow: inset 0 0 17px 4px #000000; margin: 1rem auto; max-width: 610px; margin-left: 16.42rem; color: #000000; } #results_container > .person_image { position: sticky; top: 1rem; float: left; margin: 1.2em 1em 5rem; border: ridge 3px black; height: 250px; width: auto; } #results_container { color: white; overflow: auto; height: 87%; scrollbar-width: none; border-bottom: 1px solid black; } #main_content_area, #main_content_area_reading { color: white; } #recommended_reading_box { width: 90%; margin-left: auto; margin-right: auto; border: medium double; background-color: #f9f9f9; padding-bottom: .5em; border-color: #c9C9C9; color: black; } #main_content_area_reading { overflow: auto; } `; document.head.appendChild(style); $(document).on('click', '#candidate_id_button', () => { $('#running_mate_id_button').click();}); $(document).on('click', '#opponent_selection_id_back', () => { $('#running_mate_id_back').click();}); $(document).on('click', '#opponent_selection_id_button', () => {}); campaignTrail_temp.achievements = { "The Power and the Glory": { "image": "https://upload.wikimedia.org/wikipedia/en/4/40/Gentle_Giant_-_The_Power_and_the_Glory.png", "description": "2 Revolutions and counting!", "cannotBeCheated": true }, "Demolition Man": { "image": "https://upload.wikimedia.org/wikipedia/en/2/2a/Ghost_In_The_Machine_cover.jpg", "description": "Relegate Clinton to history.", "cannotBeCheated": true }, "A Matter of Trust": { "image": "https://upload.wikimedia.org/wikipedia/en/a/af/The_bridge_billy_joel.jpg", "description": "Bury the hatchet with Dole and win.", "cannotBeCheated": true }, "Generation Swine": { "image": "https://upload.wikimedia.org/wikipedia/en/8/86/Generation_swine.jpg", "description": "Win with Gramm, despite, well, all of it.", "cannotBeCheated": true }, "It's Only Money": { "image": "https://upload.wikimedia.org/wikipedia/en/4/4b/Thin_Lizzy_-_Night_Life.jpg", "description": "Join the Church of the Almighty Dollar.", "cannotBeCheated": true }, "Sign of the Times": { "image": "https://upload.wikimedia.org/wikipedia/en/d/d7/Sign_of_the_Times_%28Bob_James_album%29.jpg", "description": "Integrate Black America into the political bloodstream.", "cannotBeCheated": true }, "Southern Nights": { "image": "https://upload.wikimedia.org/wikipedia/en/f/fc/Glen_Campbell_Southern_Nights_album_cover.jpg", "description": "Keep the faith with Dixie.", "cannotBeCheated": true }, "In You I Trust": { "image": "https://upload.wikimedia.org/wikipedia/en/1/11/Rupert_Holmes_-_Partners_In_Crime.jpg", "description": "Feed the RINOs — and win.", "cannotBeCheated": true }, "Love Theme From Twin Peaks": { "image": "https://upload.wikimedia.org/wikipedia/en/3/38/Soundtrack_From_Twin_Peaks.jpg", "description": "Only us under the sky.", "cannotBeCheated": true }, "Regulate": { "image": "https://upload.wikimedia.org/wikipedia/en/5/5b/Regulate_G_Funk_Era.jpg", "description": "Go all the way in the war on drugs.", "cannotBeCheated": true }, "Honesty": { "image": "https://upload.wikimedia.org/wikipedia/en/9/94/Billy_Joel_52nd_Street_album_cover.JPG", "description": "Make Gramm fess up.", "cannotBeCheated": true }, "God": { "image": "https://upload.wikimedia.org/wikipedia/en/a/ab/Yoko_Ono_POB.jpg", "description": "Reject the Christian Right.", "cannotBeCheated": true }, "Survival of the Fittest": { "image": "https://upload.wikimedia.org/wikipedia/en/e/e0/Mobbdeeptheinfamous1995.jpg", "description": "Bully Gore during the debates.", "cannotBeCheated": true }, "You Make Me Feel Like Dancing": { "image": "https://upload.wikimedia.org/wikipedia/en/d/d1/Leo_Sayer_-_Endless_Flight.jpg", "description": "Make a promise.", "cannotBeCheated": true }, "I Met A Little Girl": { "image": "https://upload.wikimedia.org/wikipedia/en/e/e8/Marvinhere-my-dear.jpg", "description": "Take someone's side, despite the risks.", "cannotBeCheated": true }, } HistHexcolour=["#0E34A5","#bb1d1d","#4b0cca","#07a528"]; HistName=[" Bill Clinton"," Newt Gingrich"," Ross Perot"," Ralph Nader"]; HistEV=["383","155","0","0"]; HistPV=["49 million","39 million","7 million","743,669"]; HistPVP=["52%","40%","7%","1%"]; //#endcode