Header has extra HTML block at top before my code

I am really not sure what’s causing this. Can you try with a minimal content in header.php? Something like this and see if the problem occurs?

<!doctype html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>  

And, meta tags doesn’t support class attributes like you have in line 11.