I misunderstood your 2nd question. You refered to header image, I mistook it as logo image.
For header image, usually theme will use page/post featured image as header image. Did you try assigning featured image for each page? This is how most themes work. Also check theme option thoroughly.
If theme doesn’t have that option, and assigning featured image doesn’t set header image, we can use CSS to fix it.
But before we get to it, please note that this theme uses header image as background to cover the header area. The reason the image looks kind of okay in front page and not as okay in other pages (get cropped) because there are more text in this area of front page. Using different image for other pages can fix this but it will never be perfect, because the area’s height is set by the amount of text and vertical padding, background image will get displayed (exposed) based on this height. So it will always get cropped somehow.
This code below is a simple fix to add more vertical padding to header area (for pages other than front page), this will expose more background image (get cropped less). So try this code first, it doesn’t require different image.
body:not(.home) .hero { padding-top:300px; padding-bottom: 20px; }
I believe the above code will fix the problem already but if it doesn’t satisfy you, use this code below.
body:not(.home) .site-header {
background-image: url(https://dummyimage.com/1000x250/ff0000/0011ff.png)!important;
}
@media only screen and (min-width: 55.063em) {
body:not(.home) .site-header {
background-image: url(https://dummyimage.com/2000x500/ff0000/0011ff.png)!important;
}
}
Just replace the image url. First one is for small screen, the second one is for big screen.
As a sidenote, the :not
is not well supported yet when used like that, but it works tested with latest Firefox, Chrome, in Windows 10.