As the US reels from another school shooting, more details are emerging of the horror that unfolded in Texas near the border with Mexico.
Witnesses have described traumatised children covered in blood being hugged by parents. Others had to come to terms with devastating news of the deaths of loved ones.
But Tuesday began much like any other weekday in May in Uvalde, about 80 miles (130km) west of San Antonio.
Around 08:00 local time, near the centre of the town, some 600 students aged seven to 10 were arriving at Robb Elementary School.
The summer holidays were fast approaching and many children were savouring their final days in middle school before graduation.
How the shooting began
That morning on the other side of town Salvador Ramos fired the opening shots of one of America's deadliest mass shootings.
Described as a loner, from a "fraught home life", and bullied over a speech impediment - the 18-year-old shot his grandmother in the face before fleeing the scene in a battered truck carrying guns and copious ammunition.
According to CBS News, Ramos' grandmother, who survived but is in a critical condition, was only discovered after the shooting at the school, when officers arrived at her home to investigate.
After driving erratically across town Ramos eventually crashed his car into a ditch near Robb Elementary School at around 11:30am, police said. Some bystanders approached the car to offer assistance.
"People thought that he was in trouble and so they jumped out to help him and he came out of his vehicle and started shooting at them," one person told the Spanish language network Telemundo.
A police officer who works at the school was also in the vicinity although there are conflicting accounts over whether Ramos and the officer exchanged fire. Ramos did fire on two arriving Uvalde police department officers, according to the Associated Press quoting Travis Considine, a state official.
The two police officers were reported injured from the encounter.
Video shared on social media showed a person clad in black jogging toward a side door of the school carrying what appeared to be a rifle.
State official Chris Olivarez told CNN that Ramos then forced his way into a fourth-grade classroom.
As police arrived at the scene, Ramos barricaded himself in the classroom and prepared for a showdown with law enforcement officials.
It was there that children were "shot and killed horrifically, incomprehensibly", according to Texas Governor Greg Abbott.
Mr Abbott said 17 people suffered non-life-threatening injuries. The wounded included "multiple children" who survived the gunfire in their classroom, local authorities reported.
All 21 people killed by the gunman were later found in the room.
The gunman was in the school for roughly one hour, police said.
Ramos is believed to have purchased two semi-automatic rifles immediately after turning 18 last week.
Officials later confirmed that he had legally bought two rifles and 375 rounds of ammunition in the days leading up to the shooting.
After the gunman entered the school, police surrounded the building, smashing windows to allow children and staff to escape.
Witnesses reported seeing children clambering out of nearby windows and seeking shelter at a funeral home nearby as the shooting began.
Others, led by two teachers, escaped from the building and hid behind some trees at the rear of the school.
Marcela Cabralez, a local pastor, told the Washington Post that her nine-year-old granddaughter was eating her lunch with other students when she heard noise coming from outside, including shots and breaking glass.
Teachers shepherded children behind a curtain, where they all hid, desperately trying to avoid attracting the shooter's attention. Ms Cabralez's granddaughter hid in a bathroom.
Another teacher, Eva Mireles, was shot and killed by the gunman while trying to protect her students.
Adolfo Hernandez told the New York Times that his nephew had been in a classroom near where the shooting had taken place.
"He actually witnessed his little friend get shot in the face," Mr Hernandez said. The friend, he said, "got shot in the nose and he just went down, and my nephew was devastated".
According to witnesses, onlookers had urged officers to enter the building soon after the attack had begun.
Javier Cazares, the father of fourth grader Jacklyn Cazares who was killed, said he was upset that officers had not moved in after he arrived at the school and saw police gathering outside.
"There were more of them. There was just one of him," he said.
Steve McCraw, the director of the Texas Department of Public Safety said that officers did engage immediately and contain Ramos in the classroom.
"The bottom line is law enforcement was there," he said.
Speaking to reporters he also said that a tactical team engaged Ramon 40 to 60 minutes after the gunman's initial encounter with the school police officer.
On the condition of anonymity, an official familiar with the investigation has said that Border Patrol agents had difficulty breaching the classroom and had to get a member of staff to open the door with a key.
The massacre finally came to an end shortly after 13:00, when a Border Patrol officer shot Ramos in the head. State officials said officers had contained the gunman inside adjoining classrooms, and eventually were able to breach the room he was in.
Seven 30-round magazines belonging to the teenager were later found at the school.
Children were rushed to a local community centre about a mile from the school and Mr Sotelo said he saw several teachers and children emerging sobbing and injured.
"We saw a little girl full of blood and the parents were screaming, it was an ugly scene," Derek Sotelo, a resident who runs a local auto-repair shop shop, told the Washington Post. "They were just little kids."
'Don't take a second for granted'
As police began investigating, a frantic scene was emerging at the school as parents arrived seeking news.
Journalists at the scene reported hearing cries and sobs as family members who gathered there received the devastating news that their children had been killed.
Angel Garza wrote on Facebook that his 10-year old daughter Amerie had been killed.
"My little love is now flying high with the angels above. Please don't take a second for granted. Hug your family. Tell them you love them," he wrote on Facebook.
And Lisa Garter mourned the death of her 10-year-old son Xavier Javier Lopez.
Xavier Lopez, 10. He was a 4th grader at Robb Elementary. His family confirms he died in today’s school shooting. pic.twitter.com/Qp2JatwZ4O— Dillon Collier (@dilloncollier) May 25, 2022
"He was just a loving 10-year-old little boy, just enjoying life, not knowing that this tragedy was going to happen today," she said.
Others, left in limbo by the chaos surrounding the events, were asked to give DNA samples to help identify some of the young victims.
Jesse Rodriguez told the San Antonio Express that he was still waiting for information about his daughter after hearing she could have been taken to hospital.
"I was waiting for more info. Nobody called me back," he said. "The hospital's closing me out right now."
'You can't comprehend evil like this'
Later, as night fell in Uvalde, police stood watch in the pouring rain outside a community centre where families had earlier gathered to seek news of their loved ones.
Just blocks away, a small vigil was taking place.
Karla Bohman's voice cracked as she told the group about a family friend whose young daughter, a student at the school, was among those still unaccounted for.
"They don't know if she's in surgery or one of the fatalities, but they know she's a victim of some sort because she's missing," Bohman cried. "I can't believe this."
Cheryl Juhasz, a lifelong resident of Uvalde, quietly wept during the prayer.
"You can't comprehend evil like this. No matter where it happens, but it's harder when it happens at home."