Disk Utility can't find free space and Recovery Mode can't resize
Your EFI is missing in the partition table - the content should be still there though - and the Recovery HD's partition has the wrong type.

To salvage this you just have to rewrite the GUID partition table:


Boot to Internet Recovery Mode
Open Terminal in the menubar > Utilities > Terminal
Enter diskutil list and with the disk identifier of the internal disk found there: gpt -r show diskX. Usually it's disk0 - below I assume it's disk0. Use the disk identifier you have found in your environment in the commands below!
Unmount the internal disk:

diskutil umountDisk /dev/disk0

Remove all partitions:

gpt remove -i 1 /dev/disk0 
gpt remove -i 2 /dev/disk0 

Re-add all partitions:

gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
gpt add -b 391759648 -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
gpt add -b 409640 -i 2 -s 391350008 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0       

Verify disk and main volume and repair it if necessary:

diskutil verifyDisk /dev/disk0
diskutil verifyVolume /dev/disk0s2

Resize the main volume:

diskutil resizeVolume /dev/disk0s2 100% #or 250g

Reboot to your main volume