O elemento de divisão HTML é um container genérico para conteúdo de fluxo, que de certa forma não representa nada. Ele pode ser utilizado para agrupar elementos para fins de estilos (usando class ou id), ou porque eles compartilham valores de atributos, como lang.
Uma forma de conseguir colocar as divs lado a lado é fazer a última flutuar a direita também, você pode usar float: right; na de baixo. Você pode encontrar aqui outras formas de solucionar. A melhor delas é definir um font-size: 0; numa div pai e depois, nas duas divs filhas, colocar o font-size desejado.
Você precisa usar width e display: inline-block; do CSS. Se vc quiser não precisa usar float ou display:inline-block . Eu sugiro que use FlexBox porque é mais fácil ao meu ver de alinhar os itens.
O eixo X move os elementos horizontalmente e o eixo Y move os elementos verticalmente. Para deixar uma à frente da outra precisamos alterar o eixo Z dela.
A tag div quando é criada por padrão tem o atributo em css "display:block". Todas as tags div vão ter essa característica, portanto ficaram na mesma linha. Assim, desde que as divs consigam estar na mesma linha ficam seguidas, se não existir espaço vão para a linha abaixo.
Para dividir uma DIV em duas colunas, basta considerar que a largura (width) total da tela é de 100%, logo, se queremos duas colunas então teremos outras duas DIVs de 50% de largura cada. O código CSS a seguir cria uma DIV com 50% de largura.
Para ter duas imagens, uma em cada margem, numa mesma linha, escreva: