Most likely you are calling it before the elements are on the page. Use dom ready.
$(function() {
var c = jQuery(window).width();
console.log(c);
if (c >= 820){
jQuery(".bio-block:nth-child(odd)").each(function() {
jQuery(".bio-image").before(jQuery(".bio-text"));
});
} else {
jQuery(".bio-block:nth-child(odd)").each(function() {
jQuery(".bio-image").after(jQuery(".bio-text"));
});
}
});
other option is to include the script tag at the end of the body instead of in the head.